[6.0.0] UI逻辑改造
This commit is contained in:
@@ -277,6 +277,10 @@ object TaxiModel {
|
||||
return mCurrentTaskAndOrder
|
||||
}
|
||||
|
||||
fun getCurUntruthTask(): StartServiceRespBean.Result? {
|
||||
return mUntruthTask
|
||||
}
|
||||
|
||||
fun getCurOrderContrails(): MutableList<ContrailListRespBean.Result>? {
|
||||
return mOrderContrails
|
||||
}
|
||||
|
||||
@@ -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())
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ class TaxiReserveOrderFragment : BaseFragment() {
|
||||
}
|
||||
|
||||
is TaskAndOrderUiState.TASKANDORDER -> {
|
||||
updateOrderChanged(state.model)
|
||||
updateOrderChanged(state.taskAndOrder)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user