From eba3b3321ad023c57430f7bd76692570329942ad Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Tue, 24 Oct 2023 17:17:56 +0800 Subject: [PATCH] =?UTF-8?q?[6.1.2=E4=BC=98=E5=8C=96]=201=E3=80=81=E8=87=AA?= =?UTF-8?q?=E9=A9=BE=E5=80=92=E8=AE=A1=E6=97=B6=E5=8F=98=E4=B8=BA5s=202?= =?UTF-8?q?=E3=80=81=E8=B0=83=E6=95=B4=E4=BB=BB=E5=8A=A1=E6=8B=89=E5=8F=96?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E9=87=8D=E8=AF=95=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/wigets/StartAutopilotAnimationView.kt | 10 ++++------ .../mogo/och/taxi/constant/TaxiUnmannedConst.kt | 10 +++++++--- .../och/taxi/ui/task/TaxiCurrentTaskFragment.kt | 2 +- .../och/taxi/ui/task/TaxiCurrentTaskViewModel.kt | 16 ++++++++-------- .../com/mogo/och/taxi/ui/task/TaxiTaskModel.kt | 14 +++++++++----- 5 files changed, 29 insertions(+), 23 deletions(-) diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/StartAutopilotAnimationView.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/StartAutopilotAnimationView.kt index 4a9ba7dc8c..5a27d8dc0d 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/StartAutopilotAnimationView.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/StartAutopilotAnimationView.kt @@ -1,8 +1,6 @@ package com.mogo.och.common.module.wigets; -import android.annotation.SuppressLint import android.content.Context -import android.os.CountDownTimer import android.util.AttributeSet import android.view.LayoutInflater import android.view.View @@ -28,7 +26,7 @@ class StartAutopilotAnimationView @JvmOverloads constructor( ) : RelativeLayout(context, attrs, defStyleAttr){ companion object { - private const val ALL_CLOSE_TIMER = 10000L + private const val ALL_CLOSE_TIMER = 5000L private const val TAG = "StartAutopilotAnimationView" } @@ -188,12 +186,12 @@ class StartAutopilotAnimationView @JvmOverloads constructor( startAutopilotTip.visibility = VISIBLE - startTimer = object : CountDownTimerExt(ALL_CLOSE_TIMER, 1000L) {// 5倒计时后开启自驾 + startTimer = object : CountDownTimerExt(ALL_CLOSE_TIMER, 1000L) {// 5s倒计时后开启自驾 override fun onTimerTick(value: Long) { // 倒计时 UiThreadHandler.post { - startAutopilotTip.text = "${(value/1000).toInt()} 车辆即将自动开启自动驾驶" + startAutopilotTip.text = "${Math.ceil(value.toDouble()/1000).toInt()} 车辆即将自动开启自动驾驶" } playDI() } @@ -201,8 +199,8 @@ class StartAutopilotAnimationView @JvmOverloads constructor( override fun onTimerFinish() { //倒计时结束了... UiThreadHandler.post { + SoundPoolHelper.getSoundPoolHelper().releaseSoundPool() startAutopilotTip.text = "车辆正在自动开启自动驾驶" - dismiss(DirectionEnum.ALERT_WARNING_TOP) } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/constant/TaxiUnmannedConst.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/constant/TaxiUnmannedConst.kt index ba3f7891b6..7f6575423b 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/constant/TaxiUnmannedConst.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/constant/TaxiUnmannedConst.kt @@ -80,11 +80,15 @@ class TaxiUnmannedConst { const val TIMER_START_AUTOPILOT_INTERVAL = 20 * 1000L - const val TIMER_PREPARE_TASK_INTERVAL_120S = 120 * 1000L //120s再次获取任务 + const val TIMER_PREPARE_VIRTUAL_TASK_INTERVAL = 45 * 1000L //45s再次获取任务 - const val START_AUTOPILOT_COUNTDOWN_INTERVAL = 10 * 1000L // 自动启动自驾倒数计时 + const val START_PREPARE_TO_START_TASK_INTERVAL = 0L // 直接拉取接驾任务 - const val START_AUTOPILOT_ANIMATION_INTERVAL = 12 * 1000L // 12s 开启自驾闪烁动画 + const val START_PREPARE_TASK_RETRY_INTERVAL = 10 * 1000L // 直接拉取接驾任务 + + const val START_AUTOPILOT_COUNTDOWN_INTERVAL = 5 * 1000L // 自动启动自驾倒数计时 + + const val START_AUTOPILOT_ANIMATION_INTERVAL = 7 * 1000L // 开启自驾闪烁动画 } } \ 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 f66a4a610b..e64c1145de 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 @@ -224,7 +224,7 @@ class TaxiCurrentTaskFragment : BaseFragment(), prepareTaskCountdownTv.visibility = View.VISIBLE mPrepareTasCountDownTimer = - object : CountDownTimer(millisInFuture, 1000L) {// 5倒计时后开启自驾 + object : CountDownTimer(millisInFuture, 1000L) {// 倒计时后开启自驾 override fun onTick(millisUntilFinished: Long) { // 倒计时 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 80ed1360a9..32b7c8a7ce 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 @@ -283,18 +283,18 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), /** * 1、有订单下(表示当前有订单或者未来有要执行的订单): - * 接驾任务需要10s拉取, 拉取时机在车辆前往上车点状态 + * 接驾任务需要立即拉取, 拉取时机在车辆前往上车点状态 * 送驾任务需要立即拉取, 拉取时机在乘客已上车状态 * 2、在没有订单情况下 - * 若当前到站的是前往标定站点, 则120s去拉取任务 - * 若当前是演练任务到站, 120s去拉取任务 + * 若当前到站的是前往标定站点, 则45s去拉取任务 + * 若当前是演练任务到站, 45s去拉取任务 * 若当前是接驾任务到站, 此情况肯定是有订单的, 则走1 * 若当前到站的是送驾任务, 不去拉取, 需等待司机点击服务完成按钮后拉取 */ if (result?.order != null){ if (QueryCurrentTaskRespBean.isOrderOnTheWayToStart(result)){ - TaxiTaskModel.startPrepareTaskDelay(TaxiUnmannedConst.START_AUTOPILOT_COUNTDOWN_INTERVAL, + TaxiTaskModel.startPrepareTaskDelay(TaxiUnmannedConst.START_PREPARE_TO_START_TASK_INTERVAL, result?.endSite!!.siteId) }else if (QueryCurrentTaskRespBean.isOrderUserArriveAtStart(result)) { TaxiTaskModel.startPrepareTaskDelay(0, result?.endSite!!.siteId) @@ -302,10 +302,10 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), }else{ if (result?.taskType == TaskTypeEnum.None.code){ TaxiTaskModel.startPrepareTaskDelay( - TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S, result?.endSite!!.siteId) + TaxiUnmannedConst.TIMER_PREPARE_VIRTUAL_TASK_INTERVAL, result?.endSite!!.siteId) }else{ TaxiTaskModel.startPrepareTaskDelay( - TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S, result?.endSite!!.siteId) + TaxiUnmannedConst.TIMER_PREPARE_VIRTUAL_TASK_INTERVAL, result?.endSite!!.siteId) } } @@ -339,13 +339,13 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), //获取新的任务 val currentTaskWithOrder = TaxiTaskModel.getCurrentTaskWithOrder() currentTaskWithOrder?.endSite?.also { - TaxiTaskModel.startPrepareTaskDelay(TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S, + TaxiTaskModel.startPrepareTaskDelay(TaxiUnmannedConst.TIMER_PREPARE_VIRTUAL_TASK_INTERVAL, it.siteId) } } override fun onStartAutopilot(postDelayTime: Long) { - UiThreadHandler.postDelayed(startTaskRunnable, postDelayTime) // 10s后或者倒计时继续开启自驾, 状态流转 + UiThreadHandler.postDelayed(startTaskRunnable, postDelayTime) // 5s后或者倒计时结束开启自驾, 状态流转 } private val startTaskRunnable: Runnable = Runnable { 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 a617f6e7e7..422d709e97 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 @@ -912,7 +912,7 @@ object TaxiTaskModel { }) } - fun prepareNextTask(delayTime: Long, siteId: Long) { + private fun prepareNextTask(siteId: Long) { if (isPrepareingNextTask){ DebugView.printInfoMsg("[PrepareNextTask] 请求调用中, 直接return") @@ -940,7 +940,9 @@ object TaxiTaskModel { d(TAG, "prepareNextTask onFail: code=$code ,msg=$msg") isPrepareingNextTask = false if (LoginStatusManager.isLogin() && TaxiCarServingStatusManager.isCarServingStatus()) { - startPrepareTaskDelay(delayTime, siteId) + mCurrentTaskWithOrder?.endSite?.siteId?.also { + startPrepareTaskDelay(TaxiUnmannedConst.START_PREPARE_TASK_RETRY_INTERVAL,it) + } } } @@ -951,7 +953,9 @@ object TaxiTaskModel { d(TAG, "prepareNextTask onError, , net = ${NetworkUtils.isConnected(mContext)}") isPrepareingNextTask = false if (LoginStatusManager.isLogin() && TaxiCarServingStatusManager.isCarServingStatus()) { - startPrepareTaskDelay(delayTime, siteId) + mCurrentTaskWithOrder?.endSite?.siteId?.also { + startPrepareTaskDelay(TaxiUnmannedConst.START_PREPARE_TASK_RETRY_INTERVAL,it) + } } } }) @@ -961,7 +965,7 @@ object TaxiTaskModel { removePrepareTaskDelay() mPrepareTaskDelayRunnable = Runnable { - prepareNextTask(delayTime, siteId) + prepareNextTask(siteId) } mTaxiTaskWithOrderCallbackMap.forEach { @@ -975,7 +979,7 @@ object TaxiTaskModel { ) } - fun removePrepareTaskDelay() { + private fun removePrepareTaskDelay() { if (mPrepareTaskDelayRunnable != null) { DebugView.printInfoMsg("[PrepareNextTask] removeCallbacks, 取消prepareNextTask倒计时") UiThreadHandler.removeCallbacks(mPrepareTaskDelayRunnable)