From 332b044d7a549b3928238e1459bcf3181a7971ac Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 5 Jul 2024 18:04:15 +0800 Subject: [PATCH] [6.5.0] [fea] [driver ItinerarySummaryDialog] --- .../ui/TaxiBeingServerdOrdersFragment.java | 24 +++++++++++++++++ .../taxi/ui/task/TaxiCurrentTaskFragment.kt | 26 +++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java index 75e24fc6d7..5adaa3e343 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java @@ -22,6 +22,7 @@ import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; +import com.mogo.eagle.core.function.hmi.ui.widget.ItinerarySummaryDialog; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.DateTimeUtils; import com.mogo.eagle.core.utilcode.util.ToastUtils; @@ -98,6 +99,9 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment private volatile int saveOrderState = -1; + private ItinerarySummaryDialog dialog; + + public static TaxiBeingServerdOrdersFragment newInstance(Activity activity, TaxiFragment taxiFragment) { Bundle args = new Bundle(); @@ -144,6 +148,8 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment mNoDatasTv = view.findViewById(R.id.no_order_data_tv); mNoDataView = view.findViewById(R.id.being_no_data_view); + dialog = new ItinerarySummaryDialog(getContext(),true,R.style.summary_dialog); + initOnClickListener(); initNaviView(view); @@ -500,6 +506,9 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment TaxiOrderStatusEnum ochStatus = TaxiOrderStatusEnum.valueOf(status); switch (ochStatus) { case OnTheWayToStart: + if(dialog!=null&&dialog.isShowing()) { + dialog.dismiss(); + } mOrderCancel.setVisibility(View.VISIBLE); VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_new_order)); mTtsLessThan200Tip = 0; @@ -511,6 +520,9 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment setOrRemoveMapMaker(true, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker); break; case Cancel: + if(dialog!=null&&dialog.isShowing()) { + dialog.dismiss(); + } mCurrentOrder = null; mTtsLessThan200Tip = 0; isFirstStartAutopilotDone = true; @@ -522,6 +534,9 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment break; case ArriveAtStart: case UserArriveAtStart: + if(dialog!=null&&dialog.isShowing()) { + dialog.dismiss(); + } mTtsLessThan200Tip = 0; isFirstStartAutopilotDone = true; mOrderCancel.setVisibility(View.VISIBLE); @@ -535,6 +550,9 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment setOrRemoveMapMaker(true, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker); break; case OnTheWayToEnd: + if(dialog!=null&&dialog.isShowing()) { + dialog.dismiss(); + } mOrderCancel.setVisibility(View.VISIBLE); if (mTaxiFragment != null) { showNaviToEndStationFragment(false); @@ -543,6 +561,9 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment setOrRemoveMapMaker(true, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker); break; case ArriveAtEnd: + if(dialog!=null&&!dialog.isShowing()) { + dialog.show(); + } mTtsLessThan200Tip = 0; mOrderCancel.setVisibility(View.GONE); //VoiceNotice.showNotice(mActivity.getString(R.string.module_och_taxi_order_auto_arrive_end_tip)); @@ -551,6 +572,9 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment setOrRemoveMapMaker(false, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker); break; case JourneyCompleted: + if(dialog!=null&&dialog.isShowing()) { + dialog.dismiss(); + } mCurrentOrder = null; mTtsLessThan200Tip = 0; isFirstStartAutopilotDone = true; diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt index 00b836dfdc..8124cfed5b 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt @@ -13,6 +13,7 @@ import com.amap.api.navi.model.NaviLatLng import com.mogo.commons.mvp.BaseFragment import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getState +import com.mogo.eagle.core.function.hmi.ui.widget.ItinerarySummaryDialog 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 @@ -73,6 +74,8 @@ class TaxiCurrentTaskFragment : BaseFragment(), private var mPrepareTasCountDownTimer: CountDownTimer? = null + private var dialog:ItinerarySummaryDialog? = null + companion object { const val TAG = M_TAXI + "TaxiCurrentTaskFragment" @@ -101,6 +104,9 @@ class TaxiCurrentTaskFragment : BaseFragment(), } override fun initViews() { + context?.let { + dialog = ItinerarySummaryDialog(it,true,R.style.summary_dialog) + } initOnClickListener() initContainerView(false) initTaskDebugViewListener() @@ -548,12 +554,14 @@ class TaxiCurrentTaskFragment : BaseFragment(), when (order.orderStatus) { TaxiOrderStatusEnum.None.code -> { //无 + dismissDialog() initContainerView(false) removeAllMapMarker() } TaxiOrderStatusEnum.ArriveAtEnd.code -> { //到达目的地 taskStatus.text = resources.getString(R.string.task_start_end_site) + showDialog() updateStartAndEndStationPointByStatus(true) updateTaskContainerBottomBtn( getString(R.string.module_och_taxi_order_server_end), @@ -565,6 +573,7 @@ class TaxiCurrentTaskFragment : BaseFragment(), } TaxiOrderStatusEnum.OnTheWayToEnd.code -> { //送驾中 + dismissDialog() taskStatus.text = resources.getString(R.string.task_start_end_site) updateStartAndEndStationPointByStatus(true) updateTaskContainerBottomBtn( @@ -577,6 +586,7 @@ class TaxiCurrentTaskFragment : BaseFragment(), TaxiOrderStatusEnum.UserArriveAtStart.code, TaxiOrderStatusEnum.ArriveAtStart.code -> { //乘客到达上车点, 验证成功 ; 到达乘客上车点 + dismissDialog() taskStatus.text = resources.getString(R.string.arrived_start_site) updateStartAndEndStationPointByStatus(false) updateTaskContainerBottomBtn( @@ -592,6 +602,7 @@ class TaxiCurrentTaskFragment : BaseFragment(), } TaxiOrderStatusEnum.OnTheWayToStart.code -> { //前往上车地点 + dismissDialog() taskStatus.text = resources.getString(R.string.task_start_start_site) updateStartAndEndStationPointByStatus(false) updateTaskContainerBottomBtn( @@ -828,4 +839,19 @@ class TaxiCurrentTaskFragment : BaseFragment(), mViewModel.startOrStopCurrentTaskWithOrderLoop(false) super.onDestroy() } + + private fun showDialog(){ + dialog?.let { + if(!it.isShowing){ + it.show() + } + } + } + private fun dismissDialog(){ + dialog?.let { + if(it.isShowing){ + it.dismiss() + } + } + } } \ No newline at end of file