From 5c78817e7f2f0b25ace377a550c3bd205bb7ac8a Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Mon, 14 Aug 2023 16:14:06 +0800 Subject: [PATCH] =?UTF-8?q?[6.0.0]=20UI=E9=80=BB=E8=BE=91=E6=94=B9?= =?UTF-8?q?=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/taxi/model/TaxiModel.kt | 4 +++ .../och/taxi/model/TaxiUnmannedViewModel.kt | 19 +++++------ .../mogo/och/taxi/ui/TaxiBeingTaskFragment.kt | 34 +++++++++---------- .../och/taxi/ui/TaxiReserveOrderFragment.kt | 2 +- .../och/taxi/ui/unmanned/UnmannedState.kt | 16 ++------- 5 files changed, 32 insertions(+), 43 deletions(-) diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt index 7d8066a8e7..dbf5f092bd 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt @@ -277,6 +277,10 @@ object TaxiModel { return mCurrentTaskAndOrder } + fun getCurUntruthTask(): StartServiceRespBean.Result? { + return mUntruthTask + } + fun getCurOrderContrails(): MutableList? { return mOrderContrails } diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiUnmannedViewModel.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiUnmannedViewModel.kt index fe2dacbf58..07ae7c1258 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiUnmannedViewModel.kt +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiUnmannedViewModel.kt @@ -117,7 +117,7 @@ class TaxiUnmannedViewModel : BaseViewModel(){ //需要将虚拟任务停掉, 虚拟任务会再开始接单后获取新的 updateUntruthTask(null) - if (mCurrentTaskAndOrder != null){ + if (mCurrentTaskAndOrder != null && mCurrentTaskAndOrder!!.endSite != null){ VoiceNotice.showNotice("暂停接单啦!要完成当前订单哦") }else{ VoiceNotice.showNotice("暂停接单啦") @@ -153,7 +153,9 @@ class TaxiUnmannedViewModel : BaseViewModel(){ } override fun onFail(code: Int, msg: String?) { - ToastUtilsOch.showWithCodeMessage(code, msg) + ToastUtilsOch.showWithCodeMessage(code, + "$msg curLatitude = ${CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().latitude}" + + " curLongitude = ${CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().longitude}") } override fun onError() { @@ -199,20 +201,14 @@ class TaxiUnmannedViewModel : BaseViewModel(){ } private fun updateUntruthTask(result: StartServiceRespBean.Result?) { - TaxiModel.updateUntruthTask(result) - - sendUiState { - copy( - taskAndOrderUiState = TaskAndOrderUiState.UNTRUTHTASK(result) - ) - } } private fun updateTaskAndOrderUi() { sendUiState { copy( - taskAndOrderUiState = TaskAndOrderUiState.TASKANDORDER(mCurrentTaskAndOrder) + taskAndOrderUiState = TaskAndOrderUiState.TASKANDORDER(mCurrentTaskAndOrder, + TaxiModel.getCurUntruthTask()) ) } } @@ -221,7 +217,8 @@ class TaxiUnmannedViewModel : BaseViewModel(){ sendUiState { copy( - taskAndOrderUiState = TaskAndOrderUiState.TASKANDORDER(null) + taskAndOrderUiState = TaskAndOrderUiState.TASKANDORDER(null, + TaxiModel.getCurUntruthTask()) ) } } diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt index 8ad88ae798..0f0a7ac692 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt @@ -89,8 +89,8 @@ class TaxiBeingTaskFragment : BaseFragment(), override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - d("viewmodel ==", "TaxiBeingTaskFragment onCreate") - mViewModel = ViewModelProvider(this, ViewModelProvider.NewInstanceFactory()).get(TaxiUnmannedViewModel::class.java) + d("viewModel ==", "TaxiBeingTaskFragment onCreate") + mViewModel = ViewModelProvider(this, ViewModelProvider.NewInstanceFactory())[TaxiUnmannedViewModel::class.java] } override fun initViews() { @@ -107,34 +107,34 @@ class TaxiBeingTaskFragment : BaseFragment(), //监听返回的数据状态 lifecycleScope.launchWhenStarted { - mViewModel.uiStateFlow.map {it.taskAndOrderUiState}.collect {state -> - d(TAG,"uiStateFlow: $state") - when(state){ + mViewModel.uiStateFlow.map {it.taskAndOrderUiState}.collect {taskAndOrderUiState -> + d(TAG,"uiStateFlow-taskAndOrderUiState: $taskAndOrderUiState") + when(taskAndOrderUiState){ is TaskAndOrderUiState.INIT -> { } is TaskAndOrderUiState.TASKANDORDER -> { - mCurrentTaskAndOrder = state.model - if (state.model == null && mCurrentUntruthTask == null){ - isHaveBeingOrder(false) - return@collect - } - updateCurrentOrderStatusChanged(state.model) - } - is TaskAndOrderUiState.UNTRUTHTASK -> { - mCurrentUntruthTask = state.untruthTask - if (state.untruthTask == null && mCurrentTaskAndOrder == null){ + mCurrentUntruthTask = taskAndOrderUiState.untruthTask + mCurrentTaskAndOrder = taskAndOrderUiState.taskAndOrder + + if ((taskAndOrderUiState.untruthTask == null && mCurrentTaskAndOrder != null + && mCurrentTaskAndOrder!!.endSite == null) || mCurrentTaskAndOrder == null){ isHaveBeingOrder(false) return@collect } + isHaveBeingOrder(true) - updateUntruthTask(state.untruthTask) + if (taskAndOrderUiState.untruthTask != null){ + updateUntruthTask(taskAndOrderUiState.untruthTask) + }else{ + updateCurrentOrderStatusChanged(taskAndOrderUiState.taskAndOrder) + } } is TaskAndOrderUiState.ORDERCANCEL -> { - updateOrderCancelUi(state.isCancel) + updateOrderCancelUi(taskAndOrderUiState.isCancel) onCurrentOrderCancelDone() } } diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiReserveOrderFragment.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiReserveOrderFragment.kt index 6a531724f4..cddba20469 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiReserveOrderFragment.kt +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiReserveOrderFragment.kt @@ -70,7 +70,7 @@ class TaxiReserveOrderFragment : BaseFragment() { } is TaskAndOrderUiState.TASKANDORDER -> { - updateOrderChanged(state.model) + updateOrderChanged(state.taskAndOrder) } } } diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/unmanned/UnmannedState.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/unmanned/UnmannedState.kt index ba74d92f91..9f6f99f052 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/unmanned/UnmannedState.kt +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/unmanned/UnmannedState.kt @@ -1,27 +1,15 @@ package com.mogo.och.taxi.ui.unmanned import com.mogo.och.taxi.base.IUiState -import com.mogo.och.taxi.bean.OrderDetail import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean -import com.mogo.och.taxi.bean.Site import com.mogo.och.taxi.bean.StartServiceRespBean -sealed class TaskUiState { - object INIT : TaskUiState() - data class SUCCESS(val models: List) : TaskUiState() -} -sealed class OrderUiState { - object INIT : OrderUiState() - data class SUCCESS(val models: List) : OrderUiState() -} +data class UnmannedState(val taskAndOrderUiState: TaskAndOrderUiState) : IUiState sealed class TaskAndOrderUiState { object INIT : TaskAndOrderUiState() - data class TASKANDORDER(val model: QueryCurrentTaskRespBean.Result?) : TaskAndOrderUiState()//演练任务、接驾、送驾任务 + data class TASKANDORDER(val taskAndOrder: QueryCurrentTaskRespBean.Result?, val untruthTask: StartServiceRespBean.Result?) : TaskAndOrderUiState()//演练任务、接驾、送驾任务 - data class UNTRUTHTASK(val untruthTask: StartServiceRespBean.Result?) : TaskAndOrderUiState()//伪任务 data class ORDERCANCEL(var isCancel: Boolean) : TaskAndOrderUiState()//取消订单 } - -data class UnmannedState(val taskAndOrderUiState: TaskAndOrderUiState) : IUiState