From 1e8d69b1cfc2e16b6ad45bf256e5717e289ac026 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 12 Jul 2023 18:34:03 +0800 Subject: [PATCH] =?UTF-8?q?[3.4.0]=20[=E9=A6=96=E9=A1=B5]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/taxi/passenger/event/UIStatus.java | 16 - .../presenter/BaseTaxiPassengerPresenter.java | 12 +- .../passenger/ui/TaxiPassengerBaseFragment.kt | 504 ++++++++---------- .../och/taxi/passenger/ui/bottom/BottomBar.kt | 65 +-- .../passenger/ui/orderinfo/ItineraryView.kt | 12 +- .../main/res/layout/taxi_p_base_fragment.xml | 99 +--- .../src/main/res/layout/taxi_p_bottom_bar.xml | 92 ++-- .../src/main/res/layout/taxi_p_itinerary.xml | 70 ++- 8 files changed, 374 insertions(+), 496 deletions(-) delete mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/event/UIStatus.java diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/event/UIStatus.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/event/UIStatus.java deleted file mode 100644 index 83c06dfa6e..0000000000 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/event/UIStatus.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.mogo.och.taxi.passenger.event; - -public class UIStatus { - - public static final int LIVE = 0; - public static final int OVERVIEW = 1; - public static final int CONSULT = 2; - public static final int MOVIE = 3; - - public int status = LIVE; - - public UIStatus(int status) { - this.status = status; - } - -} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java index 217a1c29e4..e63cdec530 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java @@ -131,7 +131,7 @@ public class BaseTaxiPassengerPresenter extends Presenter { - mView.showOrHideServingOrderFragment(false,true); + mView.showOrHideServingOrderFragment(false); mView.showOrHideOverMapViewFragment(false); mView.showOrHideStartAutopilotView(false,false); mView.showOrHidePressengerCheckPager(false, "", @@ -140,7 +140,6 @@ public class BaseTaxiPassengerPresenter extends Presenter{ mView.showOrHideStartAutopilotView(false,false); - mView.showOrHideServingOrderFragment(true,true); + mView.showOrHideServingOrderFragment(true); }); TaxiPassengerModel.INSTANCE.startOrStopReadyToAutopilotLoop(false); - TaxiPassengerModel.INSTANCE.setStation(); } // 30 用户到达上车点 并通过了手机号后四位验证 // 40 服务中 @@ -192,18 +189,15 @@ public class BaseTaxiPassengerPresenter extends Presenter { - mView.showOrHideServingOrderFragment(false,true); + mView.showOrHideServingOrderFragment(false); mView.showOrHideArrivedEndLayout(true, order.endSiteAddr,order.orderNo); CallerOrderListenerManager.INSTANCE.invokeOrderStatus(false); }); - TaxiPassengerModel.INSTANCE.cleanStation(); return; } // 60 服务完成 页面 if (TaxiPassengerOrderStatusEnum.JourneyCompleted.getCode() == order.orderStatus){ mCurrentPassengerOrder = null; - TaxiPassengerModel.INSTANCE.cleanStation(); - return; } } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt index 1a40143e4d..0c2952299a 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt @@ -1,115 +1,125 @@ -package com.mogo.och.taxi.passenger.ui; - -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.fragment.app.FragmentTransaction; -import androidx.lifecycle.Lifecycle; - -import com.mogo.commons.module.status.MogoStatusManager; -import com.mogo.commons.mvp.MvpFragment; -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; -import com.mogo.eagle.core.function.hmi.ui.widget.RomaPassengerView; -import com.mogo.eagle.core.function.view.MapBizView; -import com.mogo.eagle.core.utilcode.util.DeviceUtils; -import com.mogo.eagle.core.utilcode.util.OverlayViewUtils; -import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.map.listener.IMogoMapListener; -import com.mogo.map.uicontroller.VisualAngleMode; -import com.mogo.och.taxi.passenger.R; -import com.mogo.och.taxi.passenger.callback.ITPClickStartAutopilotCallback; -import com.mogo.och.taxi.passenger.event.UIStatus; -import com.mogo.och.taxi.passenger.presenter.BaseTaxiPassengerPresenter; -import com.mogo.och.taxi.passenger.ui.comment.TaxiPassengerArrivedView; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.lang.ref.WeakReference; -import java.util.Objects; +package com.mogo.och.taxi.passenger.ui +import android.os.Bundle +import android.view.View +import com.mogo.commons.mvp.MvpFragment +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.RomaPassengerView +import com.mogo.eagle.core.function.view.MapBizView +import com.mogo.eagle.core.utilcode.util.DeviceUtils +import com.mogo.eagle.core.utilcode.util.OverlayViewUtils +import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.map.listener.IMogoMapListener +import com.mogo.map.uicontroller.VisualAngleMode +import com.mogo.och.taxi.passenger.R +import com.mogo.och.taxi.passenger.bean.TaxiPassengerScoreUpdateOrderReqBean +import com.mogo.och.taxi.passenger.callback.ITPClickStartAutopilotCallback +import com.mogo.och.taxi.passenger.callback.ITaxiPassengerCommonValueCallback +import com.mogo.och.taxi.passenger.callback.ITaxiPassengerScoreCallback +import com.mogo.och.taxi.passenger.presenter.BaseTaxiPassengerPresenter +import com.mogo.och.taxi.passenger.ui.bottom.BottomBar +import com.mogo.och.taxi.passenger.ui.comment.TaxiPassengerArrivedView +import kotlinx.android.synthetic.main.taxi_p_base_fragment.bottom +import kotlinx.android.synthetic.main.taxi_p_base_fragment.itinerary +import kotlinx.android.synthetic.main.taxi_p_base_fragment.mapBizView +import kotlinx.android.synthetic.main.taxi_p_base_fragment.overMapView +import java.lang.ref.WeakReference /** * 网约车基础Fragment,主要负责布局通用界面,处理站点面板和通话面板互斥情况 - *

