diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiControllerStatusCallback.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiControllerStatusCallback.java index c94cda3050..a2576ee2be 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiControllerStatusCallback.java +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiControllerStatusCallback.java @@ -22,4 +22,8 @@ public interface ITaxiControllerStatusCallback { //停止启动自动驾驶 void stopOpenAutopilotNonManual(); + + void pauseOpenAutopilotNonManual(); + + void resumeOpenAutopilotNonManual(); } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiFragment.kt index 0f96c2e571..25c61b6c7f 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiFragment.kt @@ -283,6 +283,15 @@ class TaxiFragment : BaseTaxiTabFragment(), findViewById(R.id.test_bar_route)?.setOnClickListener { testRouteInfoUpload() } + findViewById(R.id.test_brake)?.setOnClickListener { + TaxiTaskModel.handleBrakeStatusChange(false) + } + findViewById(R.id.test_resume_brake)?.setOnClickListener { + TaxiTaskModel.handleBrakeStatusChange(true) + } + findViewById(R.id.test_parallel_driver)?.setOnClickListener { + stopAutoStartAutopilot() + } } private fun testRouteInfoUpload() { diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java index 98cafa5a97..8b4ef9fda0 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/TaxiPresenter.java @@ -9,6 +9,7 @@ import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.mvp.Presenter; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; import com.mogo.och.common.module.biz.callback.ILoginCallback; @@ -170,10 +171,28 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS public void stopOpenAutopilotNonManual() { runOnUIThread(() -> { mView.startOrStopLoadingAnim(false); + mView.updateAutopilotStatus(CallerAutoPilotStatusListenerManager.INSTANCE.getState()); mView.stopAutopilotBlinkAnimation(); }); } + @Override + public void pauseOpenAutopilotNonManual() { + runOnUIThread(() -> { + mView.startOrStopLoadingAnim(false); + mView.updateAutopilotStatus(CallerAutoPilotStatusListenerManager.INSTANCE.getState()); + mView.pauseAutopilotBlinkAnimation(); + }); + } + + @Override + public void resumeOpenAutopilotNonManual() { + runOnUIThread(() -> { + mView.startOrStopLoadingAnim(true); + mView.resumeAutopilotBlinkAnimation(); + }); + } + @Override public void loginSuccess(DriverStatusQueryRespBean data) { diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt index 780d1ce758..0e0819ae40 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt @@ -273,8 +273,12 @@ object TaxiTaskModel { * brakeStatus: true: 恢复启动自驾 * false: 暂停启动自驾 */ - private fun handleBrakeStatusChange(brakeStatus: Boolean) { - + fun handleBrakeStatusChange(brakeStatus: Boolean) { + if (brakeStatus){ + mControllerStatusCallback?.resumeOpenAutopilotNonManual() + }else{ + mControllerStatusCallback?.pauseOpenAutopilotNonManual() + } } private val mMogoAutopilotStatusListener: IMoGoAutopilotStatusListener = @@ -1480,10 +1484,15 @@ object TaxiTaskModel { } fun stopAutoStartAutopilot() { - mControllerStatusCallback?.stopOpenAutopilotNonManual() - mTaxiTaskWithOrderCallbackMap.forEach { - val listener = it.value - listener.onStopAutopilot() + d( + TAG, "stopAutoStartAutopilot = ${mCurrentTaskWithOrder?.currentStatus}" + ) + if (QueryCurrentTaskRespBean.isGetTaskType(mCurrentTaskWithOrder)){ + mControllerStatusCallback?.stopOpenAutopilotNonManual() + mTaxiTaskWithOrderCallbackMap.forEach { + val listener = it.value + listener.onStopAutopilot() + } } } diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_debug_order.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_debug_order.xml index 024e110d95..09a3044e16 100644 --- a/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_debug_order.xml +++ b/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_debug_order.xml @@ -51,6 +51,27 @@ android:layout_height="wrap_content" android:text="Mock模拟轨迹" android:textSize="12sp" /> + +