From bfe85a223f66beffaea0c4368bfa2250278be26b Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Fri, 1 Sep 2023 18:34:15 +0800 Subject: [PATCH] =?UTF-8?q?[6.0.0]=20=E6=BC=94=E7=BB=83=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=BB=93=E6=9D=9F2=E5=88=86=E9=92=9F=E5=86=85=E6=8E=A5?= =?UTF-8?q?=E5=88=B0=E8=BF=90=E8=90=A5=E5=8D=95,=20120s=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E9=87=8D=E5=A4=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../callback/ITaxiTaskWithOrderCallback.kt | 2 +- .../taxi/ui/task/TaxiCurrentTaskFragment.kt | 4 +-- .../taxi/ui/task/TaxiCurrentTaskViewModel.kt | 12 ++----- .../mogo/och/taxi/ui/task/TaxiTaskModel.kt | 33 +++++++++++++++---- 4 files changed, 31 insertions(+), 20 deletions(-) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiTaskWithOrderCallback.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiTaskWithOrderCallback.kt index a5cbefd872..59992d55aa 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiTaskWithOrderCallback.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiTaskWithOrderCallback.kt @@ -13,5 +13,5 @@ interface ITaxiTaskWithOrderCallback { fun onOrderJourneyCompleted() fun onStartAutopilot() - fun onStartPrepareTask120s() + fun onStartPrepareTask120s(isStart: Boolean) } \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt index 378e8580a2..9af8999448 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt @@ -192,9 +192,7 @@ class TaxiCurrentTaskFragment : BaseFragment(), } is TaskWithOrderUIState.UpdatePrepareTaskDelay120S -> { - if (taskAndOrderUiState.isStart){ - updatePrepareTaskDelay120SUI(true) - } + updatePrepareTaskDelay120SUI(taskAndOrderUiState.isStart) } } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt index faa39fac99..320db28402 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt @@ -258,8 +258,8 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), /** * 开始倒计时120拉取任务 */ - override fun onStartPrepareTask120s() { - updatePrepareTaskDelay120SUI(true) + override fun onStartPrepareTask120s(isStart: Boolean) { + updatePrepareTaskDelay120SUI(isStart) } override fun onCarEndServiceSuccess( @@ -300,14 +300,6 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), currentTaskWithOrder: QueryCurrentTaskRespBean.Result? ) { VoiceNotice.showNotice("开始接单啦") - currentTaskWithOrder?.apply { - if (endSite != null) { - when { - currentStatus == TaskStatusEnum.CompleteTask.code && order != null -> return - currentStatus < TaskStatusEnum.CompleteTask.code -> return - } - } - } updateDriveToNearestStationTaskUI(driveToNearestStationTask) } 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 bcdb68c347..e57647c228 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 @@ -136,6 +136,8 @@ object TaxiTaskModel { private val mCurrentTaskRoutePointsGcj: MutableList = ArrayList() + private var mPrepareTaskDelay120SRunnable: Runnable? = null + fun addTaskWithOrderListener(tag: String, listener: ITaxiTaskWithOrderCallback) { if (mTaxiTaskWithOrderCallbackMap.containsKey(tag)) { return @@ -907,16 +909,27 @@ object TaxiTaskModel { } fun startPrepareTaskDelay120S(siteId: Long) { - DebugView.printInfoMsg("[PrepareNextTask] 倒计时${TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S/1000}秒后prepareNextTask") + if (mPrepareTaskDelay120SRunnable != null){ + DebugView.printInfoMsg("[PrepareNextTask] removeCallbacks prepareNextTask120s") + UiThreadHandler.removeCallbacks(mPrepareTaskDelay120SRunnable) + mTaxiTaskWithOrderCallbackMap.forEach { + val listener = it.value + listener.onStartPrepareTask120s(false) + } + } + + if (mPrepareTaskDelay120SRunnable == null){ + mPrepareTaskDelay120SRunnable = Runnable { + prepareNextTask(siteId) + } + } mTaxiTaskWithOrderCallbackMap.forEach { val listener = it.value - listener.onStartPrepareTask120s() + listener.onStartPrepareTask120s(true) } - - UiThreadHandler.postDelayed({ - prepareNextTask(siteId) - }, TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S) + DebugView.printInfoMsg("[PrepareNextTask] 倒计时${TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S/1000}秒后prepareNextTask") + UiThreadHandler.postDelayed(mPrepareTaskDelay120SRunnable, TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S) } /** @@ -994,6 +1007,14 @@ object TaxiTaskModel { DebugView.printInfoMsg("[开始接单] 请求success") d(TAG, "data.data=" + GsonUtil.jsonFromObject(data.data)) loginService?.queryLoginStatusByNet() + mCurrentTaskWithOrder?.apply { + if (endSite != null) { + when { + currentStatus == TaskStatusEnum.CompleteTask.code && order != null -> return + currentStatus < TaskStatusEnum.CompleteTask.code -> return + } + } + } mDriveToNearestStationTask = data.data mTaxiCarServiceCallback?.onCarStartServiceSuccess( mDriveToNearestStationTask,