[自主算路验证] fix: 进行模式切换后 无人化页面 不能刷新问题,原因为Model,ViewModel,Fragment的绑定问题,当Fragment重建后绑定了新ViewModel, 同时Model是单例,但是Model绑定的ViewModel还是上一个,就会导致数据传递到ViewModel后不能正确传递给新Fragment;
refactor: TaskWithOrder equals 时字段问题; refactor: 模式切换 和 登出 类似,有些变量需要同等重置;
This commit is contained in:
@@ -100,6 +100,7 @@ data class QueryCurrentTaskRespBean(var data: Result?) : BaseData() {
|
||||
if (startSite != other.startSite) return false
|
||||
if (endSite != other.endSite) return false
|
||||
if (order != other.order) return false
|
||||
if (writeVersion != other.writeVersion) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02Lis
|
||||
import com.mogo.eagle.core.function.main.MainMoGoApplication
|
||||
import com.mogo.eagle.core.network.utils.GsonUtil
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI
|
||||
import com.mogo.eagle.core.utilcode.util.ClickUtils
|
||||
@@ -68,7 +67,12 @@ import kotlinx.coroutines.flow.map
|
||||
class TaxiCurrentTaskFragment : BaseFragment(),
|
||||
View.OnClickListener, ICommonNaviChangedCallback {
|
||||
|
||||
private lateinit var mViewModel: TaxiCurrentTaskViewModel
|
||||
private val mViewModel: TaxiCurrentTaskViewModel by lazy {
|
||||
ViewModelProvider(
|
||||
this,
|
||||
ViewModelProvider.NewInstanceFactory()
|
||||
)[TaxiCurrentTaskViewModel::class.java]
|
||||
}
|
||||
|
||||
private var mPrepareTasCountDownTimer: CountDownTimer? = null
|
||||
|
||||
@@ -91,14 +95,6 @@ class TaxiCurrentTaskFragment : BaseFragment(),
|
||||
return this.javaClass.simpleName
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
mViewModel = ViewModelProvider(
|
||||
this,
|
||||
ViewModelProvider.NewInstanceFactory()
|
||||
)[TaxiCurrentTaskViewModel::class.java]
|
||||
}
|
||||
|
||||
override fun initViews() {
|
||||
initOnClickListener()
|
||||
initContainerView(false)
|
||||
@@ -311,11 +307,7 @@ class TaxiCurrentTaskFragment : BaseFragment(),
|
||||
}
|
||||
|
||||
fun onCarTakeOrderStatusChanged() {
|
||||
if (this::mViewModel.isInitialized) {
|
||||
mViewModel.sendUiIntent(TaskUiIntent.StartOrEndTakeOrder)
|
||||
} else {
|
||||
e(TAG, "onCarTakeOrderStatusChanged: mViewModel is not Initialized")
|
||||
}
|
||||
mViewModel.sendUiIntent(TaskUiIntent.StartOrEndTakeOrder)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -50,6 +50,12 @@ class TaxiCurrentTaskViewModel : BaseViewModel<UnmannedState, TaskUiIntent>(),
|
||||
TaxiTaskModel.setCarServiceCallback(this)
|
||||
}
|
||||
|
||||
override fun onCleared() {
|
||||
TaxiTaskModel.removeTaskWithOrderListener(TAG)
|
||||
TaxiTaskModel.removeCarServiceCallback()
|
||||
super.onCleared()
|
||||
}
|
||||
|
||||
override fun initUiState(): UnmannedState {
|
||||
return UnmannedState(TaskWithOrderUIState.Init)
|
||||
}
|
||||
|
||||
@@ -177,6 +177,10 @@ object TaxiTaskModel {
|
||||
mTaxiCarServiceCallback = callback
|
||||
}
|
||||
|
||||
fun removeCarServiceCallback() {
|
||||
mTaxiCarServiceCallback = null
|
||||
}
|
||||
|
||||
private fun getCurTaskStatus(): Int? {
|
||||
if (mCurrentTaskWithOrder == null) TaskStatusEnum.None
|
||||
return mCurrentTaskWithOrder?.currentStatus
|
||||
@@ -700,6 +704,8 @@ object TaxiTaskModel {
|
||||
mQueryTaskWithOrderDisposable?.dispose()
|
||||
mQueryTaskWithOrderDisposable = null
|
||||
}
|
||||
mCurrentTaskWithOrder = null
|
||||
mDriveToNearestStationTask = null
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -725,16 +731,16 @@ object TaxiTaskModel {
|
||||
return
|
||||
}
|
||||
val result: QueryCurrentTaskRespBean.Result? = data.data
|
||||
d(
|
||||
TAG,
|
||||
"queryCurrentTaskOnce onSuccess:result=${GsonUtil.jsonFromObject(result)}"
|
||||
)
|
||||
d(
|
||||
TAG,
|
||||
"queryCurrentTaskOnce onSuccess:mCurrentTaskWithOrder=${
|
||||
GsonUtil.jsonFromObject(mCurrentTaskWithOrder)
|
||||
}"
|
||||
)
|
||||
d(
|
||||
TAG,
|
||||
"queryCurrentTaskOnce onSuccess:result=${GsonUtil.jsonFromObject(result)}"
|
||||
)
|
||||
|
||||
//本地根据订单 orderNo 去查询下(乘客取消订单)
|
||||
if (mCurrentTaskWithOrder != null
|
||||
|
||||
Reference in New Issue
Block a user