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 72a2601d09..f66a4a610b 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 @@ -217,6 +217,11 @@ class TaxiCurrentTaskFragment : BaseFragment(), return } + if (mPrepareTasCountDownTimer != null){ + mPrepareTasCountDownTimer?.cancel() + mPrepareTasCountDownTimer = null + } + prepareTaskCountdownTv.visibility = View.VISIBLE mPrepareTasCountDownTimer = object : CountDownTimer(millisInFuture, 1000L) {// 5倒计时后开启自驾 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 443d9672f9..a5f1ed495d 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 @@ -120,6 +120,8 @@ object TaxiTaskModel { private var mIsArrivedSiteStartTag = false //到站接口请求标志位,防止围栏触发多次调用到站接口, true 接口请求, false : 接口请求完成 + private var isPrepareingNextTask = false // 拉取任务接口标志位 + fun addTaskWithOrderListener(tag: String, listener: ITaxiTaskWithOrderCallback) { if (mTaxiTaskWithOrderCallbackMap.containsKey(tag)) { return @@ -881,7 +883,14 @@ object TaxiTaskModel { }) } - fun prepareNextTask(delayTime: Long, siteId: Long) { + fun prepareNextTask(delayTime: Long, siteId: Long) { + + if (isPrepareingNextTask){ + DebugView.printInfoMsg("[PrepareNextTask] 请求调用中, 直接return") + d(TAG, "[PrepareNextTask] 请求调用中, 直接return") + return + } + isPrepareingNextTask = false DebugView.printInfoMsg("[PrepareNextTask] 准备发送请求, siteId=$siteId") TaxiTaskWithOrderServiceManager.prepareTask( mContext, @@ -894,11 +903,24 @@ object TaxiTaskModel { "isCarServingStatus = ${TaxiCarServingStatusManager.isCarServingStatus()}" ) DebugView.printInfoMsg("[PrepareNextTask] 请求success") + isPrepareingNextTask = false } override fun onFail(code: Int, msg: String?) { DebugView.printErrorMsg("[PrepareNextTask] 请求fail, code=$code ,msg=$msg") d(TAG, "prepareNextTask onFail: code=$code ,msg=$msg") + isPrepareingNextTask = false + if (LoginStatusManager.isLogin() && TaxiCarServingStatusManager.isCarServingStatus()) { + startPrepareTaskDelay(delayTime, siteId) + } + } + + override fun onError() { + super.onError() + DebugView.printErrorMsg("[PrepareNextTask] 请求onError, " + + "net = ${NetworkUtils.isConnected(mContext)}") + d(TAG, "prepareNextTask onError, , net = ${NetworkUtils.isConnected(mContext)}") + isPrepareingNextTask = false if (LoginStatusManager.isLogin() && TaxiCarServingStatusManager.isCarServingStatus()) { startPrepareTaskDelay(delayTime, siteId) }