[6.1.0问题优化] 解决prepareTask任务拉取出错UI闪烁问题

This commit is contained in:
wangmingjun
2023-10-20 16:43:04 +08:00
parent 48bc32fd8c
commit 1791b9c19c
2 changed files with 28 additions and 1 deletions

View File

@@ -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倒计时后开启自驾

View File

@@ -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)
}