[6.0.0] UI逻辑改造

This commit is contained in:
wangmingjun
2023-08-14 16:14:06 +08:00
parent 2629b40139
commit 5c78817e7f
5 changed files with 32 additions and 43 deletions

View File

@@ -277,6 +277,10 @@ object TaxiModel {
return mCurrentTaskAndOrder
}
fun getCurUntruthTask(): StartServiceRespBean.Result? {
return mUntruthTask
}
fun getCurOrderContrails(): MutableList<ContrailListRespBean.Result>? {
return mOrderContrails
}

View File

@@ -117,7 +117,7 @@ class TaxiUnmannedViewModel : BaseViewModel<UnmannedState, UnmannedIntent>(){
//需要将虚拟任务停掉, 虚拟任务会再开始接单后获取新的
updateUntruthTask(null)
if (mCurrentTaskAndOrder != null){
if (mCurrentTaskAndOrder != null && mCurrentTaskAndOrder!!.endSite != null){
VoiceNotice.showNotice("暂停接单啦!要完成当前订单哦")
}else{
VoiceNotice.showNotice("暂停接单啦")
@@ -153,7 +153,9 @@ class TaxiUnmannedViewModel : BaseViewModel<UnmannedState, UnmannedIntent>(){
}
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<UnmannedState, UnmannedIntent>(){
}
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<UnmannedState, UnmannedIntent>(){
sendUiState {
copy(
taskAndOrderUiState = TaskAndOrderUiState.TASKANDORDER(null)
taskAndOrderUiState = TaskAndOrderUiState.TASKANDORDER(null,
TaxiModel.getCurUntruthTask())
)
}
}

View File

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

View File

@@ -70,7 +70,7 @@ class TaxiReserveOrderFragment : BaseFragment() {
}
is TaskAndOrderUiState.TASKANDORDER -> {
updateOrderChanged(state.model)
updateOrderChanged(state.taskAndOrder)
}
}
}

View File

@@ -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<Site>) : TaskUiState()
}
sealed class OrderUiState {
object INIT : OrderUiState()
data class SUCCESS(val models: List<OrderDetail>) : 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