[646] fix: 订单结束后 没清除全局轨迹 问题;
fix: 订单结束后清除全局轨迹时 同时清除 数据,等待下一个订单再次返回全局轨迹规划数据;
This commit is contained in:
@@ -11,7 +11,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
@JvmStatic
|
||||
fun setLineId(value: Int) {
|
||||
lineId = if (value < 0) {
|
||||
clearGlobalTrajectory()
|
||||
clearGlobalTrajectory(true)
|
||||
-1
|
||||
} else {
|
||||
value
|
||||
@@ -20,7 +20,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
@JvmStatic
|
||||
fun setLineId(value: Long) {
|
||||
lineId = if (value < 0) {
|
||||
clearGlobalTrajectory()
|
||||
clearGlobalTrajectory(true)
|
||||
-1
|
||||
} else {
|
||||
value.toInt()
|
||||
@@ -45,8 +45,8 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
return CallerMapGlobalTrajectoryDrawManager.hasDrawnGlobalTrajectory()
|
||||
}
|
||||
|
||||
fun clearGlobalTrajectory() {
|
||||
CallerMapGlobalTrajectoryDrawManager.clearGlobalTrajectory()
|
||||
fun clearGlobalTrajectory(isClearData: Boolean) {
|
||||
CallerMapGlobalTrajectoryDrawManager.clearGlobalTrajectory(isClearData)
|
||||
if (!hasDrawnGlobalTrajectory()){
|
||||
M_LISTENERS.forEach {
|
||||
it.value.clearLineSuccess()
|
||||
|
||||
@@ -36,7 +36,7 @@ class LineView : AppCompatImageView, LineViewModel.ILineViewCallback {
|
||||
|
||||
onClick {
|
||||
if (LineManager.hasDrawnGlobalTrajectory()) {
|
||||
LineManager.clearGlobalTrajectory()
|
||||
LineManager.clearGlobalTrajectory(false)
|
||||
} else {
|
||||
val drawGlobalTrajectory = LineManager.drawGlobalTrajectory()
|
||||
if (!drawGlobalTrajectory.first) {
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02Lis
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.ActivityUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||
import com.mogo.och.common.module.map.AmapNaviToDestinationModel
|
||||
import com.mogo.och.unmanned.taxi.base.BaseViewModel
|
||||
import com.mogo.och.unmanned.taxi.base.IUiIntent
|
||||
@@ -54,6 +55,9 @@ class TaxiRoutingFragmentViewModel : BaseViewModel<TaxiRoutingUiState, TaxiRouti
|
||||
)
|
||||
)
|
||||
}
|
||||
task.contrailBean?.lineId?.also {
|
||||
LineManager.setLineId(it)
|
||||
}
|
||||
// 设置灰度路线任务执行状态,切换模式时判断使用
|
||||
MogoStatusManager.getInstance()
|
||||
.setTaxiUnmanedDriverLineRoutingPerformTask(TAG, true)
|
||||
@@ -148,6 +152,7 @@ class TaxiRoutingFragmentViewModel : BaseViewModel<TaxiRoutingUiState, TaxiRouti
|
||||
TaxiRoutingModel.updateCurrentGrayLineAndContrail(null, null, -1L)
|
||||
// 设置灰度路线任务执行状态,切换模式时判断使用
|
||||
MogoStatusManager.getInstance().setTaxiUnmanedDriverLineRoutingPerformTask(TAG, false)
|
||||
LineManager.setLineId(-1)
|
||||
TaxiRoutingModel.startNaviToEndStationByAMap(false)
|
||||
// 移除到站监听
|
||||
TaxiRoutingModel.removeAutoPilotStatusListener()
|
||||
|
||||
@@ -243,6 +243,7 @@ class TaxiCurrentTaskViewModel : BaseViewModel<UnmannedState, TaskUiIntent>(),
|
||||
// 设置task执行相关状态,切换模式时判断使用
|
||||
if (result == null || result.taskType == TaskTypeEnum.None.code) {
|
||||
MogoStatusManager.getInstance().setTaxiUnmanedDriverPerformTask(TAG, false)
|
||||
LineManager.setLineId(-1)
|
||||
} else {
|
||||
MogoStatusManager.getInstance().setTaxiUnmanedDriverPerformTask(TAG, true)
|
||||
}
|
||||
@@ -338,6 +339,7 @@ class TaxiCurrentTaskViewModel : BaseViewModel<UnmannedState, TaskUiIntent>(),
|
||||
TaxiTaskModel.cancelAutopilot()
|
||||
// 设置task执行相关状态,切换模式时判断使用
|
||||
MogoStatusManager.getInstance().setTaxiUnmanedDriverPerformTask(TAG, false)
|
||||
LineManager.setLineId(-1)
|
||||
}
|
||||
|
||||
override fun onOrderArriveAtEnd(orderNo: String) {
|
||||
@@ -361,6 +363,7 @@ class TaxiCurrentTaskViewModel : BaseViewModel<UnmannedState, TaskUiIntent>(),
|
||||
}
|
||||
// 设置task执行相关状态,切换模式时判断使用
|
||||
MogoStatusManager.getInstance().setTaxiUnmanedDriverPerformTask(TAG, false)
|
||||
LineManager.setLineId(-1)
|
||||
}
|
||||
|
||||
override fun onStartAutopilot(postDelayTime: Long) {
|
||||
|
||||
@@ -1478,6 +1478,7 @@ object TaxiTaskModel {
|
||||
mCurrentTaskWithOrder = null
|
||||
mDriveToNearestStationTask = null
|
||||
DebugView.printInfoMsg("[登出] 退出登陆")
|
||||
LineManager.setLineId(-1)
|
||||
MogoStatusManager.getInstance().setTaxiUnmanedDriverPerformTask(TAG, false)
|
||||
MogoStatusManager.getInstance().setTaxiUnmanedDriverTakingOrders(TAG, false)
|
||||
MogoStatusManager.getInstance().setTaxiUnmanedDriverLineRoutingPerformTask(TAG, false)
|
||||
|
||||
@@ -82,10 +82,13 @@ public class MogoTrajectoryOverlayManager implements IMoGoPlanningRottingListene
|
||||
}
|
||||
}
|
||||
|
||||
public void clearTrajectoryOverlay() {
|
||||
public void clearTrajectoryOverlay(boolean isClearData) {
|
||||
CallerLogger.i(TAG, "clearTrajectoryOverlay");
|
||||
trackEvent("clearTrajectoryOverlay", "开始执行");
|
||||
TrajectoryOverlayDrawer.getInstance().clearMogoTrajectoryOverlay();
|
||||
if (isClearData) {
|
||||
queue.clear();
|
||||
}
|
||||
trackEvent("clearTrajectoryOverlay", "success");
|
||||
}
|
||||
|
||||
|
||||
@@ -35,8 +35,8 @@ class MogoTrajectoryOverlayProvider : IMoGoGlobalTrajectoryDrawListener {
|
||||
return Pair(result.first, result.second)
|
||||
}
|
||||
|
||||
override fun clearGlobalTrajectory() {
|
||||
MogoTrajectoryOverlayManager.getInstance().clearTrajectoryOverlay()
|
||||
override fun clearGlobalTrajectory(isClearData: Boolean) {
|
||||
MogoTrajectoryOverlayManager.getInstance().clearTrajectoryOverlay(isClearData)
|
||||
hasDrawn.set(false)
|
||||
CallerLogger.i(TAG, "clearGlobalTrajectory --> hasDrawn=$hasDrawn")
|
||||
}
|
||||
|
||||
@@ -18,5 +18,5 @@ interface IMoGoGlobalTrajectoryDrawListener : IProvider {
|
||||
/**
|
||||
* 清除高精地图中的全局轨迹
|
||||
*/
|
||||
fun clearGlobalTrajectory()
|
||||
fun clearGlobalTrajectory(isClearData: Boolean)
|
||||
}
|
||||
@@ -37,8 +37,8 @@ object CallerMapGlobalTrajectoryDrawManager {
|
||||
/**
|
||||
* 清除高精地图中的全局轨迹
|
||||
*/
|
||||
fun clearGlobalTrajectory() {
|
||||
provider?.clearGlobalTrajectory()
|
||||
fun clearGlobalTrajectory(isClearData: Boolean) {
|
||||
provider?.clearGlobalTrajectory(isClearData)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user