diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt index 5c042b397d..dad1aeca23 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt @@ -92,17 +92,9 @@ class LoginFragment : MvpFragment(), ILoginView override fun initViews() { CallerLogger.d(TAG, "init") + context?.let { - val videoUrl: String - if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) { - //aciv_login_bg.setImageResource(R.drawable.biz_login_bg_taxi_start) - biz_login_svp.setBackgroundResource(R.drawable.biz_login_bg_taxi_start) - videoUrl = SkinResources.getInstance().getRawMp4FilePath(R.raw.video_biz_login_taxi_bg) - } else { - //aciv_login_bg.setImageResource(R.drawable.biz_login_bg_bus_start) - biz_login_svp.setBackgroundResource(R.drawable.biz_login_bg_bus_start) - videoUrl = SkinResources.getInstance().getRawMp4FilePath(R.raw.video_biz_login_bus_bg) - } + Debuger.enable() biz_login_svp.setIsTouchWiget(false) @@ -110,73 +102,7 @@ class LoginFragment : MvpFragment(), ILoginView biz_login_svp.enableshowProgressDialog = false biz_login_svp.enableDoubleClick = false - viewColdStart.setColdStartResultListener(object : - ColdStartView.ColdStartResultListener { - override fun coldStartSuccess() { - gsyVideoOptionBuilder.setUrl(videoUrl) - .setCacheWithPlay(false) - .setPlayTag("TaxiPassengerArrivedView") - .build(biz_login_svp) - biz_login_svp.setVideoAllCallBack(object : GSYSampleCallBack() { - override fun onAutoComplete(url: String?, vararg objects: Any?) { - if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) { - biz_login_svp?.setBackgroundResource(R.drawable.biz_login_bg_taxi_end) - } else { - biz_login_svp?.setBackgroundResource(R.drawable.biz_login_bg_bus_end) - } - - } - }) - if (showLoginInfoAnimator1 == null) { - showLoginInfoAnimator1 = - ObjectAnimator.ofFloat(cl_login_info, "alpha", 0f, 1f) - showLoginInfoAnimator1?.interpolator = LinearInterpolator() - } - if (showLoginInfoAnimator2 == null) { - val dp2px = AutoSizeUtils.dp2px(AbsMogoApplication.getApp(), -50f) - showLoginInfoAnimator2 = ObjectAnimator.ofFloat( - cl_login_info, - "translationY", - 0f, - dp2px.toFloat() - ) - showLoginInfoAnimator2?.interpolator = DecelerateInterpolator() - } - UiThreadHandler.postDelayed({ - cl_login_info?.let { - val animatorSet = AnimatorSet() - animatorSet.playTogether(showLoginInfoAnimator1, showLoginInfoAnimator2) - animatorSet.duration = 500 - animatorSet.addListener(object : AnimatorListener { - override fun onAnimationStart(animation: Animator) { - cl_login_info?.visibility = View.VISIBLE - } - - override fun onAnimationEnd(animation: Animator) { - - } - - override fun onAnimationCancel(animation: Animator) { - - } - - override fun onAnimationRepeat(animation: Animator) { - - } - - }) - animatorSet.start() - } - }, 2_000, UiThreadHandler.MODE.QUEUE) - biz_login_svp.startPlayLogic() - } - - override fun coldStartFail() { - - } - - }) } inputPhoneNormal() @@ -325,11 +251,86 @@ class LoginFragment : MvpFragment(), ILoginView biz_cl_driver_main?.viewTreeObserver?.addOnGlobalLayoutListener(onlayoutListener) super.onResume() CallerLogger.d(TAG, "onResume") + context?.let { + val videoUrl:String + if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) { + //aciv_login_bg.setImageResource(R.drawable.biz_login_bg_taxi_start) + biz_login_svp.setBackgroundResource(R.drawable.biz_login_bg_taxi_start) + videoUrl = SkinResources.getInstance().getRawMp4FilePath(R.raw.video_biz_login_taxi_bg) + } else { + //aciv_login_bg.setImageResource(R.drawable.biz_login_bg_bus_start) + biz_login_svp.setBackgroundResource(R.drawable.biz_login_bg_bus_start) + videoUrl = SkinResources.getInstance().getRawMp4FilePath(R.raw.video_biz_login_bus_bg) + } + viewColdStart.setColdStartResultListener(object: ColdStartView.ColdStartResultListener{ + override fun coldStartSuccess() { + biz_login_svp?.let { + gsyVideoOptionBuilder.setUrl(videoUrl) + .setCacheWithPlay(false) + .setPlayTag("TaxiPassengerArrivedView") + .build(biz_login_svp) + + biz_login_svp?.setVideoAllCallBack(object : GSYSampleCallBack() { + override fun onAutoComplete(url: String?, vararg objects: Any?) { + if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)) { + biz_login_svp?.setBackgroundResource(R.drawable.biz_login_bg_taxi_end) + }else{ + biz_login_svp?.setBackgroundResource(R.drawable.biz_login_bg_bus_end) + } + + } + }) + if (showLoginInfoAnimator1 == null) { + showLoginInfoAnimator1 = ObjectAnimator.ofFloat(cl_login_info, "alpha", 0f, 1f) + showLoginInfoAnimator1?.interpolator = LinearInterpolator() + } + if (showLoginInfoAnimator2 == null) { + val dp2px = AutoSizeUtils.dp2px(AbsMogoApplication.getApp(), -50f) + showLoginInfoAnimator2 = ObjectAnimator.ofFloat(cl_login_info, "translationY", 0f, dp2px.toFloat()) + showLoginInfoAnimator2?.interpolator = DecelerateInterpolator() + } + UiThreadHandler.postDelayed({ + cl_login_info?.let { + val animatorSet = AnimatorSet() + animatorSet.playTogether(showLoginInfoAnimator1, showLoginInfoAnimator2) + animatorSet.duration = 500 + animatorSet.addListener(object :AnimatorListener{ + override fun onAnimationStart(animation: Animator) { + cl_login_info?.visibility = View.VISIBLE + } + + override fun onAnimationEnd(animation: Animator) { + + } + + override fun onAnimationCancel(animation: Animator) { + + } + + override fun onAnimationRepeat(animation: Animator) { + + } + + }) + animatorSet.start() + } + },2_000,UiThreadHandler.MODE.QUEUE) + biz_login_svp?.startPlayLogic() + } + } + + override fun coldStartFail() { + + } + + }) + } } override fun onPause() { biz_cl_driver_main?.viewTreeObserver?.removeOnGlobalLayoutListener(onlayoutListener) super.onPause() CallerLogger.d(TAG, "onPause") + viewColdStart.setColdStartResultListener(null) } } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/autopilot/AutopilotState.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/autopilot/AutopilotState.kt index 1ae3d57c97..5495ba79b8 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/autopilot/AutopilotState.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/autopilot/AutopilotState.kt @@ -74,6 +74,7 @@ class AutopilotState @JvmOverloads constructor( override fun onDetachedFromWindow() { super.onDetachedFromWindow() + autopilotStateAnimator?.release() } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/request/ShuttleEventRequest.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/request/ShuttleEventRequest.kt index c8409bfa72..0e10757b59 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/request/ShuttleEventRequest.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/request/ShuttleEventRequest.kt @@ -10,8 +10,8 @@ import com.mogo.och.weaknet.repository.db.bean.EventDataBean */ data class ShuttleEventRequest(val requestId: String, val sn: String, val businessType: Int,val eventList:MutableList){ companion object{ - val businessTypeShuttle = LoginStatusManager.getLoginInfo()?.businessType?:11 fun transformDb2Net(waitUpdateEvent: List): ShuttleEventRequest { + val businessTypeShuttle = LoginStatusManager.getLoginInfo()?.businessType?:11 val md5Hex = DigestUtils.md5Hex(waitUpdateEvent.toString()) val eventList4Request = mutableListOf() var tempEvent: Event?=null diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt index 57ff884c7e..1f4f04bf95 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt @@ -51,23 +51,21 @@ class ShuttleFragment : MvpFragment() { context?.let { if(RepositoryManager.supportDb()){ CallerEagleBaseFunctionCall4OchManager.addSingleToolKitDefaultItem(runningTaskGateWay,"本地缓存任务", R.drawable.bus_running_task_history,4) - } - CallerEagleBaseFunctionCall4OchManager.addToolKitDefaultItemClickListener(runningTaskGateWay,object : - IToolKitItemClickListener{ - override fun onItemClick(toolTag: String, ctx: Context?) { - when (toolTag) { - runningTaskGateWay -> { - d(TAG, "runningTaskGateWay:$runningTaskGateWay---toolTag:$toolTag") - RunningTaskManager.showBadCaseConfigWindow(it) + CallerEagleBaseFunctionCall4OchManager.addToolKitDefaultItemClickListener(runningTaskGateWay,object : + IToolKitItemClickListener{ + override fun onItemClick(toolTag: String, ctx: Context?) { + when (toolTag) { + runningTaskGateWay -> { + d(TAG, "runningTaskGateWay:$runningTaskGateWay---toolTag:$toolTag") + RunningTaskManager.showBadCaseConfigWindow(it) + } } } - } - }) - CallerEagleBaseFunctionCall4OchManager.addSingleToolKitCustomItem(lineView, LineView(it),10) + }) + CallerEagleBaseFunctionCall4OchManager.addSingleToolKitCustomItem(lineView, LineView(it),10) + } } - initListener() - } override fun initViews(savedInstanceState: Bundle?) { @@ -88,7 +86,6 @@ class ShuttleFragment : MvpFragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - EventBus.getDefault().register(this) return super.onCreateView(inflater, container, savedInstanceState) } @@ -112,35 +109,17 @@ class ShuttleFragment : MvpFragment() { if (mPresenter != null) { mPresenter!!.onDestroy(this) } + if(ProjectUtils.isSaas()&& AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { + CallerEagleBaseFunctionCall4OchManager.removeToolkitByTag(mutableListOf(lineView)) + CallerEagleBaseFunctionCall4OchManager.removeToolKitDefaultItemClickListener(lineView) + } super.onDestroyView() - CallerAutopilotRecordListenerManager.removeListener(TAG) - EventBus.getDefault().unregister(this) } - private fun initListener() { - } - - override fun onDestroy() { super.onDestroy() } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun changeOverview(eventLogout: EventLogout) { - when (eventLogout.messgae) { - EventLogout.SHOW_QR_TYPE-> { //显示二维码 - - } - EventLogout.SHOW_WAIT_UPLOAD_TASK-> { - context?.let { - RunningTaskManager.showBadCaseConfigWindow(it) - } - } - else -> {} - } - } - /** * END */ diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt index 5f23049ae2..2a2482e8ef 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt @@ -46,7 +46,7 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba companion object { - const val TAG = "BadCaseManagerView" + const val TAG = "SwitchLineView" } private var viewModel:SwtichLineModel?=null @@ -120,6 +120,12 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba } viewModel?.setDistanceCallback(this) + CallerLogger.d(TAG,"onAttachedToWindow") + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerLogger.d(TAG,"onDetachedFromWindow") } override fun startTaskState(success: Boolean) { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt index 0505f4abe0..e3b2375dea 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt @@ -5,6 +5,7 @@ import com.mogo.commons.env.ProjectUtils import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.RxUtils @@ -33,6 +34,7 @@ class SwtichLineModel : ViewModel(), IBusLinesCallback { override fun onCleared() { + CallerLogger.d(TAG,"onCleared") LineModel.setBusLinesCallback(TAG,null) } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt index 9814ec1b0a..7867df9029 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt @@ -186,6 +186,8 @@ class TaxiFragment :MvpFragment(), it.removeAllLines() it.removeAllPoints() } + CallerEagleBaseFunctionCall4OchManager.removeToolkitByTag(mutableListOf(lineView)) + CallerEagleBaseFunctionCall4OchManager.removeToolKitDefaultItemClickListener(lineView) startAutopilotAnimationView.cancelCountdown() super.onDestroyView() } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/coldstart/ColdStartAnalyticsManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/coldstart/ColdStartAnalyticsManager.kt index 5c38c979ca..a401fa612b 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/coldstart/ColdStartAnalyticsManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/coldstart/ColdStartAnalyticsManager.kt @@ -59,7 +59,7 @@ object ColdStartAnalyticsManager { coldStartParams[eventParamLatitude] = latitude coldStartParams[eventParamLongitude] = longitude coldStartParams[eventParamStep] = step - coldStartParams[eventParamReason] = + coldStartParams[eventParamReason] = reason MogoAnalyticUtils.track(coldStartStep,coldStartParams) } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt index 4b668a16ea..2e5cb4bc88 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/FaultReasonView.kt @@ -544,6 +544,7 @@ class FaultReasonView @JvmOverloads constructor( override fun onVisibilityAggregated(isVisible: Boolean) { super.onVisibilityAggregated(isVisible) if(visibility == View.VISIBLE){ + CallerDevaToolsListenerManager.addListener(TAG, this) //获取一级分类 CallerDevaToolsManager.getCategories(BadCaseConfig.tenantId, 1, 0, type, 0) //弹窗展示时间 @@ -585,4 +586,14 @@ class FaultReasonView @JvmOverloads constructor( } } + override fun onAttachedToWindow() { + super.onAttachedToWindow() + CallerDevaToolsListenerManager.addListener(TAG, this) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerDevaToolsListenerManager.removeListener(TAG) + } + } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/WorkOrderView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/WorkOrderView.kt index 300ef9914d..956d063d61 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/WorkOrderView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/WorkOrderView.kt @@ -344,6 +344,7 @@ class WorkOrderView @JvmOverloads constructor( override fun onVisibilityChanged(changedView: View, visibility: Int) { super.onVisibilityChanged(changedView, visibility) if(visibility == View.VISIBLE){ + CallerDevaToolsListenerManager.addListener(TAG, this) //弹窗展示时间 tv_work_order_time.text = millis2String(System.currentTimeMillis(), TimeUtils.getHourMinSecondFormat()) @@ -364,7 +365,16 @@ class WorkOrderView @JvmOverloads constructor( //重置工单问题类型 workOrderType = "" } + } + override fun onAttachedToWindow() { + super.onAttachedToWindow() + CallerDevaToolsListenerManager.addListener(TAG, this) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerDevaToolsListenerManager.removeListener(TAG) } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt index 9e9cd27db8..1750383276 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt @@ -486,6 +486,10 @@ class MoGoHmiProvider : IMoGoHmiProvider { ToolKitDataManager.addListener(TAG, listener) } + override fun removeToolKitDefaultItemClickListener(tag: String) { + ToolKitDataManager.removeListener(TAG) + } + /** * 增加单个默认样式的工具箱item * @param toolTag 唯一标识tag,和前面toolTag重复的,默认不添加,跳过 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt index fb71bff54c..3cab96f7dd 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt @@ -534,7 +534,7 @@ class OperatePanelLayout : LinearLayout { val isPressed = preference.extras.getBoolean("is_pressed", true) if (!isPressed) { preference.extras.remove("is_pressed") - return true + return false } val isChecked = newValue as? Boolean ?: false hmiAction("SOP 演示模式开关, ", !FunctionBuildConfig.isDemoMode) @@ -545,18 +545,21 @@ class OperatePanelLayout : LinearLayout { if (!FunctionBuildConfig.isDemoMode) { //关闭美化模式时,通知工控机 CallerAutoPilotControlManager.setIPCDemoMode(FunctionBuildConfig.isDemoMode) } + return true } KEY_RECORD_BAG_DIALOG -> { val isChecked = newValue as? Boolean ?: false FunctionBuildConfig.isShowBagRecordWindow = isChecked hmiAction("SOP 是否展示录包弹窗, ", isChecked) clickEventAnalytics("录包弹窗", isChecked) + return true } KEY_TAKE_OVER_WAKE -> { val isChecked = newValue as? Boolean ?: false FunctionBuildConfig.isTakeoverRemind = isChecked hmiAction("SOP 是否展示接管提醒, ", isChecked) clickEventAnalytics("接管提醒", isChecked) + return true } } return super.onPreferenceChange(preference, newValue) @@ -810,6 +813,7 @@ class OperatePanelLayout : LinearLayout { CallerLogger.d(TAG, "发送开关数据:${isChecked}到乘客屏") CallerTelematicManager.sendMsgToAllClients(TelematicConstant.WEATHER_SWITCH_STATUS, (if (isChecked) "1" else "0").toByteArray()) clickEventAnalytics("天气效果开关", isChecked) + return true } KEY_SYSTEM_BOOT_STATUS_SHOW -> { val isChecked = newValue as? Boolean ?: false @@ -817,6 +821,7 @@ class OperatePanelLayout : LinearLayout { clickEventAnalytics("系统启动状态展示", isChecked) HmiBuildConfig.isShowConnectionProgressView = isChecked CallerHmiViewControlListenerManager.updateConnectionProgressView(isChecked) + return true } KEY_SWEEPER_CLOUD_CONTROL -> { val isChecked = newValue as? Boolean ?: false @@ -836,6 +841,7 @@ class OperatePanelLayout : LinearLayout { confirmDialog.showSweeperModeChangeConfirmDialog() } clickEventAnalytics("清扫云控业务", isChecked) + return true } } return super.onPreferenceChange(preference, newValue) @@ -1217,7 +1223,7 @@ class OperatePanelLayout : LinearLayout { val isPressed = preference.extras.getBoolean("is_pressed", true) if (!isPressed) { preference.extras.remove("is_pressed") - return true + return false } val isChecked = newValue as? Boolean ?: false hmiAction("SOP 雨天模式开关, ", isChecked) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt index 4bfa3359a3..01a6d44932 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt @@ -30,6 +30,7 @@ import com.zhjt.mogo_core_function_devatools.coldstart.ColdStartNodeAdapter import kotlinx.android.synthetic.main.view_cold_start.view.ivColdStartNow import kotlinx.android.synthetic.main.view_cold_start.view.ivColdStartStatus import kotlinx.android.synthetic.main.view_cold_start.view.ivIpcConnectStatus +import kotlinx.android.synthetic.main.view_cold_start.view.ivNodeListMask import kotlinx.android.synthetic.main.view_cold_start.view.ivSsmConnectStatus import kotlinx.android.synthetic.main.view_cold_start.view.rvNodeList import kotlinx.android.synthetic.main.view_cold_start.view.tvColdStartContent @@ -110,7 +111,6 @@ class ColdStartView @JvmOverloads constructor( //保存点击时间 ColdStartConfig.setColdStartNowState(System.currentTimeMillis()) } - } override fun onAttachedToWindow() { @@ -123,6 +123,11 @@ class ColdStartView @JvmOverloads constructor( super.onDetachedFromWindow() CallerAutoPilotStatusListenerManager.removeListener(TAG) CallerColdStartStateListenerManager.removeListener(TAG) + ipcRotationAnim?.cancel() + ssmRotationAnim?.cancel() + connectSSMTimer?.cancel() + coldStartRotationAnim?.cancel() + connectColdStartTimer?.cancel() } override fun onAutopilotIpcConnectStatusChanged( @@ -285,6 +290,13 @@ class ColdStartView @JvmOverloads constructor( //记录冷启动成功时间 ColdStartConfig.setColdStartSuccessTime(System.currentTimeMillis()) } + if(it.eventStatus == SsmInfo.CSState.COLD_START_UNREADY || it.eventStatus == SsmInfo.CSState.COLD_START_TIMEOUT){ + //展示冷启动失败视图 + showColdStartFailView() + //冷启动失败埋点统计 + reason = "SSM返回冷启动失败" + ColdStartAnalyticsManager.coldStartStepAnalytics(ColdStartAnalyticsManager.coldStartFail,reason) + } tvColdStartContent.text = getColdStartEventStatus(it.eventStatus) nodeList.clear() it.nodeList.forEach {node-> @@ -335,7 +347,7 @@ class ColdStartView @JvmOverloads constructor( } // 超时 SsmInfo.CSState.COLD_START_TIMEOUT->{ - "系统启动异常,建议重启车辆并上报问题" + "系统启动超时,建议重启车辆并上报问题" } } } @@ -399,9 +411,14 @@ class ColdStartView @JvmOverloads constructor( viewColdStartDivider.visibility = View.GONE ivColdStartStatus.visibility = View.GONE tvColdStartContent.visibility = View.GONE + rvNodeList.visibility = View.GONE + ivNodeListMask.visibility = View.GONE //域控连接成功埋点统计 reason = "域控连接成功" ColdStartAnalyticsManager.coldStartStepAnalytics(ColdStartAnalyticsManager.ipcConnectSuccess,reason) + ssmConnectStatus = false + coldStartStatus = false + newColdStart = false } /** @@ -426,6 +443,8 @@ class ColdStartView @JvmOverloads constructor( viewColdStartDivider.visibility = View.GONE ivColdStartStatus.visibility = View.GONE tvColdStartContent.visibility = View.GONE + rvNodeList.visibility = View.GONE + ivNodeListMask.visibility = View.GONE //域控连接失败埋点统计 this.reason = "域控连接失败:$failReason" ColdStartAnalyticsManager.coldStartStepAnalytics(ColdStartAnalyticsManager.ipcConnectFail,reason) @@ -451,6 +470,8 @@ class ColdStartView @JvmOverloads constructor( viewColdStartDivider.visibility = View.GONE ivColdStartStatus.visibility = View.GONE tvColdStartContent.visibility = View.GONE + rvNodeList.visibility = View.GONE + ivNodeListMask.visibility = View.GONE } /** @@ -488,6 +509,8 @@ class ColdStartView @JvmOverloads constructor( viewColdStartDivider.visibility = View.VISIBLE ivColdStartStatus.visibility = View.VISIBLE tvColdStartContent.visibility = View.VISIBLE + rvNodeList.visibility = View.VISIBLE + ivNodeListMask.visibility = View.VISIBLE tvColdStartContent.text = "启动中…" ivColdStartStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_process)) //开启冷启动连接状态动画 @@ -610,7 +633,7 @@ class ColdStartView @JvmOverloads constructor( fun coldStartFail() } - fun setColdStartResultListener(listener: ColdStartResultListener){ + fun setColdStartResultListener(listener: ColdStartResultListener?){ coldStartResultListener = listener } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_cold_start_list_mask.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_cold_start_list_mask.xml new file mode 100644 index 0000000000..2154d7c428 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_cold_start_list_mask.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_cold_start.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_cold_start.xml index f3342afb73..cdfd7a10f0 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_cold_start.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_cold_start.xml @@ -110,17 +110,6 @@ android:layout_marginStart="@dimen/dp_15" /> - - + + + + - - \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/travelreality/TravelRealityModel.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/travelreality/TravelRealityModel.kt index c996b22223..0bc80b0696 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/travelreality/TravelRealityModel.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/travelreality/TravelRealityModel.kt @@ -141,20 +141,20 @@ class TravelRealityModel private constructor() { fun cancelAllRequest() { if (eventKey.isNotEmpty()) { - eventKey = "" cancel(eventKey) + eventKey = "" } if (deviceKey.isNotEmpty()) { - deviceKey = "" cancel(deviceKey) + deviceKey = "" } if (trackKey.isNotEmpty()) { - trackKey = "" cancel(trackKey) + trackKey = "" } if (liveKey.isNotEmpty()) { - liveKey = "" cancel(liveKey) + liveKey = "" } clearDownload() } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapBizView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapBizView.kt index eb3c275166..6cd150658b 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapBizView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapBizView.kt @@ -11,6 +11,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationWGS84Liste import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisStatesListener import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisStatesListenerManager +import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.map.MogoMap import com.mogo.map.MogoMapView import com.mogo.map.overlay.line.Polyline @@ -137,6 +138,10 @@ class MapBizView(context: Context?, attrs: AttributeSet?) : MogoMapView(context, // 先取消注册数据,再onDestroy CallerChassisLocationWGS84ListenerManager.removeListener(TAG) CallerChassisStatesListenerManager.removeListener(TAG) + CallerMapUIServiceManager.getOverlayManager()?.let { + it.removeAllLines() + it.removeAllPoints() + } super.onDestroy() } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapRoamView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapRoamView.kt index 2a3f9ebf14..c4251fc5d1 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapRoamView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapRoamView.kt @@ -146,6 +146,11 @@ class MapRoamView(context: Context?, attrs: AttributeSet?) : MogoMapView(context getUI()?.setVisible(false) } + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerMapAiCloudDataManager.removeListener(RoadCrossRoamView.TAG) + } + @ChainLog( linkChainLog = ChainConstant.CHAIN_TYPE_STATUS, linkCode = ChainConstant.CHAIN_SOURCE_ADAS, diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt index b705a6ef8b..a06852b5cd 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt @@ -250,6 +250,11 @@ interface IMoGoHmiProvider :IProvider{ */ fun addToolKitDefaultItemClickListener( tag: String, listener: IToolKitItemClickListener) + /** + * 移除 工具箱 item点击事件监听 (默认样式item的点击事件监听,自定义样式的item的点击交给view自己处理) + */ + fun removeToolKitDefaultItemClickListener( tag: String) + /** * 增加单个默认样式的工具箱item * @param toolTag 唯一标识tag,和前面toolTag重复的,默认不添加,跳过 diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt index 524801ef31..0b2960dfac 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt @@ -16,6 +16,11 @@ interface IEagleBaseFunctionCall4Och { */ fun addToolKitDefaultItemClickListener(tag: String, listener: IToolKitItemClickListener) + /** + * 移除 工具箱 item点击事件监听 (默认样式item的点击事件监听,自定义样式的item的点击交给view自己处理) + */ + fun removeToolKitDefaultItemClickListener(tag: String) + /** * 增加单个默认样式的工具箱item * @param toolTag 唯一标识tag,和前面toolTag重复的,默认不添加,跳过 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt index cd3d6461fc..09cfc17552 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt @@ -379,6 +379,13 @@ object CallerHmiManager { hmiProviderApi?.addToolKitDefaultItemClickListener(tag, listener) } + /** + * 移除 工具箱 item点击事件监听 (默认样式item的点击事件监听,自定义样式的item的点击交给view自己处理) + */ + fun removeToolKitDefaultItemClickListener(tag: String) { + hmiProviderApi?.removeToolKitDefaultItemClickListener(tag) + } + /** * 增加单个默认样式的工具箱item * @param toolTag 唯一标识tag,和前面toolTag重复的,默认不添加,跳过 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt index 49a6cb4c64..16848d7eeb 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt @@ -27,6 +27,13 @@ object CallerEagleBaseFunctionCall4OchManager : IEagleBaseFunctionCall4Och { CallerHmiManager.addToolKitDefaultItemClickListener(tag, listener) } + /** + * 移除 工具箱 item点击事件监听 (默认样式item的点击事件监听,自定义样式的item的点击交给view自己处理) + */ + override fun removeToolKitDefaultItemClickListener(tag: String) { + CallerHmiManager.removeToolKitDefaultItemClickListener(tag) + } + /** * 增加单个默认样式的工具箱item * @param toolTag 唯一标识tag,和前面toolTag重复的,默认不添加,跳过 diff --git a/gradle.properties b/gradle.properties index 3007e3600f..dfb14a8e00 100644 --- a/gradle.properties +++ b/gradle.properties @@ -83,7 +83,7 @@ MOGO_TELEMATIC_VERSION=1.4.7.42 MOGO_SKIN_VERSION=1.4.7.49.18-debug ######## MogoAiCloudSDK Version ######## # 自研地图 -MAP_SDK_VERSION=3.4.1.19 +MAP_SDK_VERSION=3.4.1.21 MAP_SDK_DATA_VERSION=1.0.0.9 MAP_SDK_OPERATION_VERSION=1.1.4.1 # websocket