From 04e7e20c3729e2175f7353d33cf6310ff6d4150e Mon Sep 17 00:00:00 2001 From: aibingbing Date: Fri, 1 Dec 2023 21:45:52 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=87=AA=E4=B8=BB=E7=AE=97=E8=B7=AF=E9=AA=8C?= =?UTF-8?q?=E8=AF=81]=20fix:=20=E8=BF=9B=E8=A1=8C=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=90=8E=20=E6=97=A0=E4=BA=BA=E5=8C=96?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=20=E4=B8=8D=E8=83=BD=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E5=8E=9F=E5=9B=A0=E4=B8=BAModel?= =?UTF-8?q?=EF=BC=8CViewModel=EF=BC=8CFragment=E7=9A=84=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E5=BD=93Fragment=E9=87=8D=E5=BB=BA?= =?UTF-8?q?=E5=90=8E=E7=BB=91=E5=AE=9A=E4=BA=86=E6=96=B0ViewModel,=20?= =?UTF-8?q?=E5=90=8C=E6=97=B6Model=E6=98=AF=E5=8D=95=E4=BE=8B=EF=BC=8C?= =?UTF-8?q?=E4=BD=86=E6=98=AFModel=E7=BB=91=E5=AE=9A=E7=9A=84ViewModel?= =?UTF-8?q?=E8=BF=98=E6=98=AF=E4=B8=8A=E4=B8=80=E4=B8=AA=EF=BC=8C=E5=B0=B1?= =?UTF-8?q?=E4=BC=9A=E5=AF=BC=E8=87=B4=E6=95=B0=E6=8D=AE=E4=BC=A0=E9=80=92?= =?UTF-8?q?=E5=88=B0ViewModel=E5=90=8E=E4=B8=8D=E8=83=BD=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E4=BC=A0=E9=80=92=E7=BB=99=E6=96=B0Fragment;=20refactor:=20Tas?= =?UTF-8?q?kWithOrder=20equals=20=E6=97=B6=E5=AD=97=E6=AE=B5=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9B=20refactor:=20=E6=A8=A1=E5=BC=8F=E5=88=87?= =?UTF-8?q?=E6=8D=A2=20=E5=92=8C=20=E7=99=BB=E5=87=BA=20=E7=B1=BB=E4=BC=BC?= =?UTF-8?q?=EF=BC=8C=E6=9C=89=E4=BA=9B=E5=8F=98=E9=87=8F=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E5=90=8C=E7=AD=89=E9=87=8D=E7=BD=AE=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxi/bean/TaxiDriverTaskWithOrderBean.kt | 1 + .../taxi/ui/task/TaxiCurrentTaskFragment.kt | 22 ++++++------------- .../taxi/ui/task/TaxiCurrentTaskViewModel.kt | 6 +++++ .../mogo/och/taxi/ui/task/TaxiTaskModel.kt | 14 ++++++++---- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverTaskWithOrderBean.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverTaskWithOrderBean.kt index 019653c8b1..cb3277ee99 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverTaskWithOrderBean.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/bean/TaxiDriverTaskWithOrderBean.kt @@ -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 } 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 5db2755ac4..cb1e31f4b8 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 @@ -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) } /** 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 e08f21d5a1..7df5e66270 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 @@ -50,6 +50,12 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), TaxiTaskModel.setCarServiceCallback(this) } + override fun onCleared() { + TaxiTaskModel.removeTaskWithOrderListener(TAG) + TaxiTaskModel.removeCarServiceCallback() + super.onCleared() + } + override fun initUiState(): UnmannedState { return UnmannedState(TaskWithOrderUIState.Init) } 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 3b98559aed..9b3f681ffc 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 @@ -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