[自主算路验证] refactor: 算路验证模式 高德导航距离,时间不准问题;
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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<TaxiRoutingUiState, TaxiRouti
|
||||
// 移除到站监听
|
||||
TaxiRoutingModel.removeAutoPilotStatusListener()
|
||||
TaxiRoutingModel.removeGDMapCurrentLocationListener()
|
||||
// 移除高德导航计算距离
|
||||
AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi()
|
||||
}
|
||||
|
||||
override fun onSubmitEndTaskFailed(errorStr: String) {
|
||||
|
||||
@@ -452,7 +452,7 @@ object TaxiTaskModel {
|
||||
)
|
||||
)
|
||||
// MAP返回route时关闭高德相关的
|
||||
AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi()
|
||||
destroyAmapNavi()
|
||||
mOrderStatusCallback?.onNaviToEnd(false, false)
|
||||
}
|
||||
}
|
||||
@@ -811,7 +811,7 @@ object TaxiTaskModel {
|
||||
|
||||
//订单到站结束轨迹剩余里程就算和高德计算, 防止到站查询订单全程的显示被覆盖
|
||||
setStationPoint(null, null, -1L)
|
||||
AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi()
|
||||
destroyAmapNavi()
|
||||
|
||||
mTaxiTaskWithOrderCallbackMap.forEach {
|
||||
val listener = it.value
|
||||
@@ -882,7 +882,7 @@ object TaxiTaskModel {
|
||||
fun clearLocalCalculateStation(){
|
||||
d(TAG, "updateLocalCalculateStation stop")
|
||||
if (mDriveToNearestStationTask == null){
|
||||
AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi()
|
||||
destroyAmapNavi()
|
||||
}
|
||||
setStationPoint(null, null, -1L)
|
||||
}
|
||||
@@ -1536,4 +1536,13 @@ object TaxiTaskModel {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun destroyAmapNavi() {
|
||||
if (MogoStatusManager.getInstance().isTaxiUnmanedDriverLineRoutingVerifyMode) {
|
||||
i(TAG, "destroyAmapNavi() 跳过,因为isTaxiUnmanedDriverLineRoutingVerifyMode=true")
|
||||
return
|
||||
}
|
||||
i(TAG, "destroyAmapNavi()")
|
||||
AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user