From 9b4b7e99b6ef913e6a5c54b5ef8598674b32abbe Mon Sep 17 00:00:00 2001 From: aibingbing Date: Mon, 4 Dec 2023 20:15:35 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=87=AA=E4=B8=BB=E7=AE=97=E8=B7=AF=E9=AA=8C?= =?UTF-8?q?=E8=AF=81]=20refactor:=20=E7=AE=97=E8=B7=AF=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=20=E9=AB=98=E5=BE=B7=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E8=B7=9D=E7=A6=BB=EF=BC=8C=E6=97=B6=E9=97=B4=E4=B8=8D=E5=87=86?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/map/AmapNaviToDestinationModel.java | 3 ++- .../och/taxi/ui/routing/TaxiRoutingFragment.kt | 8 +++++--- .../ui/routing/TaxiRoutingFragmentViewModel.kt | 3 +++ .../com/mogo/och/taxi/ui/task/TaxiTaskModel.kt | 15 ++++++++++++--- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/map/AmapNaviToDestinationModel.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/map/AmapNaviToDestinationModel.java index d49a3f7a34..a5bea903ec 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/map/AmapNaviToDestinationModel.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/map/AmapNaviToDestinationModel.java @@ -78,7 +78,7 @@ public class AmapNaviToDestinationModel implements AMapNaviListener { public void setVoiceIsMute(boolean isPlay) { ThreadUtils.getSinglePool().execute(() -> { if (mAMapNavi == null) return; - CallerLogger.i(TAG, "setVoiceIsMute()--"+isPlay); + CallerLogger.i(TAG, "setVoiceIsMute()--" + isPlay); this.isPlay = isPlay; if (isPlay) { mAMapNavi.startSpeak(); @@ -108,6 +108,7 @@ public class AmapNaviToDestinationModel implements AMapNaviListener { } public void setTaxiNaviChangedCallback(ICommonNaviChangedCallback callback) { + CallerLogger.i(TAG, "setTaxiNaviChangedCallback()"); this.mNaviChangedCallback = callback; } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragment.kt index e09caa978c..9b910b80b8 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragment.kt @@ -10,6 +10,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02Lis import com.mogo.eagle.core.function.main.MainMoGoApplication import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.map.AmapNaviToDestinationModel import com.mogo.och.common.module.map.ICommonNaviChangedCallback @@ -97,7 +98,6 @@ class TaxiRoutingFragment : BaseFragment(), ICommonNaviChangedCallback { when (routingUiState) { is RoutingUIState.Init -> { showChooseTaskView() - AmapNaviToDestinationModel.getInstance(context).destroyAmaNavi() } is RoutingUIState.RoutingTask -> { @@ -181,7 +181,6 @@ class TaxiRoutingFragment : BaseFragment(), ICommonNaviChangedCallback { startStationName.text = data.grayLineBean?.startSite?.siteName endStationName.text = data.grayLineBean?.endSite?.siteName - } private fun showFinishTaskView(routingTask: RoutingUIState.RoutingTask) { @@ -315,7 +314,10 @@ class TaxiRoutingFragment : BaseFragment(), ICommonNaviChangedCallback { val endNaviLatLng = NaviLatLng(stationLat, stationLng) AmapNaviToDestinationModel.getInstance(context).initAMapNavi(startNaviLatLng, endNaviLatLng) AmapNaviToDestinationModel.getInstance(context).setVoiceIsMute(isVoicePlay) - AmapNaviToDestinationModel.getInstance(context).setTaxiNaviChangedCallback(this) + // 怀疑在线程池执行的destroyAmaNavi会比 主线程执行的setTaxiNaviChangedCallback慢,导致setTaxiNaviChangedCallback(this)会被冲掉 + ThreadUtils.getSinglePool().execute { + AmapNaviToDestinationModel.getInstance(context).setTaxiNaviChangedCallback(this) + } } override fun onCurrentNaviDistAndTimeChanged(meters: Int, timeInSecond: Long) { diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragmentViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragmentViewModel.kt index 7a105e7096..2d6e900f96 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragmentViewModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragmentViewModel.kt @@ -7,6 +7,7 @@ import com.mogo.commons.module.status.MogoStatusManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.mogo.och.common.module.map.AmapNaviToDestinationModel import com.mogo.och.taxi.base.BaseViewModel import com.mogo.och.taxi.base.IUiIntent import com.mogo.och.taxi.bean.GrayLineBean @@ -149,6 +150,8 @@ class TaxiRoutingFragmentViewModel : BaseViewModel