From 01344f773c39ed8dda3c8d07a77af1eea095c45c Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 15 Aug 2023 11:27:21 +0800 Subject: [PATCH] [5.0.0] [orderinfo] --- .../bus/passenger/ui/orderinfo/OrderInfoView.kt | 15 ++++++++++++++- .../passenger/ui/orderinfo/OrderInfoViewModel.kt | 7 +++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/orderinfo/OrderInfoView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/orderinfo/OrderInfoView.kt index 4b5186f1ed..c3796ff8d6 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/orderinfo/OrderInfoView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/orderinfo/OrderInfoView.kt @@ -44,6 +44,8 @@ class OrderInfoView : ConstraintLayout, OrderInfoViewModel.ItineraryViewCallback var goneViewListener: IClearViewCallback?=null + var viewModel:OrderInfoViewModel?=null + private fun initView() { LayoutInflater.from(context).inflate(R.layout.m1_devices_fragment, this, true) onClick { @@ -54,7 +56,7 @@ class OrderInfoView : ConstraintLayout, OrderInfoViewModel.ItineraryViewCallback override fun onAttachedToWindow() { super.onAttachedToWindow() - val viewModel = findViewTreeViewModelStoreOwner()?.let { + viewModel = findViewTreeViewModelStoreOwner()?.let { ViewModelProvider(it).get(OrderInfoViewModel::class.java) } @@ -66,6 +68,8 @@ class OrderInfoView : ConstraintLayout, OrderInfoViewModel.ItineraryViewCallback actv_contain_order.setOnClickListener { setViewGone() + cl_order_info.visibility = View.VISIBLE + cl_order_info_endorder_comfit.visibility = View.GONE } actv_end_order.setOnClickListener { @@ -74,6 +78,15 @@ class OrderInfoView : ConstraintLayout, OrderInfoViewModel.ItineraryViewCallback } } + override fun onVisibilityChanged(changedView: View, visibility: Int) { + if(changedView!=this){ + return + } + if(visibility==View.VISIBLE) { + viewModel?.getDataInfo() + } + } + override fun setViewGone(){ goneViewListener?.goneAllView() } diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/orderinfo/OrderInfoViewModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/orderinfo/OrderInfoViewModel.kt index 24d554f2a9..004e1379fe 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/orderinfo/OrderInfoViewModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/orderinfo/OrderInfoViewModel.kt @@ -6,6 +6,7 @@ import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.GsonUtils +import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.bus.passenger.callback.ITimeCallback import com.mogo.och.bus.passenger.model.CharterPassengerModel import com.mogo.och.bus.passenger.utils.ToastCharterUtils @@ -37,7 +38,7 @@ class OrderInfoViewModel: ViewModel(), ITimeCallback { getDataInfo() } - private fun getDataInfo() { + fun getDataInfo() { val currentOrderInfo = CharterPassengerModel.getCurrentOrderInfo() currentOrderInfo?.let { viewCallback?.setPhone(it.passengerPhone?:"") @@ -53,7 +54,9 @@ class OrderInfoViewModel: ViewModel(), ITimeCallback { override fun setOrderTimeCallBack(timeInSecond: Long) { val leftTime = DateTimeUtil.second2Time(timeInSecond) - viewCallback?.setLeftTime(leftTime) + UiThreadHandler.post { + viewCallback?.setLeftTime(leftTime) + } }