+ * + * * 部分业务放在了此处处理 * * @author tongchenfei */ -public class TaxiPassengerBaseFragment extends MvpFragment - implements IMogoMapListener, TaxiPassengerTaxiView, ITPClickStartAutopilotCallback { +class TaxiPassengerBaseFragment() : + MvpFragment(), IMogoMapListener, + TaxiPassengerTaxiView, ITPClickStartAutopilotCallback { - public static final String TAG = "TaxiPassengerBaseFragment"; + private var romaPView: RomaPassengerView? = null - private MapBizView mapBizView; - private RomaPassengerView romaPView; + /** + * 到达目的地 + */ + private var mArrivedEndView: WeakReference? = null - private WeakReference mArrivedEndView; - private WeakReference mArrivedCheckView; - private WeakReference mStartAutopilotView; - protected TaxiPassengerServingOrderFragment ochServingOrderFragment = null; + /** + * 手机号后四位验证 + */ + private var mArrivedCheckView: WeakReference? = null - protected OverviewFragment overviewFragment = null; + /** + * 启动自驾页面 + */ + private var mStartAutopilotView: WeakReference? = null - @Nullable - @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - EventBus.getDefault().register(this); - return super.onCreateView(inflater, container, savedInstanceState); + override fun getLayoutId(): Int { + return R.layout.taxi_p_base_fragment } - @Override - protected int getLayoutId() { - return R.layout.taxi_p_base_fragment; + override fun getTagName(): String { + return "BaseOchTaxiPassengerFragment" } - @Override - public String getTagName() { - return "BaseOchTaxiPassengerFragment"; - } - - @Override - protected void initViews() { - mapBizView = findViewById(R.id.mapBizView); - romaPView = findViewById(R.id.romaPView); - if(DeviceUtils.isLenovoModel() || DeviceUtils.isEB5Model()){ - romaPView.setVisibility(View.VISIBLE); - }else{ - romaPView.setVisibility(View.GONE); + override fun initViews() { + romaPView = findViewById(R.id.romaPView) + if (DeviceUtils.isLenovoModel() || DeviceUtils.isEB5Model()) { + romaPView!!.visibility = View.VISIBLE + } else { + romaPView!!.visibility = View.GONE } - initListener(); - onAutopilotStatusChanged(CallerAutoPilotStatusListenerManager.INSTANCE.getState()); + initListener() + onAutopilotStatusChanged(getState()) } - @Override - protected void initViews(Bundle savedInstanceState) { - super.initViews(savedInstanceState); - mapBizView.onCreate(savedInstanceState); + override fun initViews(savedInstanceState: Bundle?) { + super.initViews(savedInstanceState) + mapBizView!!.onCreate(savedInstanceState) + overMapView.onCreateView(savedInstanceState) } - private void initListener() { + private fun initListener() { + bottom.setOverMapApplyClick(object : BottomBar.ApplyClickLintener{ + override fun onApplyClick(selectItem: BottomBar.SelectView) { + if(selectItem == BottomBar.SelectView.OVERMAPVIEW){ + overMapView.visibility = View.VISIBLE + }else{ + overMapView.visibility = View.GONE + } + if(selectItem == BottomBar.SelectView.PRECISIONMAP){ + mapBizView.visibility = View.VISIBLE + }else{ + mapBizView.visibility = View.GONE + } + } + }) + } + private fun initArrivedView() { + mArrivedEndView = WeakReference(TaxiPassengerArrivedView(context)) + mArrivedEndView!!.get()!!.iTaxiPassengerScoreCallback = ITaxiPassengerScoreCallback { + taxiPassengerScoreUpdateOrderReqBean: TaxiPassengerScoreUpdateOrderReqBean? -> + presenter?.arrivedAndScore(taxiPassengerScoreUpdateOrderReqBean) + } } - private void initArrivedView() { - mArrivedEndView = new WeakReference<>(new TaxiPassengerArrivedView(getContext())); - mArrivedEndView.get().setITaxiPassengerScoreCallback((taxiPassengerScoreUpdateOrderReqBean) -> getPresenter().arrivedAndScore(taxiPassengerScoreUpdateOrderReqBean)); + private fun initCheckView() { + mArrivedCheckView = WeakReference( + TaxiPassengerCheckView( + context + ) + ) + mArrivedCheckView!!.get()!!.iTaxiPassengerCommonValueCallback = + ITaxiPassengerCommonValueCallback { phoneTail: String? -> + getPresenter()!!.checkAndUpdateStatus(phoneTail) + } } - private void initCheckView() { - mArrivedCheckView = new WeakReference<>(new TaxiPassengerCheckView(getContext())); - mArrivedCheckView.get().setITaxiPassengerCommonValueCallback(phoneTail -> getPresenter().checkAndUpdateStatus(phoneTail)); - } - - @Override - public void onResume() { - super.onResume(); - mapBizView.onResume(); + override fun onResume() { + super.onResume() + mapBizView!!.onResume() + overMapView.onResume() } /** @@ -117,75 +127,56 @@ public class TaxiPassengerBaseFragment extends MvpFragment { - if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING != status) { - // 1. 主动开启自动驾驶中,不为2(为0、1)则继续loading - return; - } - if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING == status - && mPrevAPStatus != status) { - // 2. 主动开启自动驾驶中,为2则停止loading,并isStarting = false - onAutopilotStatusSuccessDone(); - } - mPrevAPStatus = status; - }); - } - - @NonNull - @Override - protected BaseTaxiPassengerPresenter createPresenter() { - return new BaseTaxiPassengerPresenter(this); - } - - @Override - public void onLowMemory() { - super.onLowMemory(); - mapBizView.onLowMemory(); - } - - @Override - public void onSaveInstanceState(@NonNull Bundle outState) { - super.onSaveInstanceState(outState); - mapBizView.onSaveInstanceState(outState); - } - - @Override - public void onPause() { - super.onPause(); - mapBizView.onPause(); - } - - @Override - public void onDestroyView() { - mapBizView.onDestroy(); - super.onDestroyView(); - EventBus.getDefault().unregister(this); - removeListener(); - } - - private void removeListener() { - if (mStartAutopilotView == null || mStartAutopilotView.get() == null) { - return; + private var mPrevAPStatus = -1 + fun onAutopilotStatusChanged(status: Int) { + if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING != status) { + // 1. 主动开启自动驾驶中,不为2(为0、1)则继续loading + return } - mStartAutopilotView.get().setOnClickStartAutopilotBtnCallback(null); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void changeOverview(UIStatus uiStatus) { - if (uiStatus.status == UIStatus.LIVE) { - showOrHideOverMapViewFragment(false); - showOrHideServingOrderFragment(true, false); - } else if (uiStatus.status == UIStatus.OVERVIEW) { - showOrHideOverMapViewFragment(true); - showOrHideServingOrderFragment(false, false); + if ((IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING == status + && mPrevAPStatus != status) + ) { + // 2. 主动开启自动驾驶中,为2则停止loading,并isStarting = false + onAutopilotStatusSuccessDone() } + mPrevAPStatus = status } - @Override - public void onMapVisualAngleChanged(VisualAngleMode visualAngleMode) { + override fun createPresenter(): BaseTaxiPassengerPresenter { + return BaseTaxiPassengerPresenter(this) + } + + override fun onLowMemory() { + super.onLowMemory() + mapBizView!!.onLowMemory() + } + + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + mapBizView!!.onSaveInstanceState(outState) + } + + override fun onPause() { + super.onPause() + mapBizView!!.onPause() + overMapView?.onPause() + } + + override fun onDestroyView() { + mapBizView!!.onDestroy() + overMapView?.onDestroy() + super.onDestroyView() + removeListener() + } + + private fun removeListener() { + if (mStartAutopilotView == null || mStartAutopilotView!!.get() == null) { + return + } + mStartAutopilotView!!.get()!!.setOnClickStartAutopilotBtnCallback(null) + } + + override fun onMapVisualAngleChanged(visualAngleMode: VisualAngleMode) { //todo ui 切换 } @@ -194,38 +185,11 @@ public class TaxiPassengerBaseFragment extends MvpFragment(new TaxiPassengerStartAutopilotView(getContext())); + if (mStartAutopilotView == null || mStartAutopilotView!!.get() == null) { + mStartAutopilotView = WeakReference( + TaxiPassengerStartAutopilotView( + context + ) + ) } - mStartAutopilotView.get().setOnClickStartAutopilotBtnCallback(this); - OverlayViewUtils.showOverlayView(getActivity(), mStartAutopilotView.get()); - updateStartAutopilotBtnStatus(isClickable); + mStartAutopilotView!!.get()!!.setOnClickStartAutopilotBtnCallback(this) + OverlayViewUtils.showOverlayView(activity, mStartAutopilotView!!.get()) + updateStartAutopilotBtnStatus(isClickable) } else { - if (mStartAutopilotView == null || mStartAutopilotView.get() == null) { - return; + if (mStartAutopilotView == null || mStartAutopilotView!!.get() == null) { + return } - mStartAutopilotView.get().setOnClickStartAutopilotBtnCallback(null); - mStartAutopilotView.get().closeAllAnimsAndView(); - mStartAutopilotView = null; + mStartAutopilotView!!.get()!!.setOnClickStartAutopilotBtnCallback(null) + mStartAutopilotView!!.get()!!.closeAllAnimsAndView() + mStartAutopilotView = null } } - public void updateStartAutopilotBtnStatus(boolean isClickable) { - if (mStartAutopilotView == null || mStartAutopilotView.get() == null) { - return; + fun updateStartAutopilotBtnStatus(isClickable: Boolean) { + if (mStartAutopilotView == null || mStartAutopilotView!!.get() == null) { + return } - mStartAutopilotView.get().handleStartAutopilotBtnStatus(isClickable); + mStartAutopilotView!!.get()!!.handleStartAutopilotBtnStatus(isClickable) } - public void onAutopilotStatusSuccessDone() { - if (mStartAutopilotView == null || mStartAutopilotView.get() == null) { - return; + fun onAutopilotStatusSuccessDone() { + if (mStartAutopilotView == null || mStartAutopilotView!!.get() == null) { + return } - mStartAutopilotView.get().onAutopilotStatusSuccess(); + mStartAutopilotView!!.get()!!.onAutopilotStatusSuccess() } /** @@ -317,36 +261,44 @@ public class TaxiPassengerBaseFragment extends MvpFragment + + + - - + -