diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusRoutesResult.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusRoutesResult.java index 3a99d5d57e..b2b722d02a 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusRoutesResult.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusRoutesResult.java @@ -15,6 +15,14 @@ public class BusRoutesResult { private String description; private int status; + //线路轨迹相关字段 + public String csvFileUrl; //轨迹文件下载的cos url,默认“” + public String csvFileMd5; //轨迹文件md5,默认“” + public String txtFileUrl; //打点文件下载的cos url,默认“” + public String txtFileMd5; //轨迹文件md5,默认“” + public long contrailSaveTime; //上传轨迹完成时间戳ms:用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖 + public String carModel; //[optional] 车型号(如红旗H9),默认“”,暂不加入校验逻辑、用于人工排查问题 + public int getLineId() { return lineId; } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITPClickStartAutopilotCallback.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITPClickStartAutopilotCallback.java new file mode 100644 index 0000000000..bf55573adc --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITPClickStartAutopilotCallback.java @@ -0,0 +1,5 @@ +package com.mogo.och.taxi.passenger.callback; + +public interface ITPClickStartAutopilotCallback { + void onClickCallback(); +} 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 bf43ba64f0..44d635ab52 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 @@ -11,7 +11,6 @@ import androidx.lifecycle.LifecycleOwner; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.mvp.Presenter; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; -import com.mogo.eagle.core.network.utils.GsonUtil; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean; @@ -19,7 +18,6 @@ import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerADASStatusCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerControllerStatusCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback; import com.mogo.och.taxi.passenger.callback.ITaxiPassengerCommonCallback; -import com.mogo.och.taxi.passenger.callback.ITaxiPassengerCommonValueCallback; import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum; import com.mogo.och.taxi.passenger.model.TaxiPassengerGeocodeSearchModel; import com.mogo.och.taxi.passenger.model.TaxiPassengerModel; @@ -149,7 +147,7 @@ public class BaseTaxiPassengerPresenter extends Presenter { mView.showOrHideServingOrderFragment(false); - mView.showOrHideStartAutopilotBtn(false); +// mView.showOrHideStartAutopilotView(false); mView.showOrHidePressengerCheckPager(false, "", "", "", "", ""); mView.showOrHideArrivedEndLayout(false,"",""); @@ -170,10 +168,10 @@ public class BaseTaxiPassengerPresenter extends Presenter - implements IMogoMapListener, TaxiPassengerTaxiView { + implements IMogoMapListener, TaxiPassengerTaxiView, ITPClickStartAutopilotCallback { static final String TAG = "TaxiPassengerBaseFragment"; @@ -50,12 +51,10 @@ public class TaxiPassengerBaseFragment extends MvpFragment mArrivedEndView; private WeakReference mArrivedCheckView; + private WeakReference mStartAutopilotView; protected TaxiPassengerServingOrderFragment ochServingOrderFragment = null; @@ -79,9 +78,6 @@ public class TaxiPassengerBaseFragment extends MvpFragment { - ToastUtils.showShort("等待接口。。。。"); - }); } private void initArrivedView(){ @@ -281,15 +273,28 @@ public class TaxiPassengerBaseFragment extends MvpFragment(new TaxiPassengerStartAutopilotView(getContext())); + } + OverlayViewUtils.showOverlayView(getActivity(),mStartAutopilotView.get()); + mStartAutopilotView.get().setOnClickStartAutopilotBtnCallback(this); + mStartAutopilotView.get().updateStartAutopilotBtnStatus(isClickable); }else { - mStartAutopilotBtnView.setVisibility(View.GONE); + if (mStartAutopilotView == null || mStartAutopilotView.get() == null){ + return; + } + OverlayViewUtils.dismissOverlayView(mStartAutopilotView.get()); } } @@ -323,11 +328,9 @@ public class TaxiPassengerBaseFragment extends MvpFragment + + - - - \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml new file mode 100644 index 0000000000..c24b844553 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml @@ -0,0 +1,38 @@ + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/OrderQueryRespBean.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/OrderQueryRespBean.java index 8a46cd8116..22c969090e 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/OrderQueryRespBean.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/OrderQueryRespBean.java @@ -52,12 +52,12 @@ public class OrderQueryRespBean extends BaseData { //线路轨迹相关字段 public long lineId; //路线id,默认-1 - public String trajUrl; //轨迹文件下载的cos url,默认“” - public String trajMd5; //轨迹文件md5,默认“” - public String stopUrl; //打点文件下载的cos url,默认“” - public String stopMd5; //轨迹文件md5,默认“” - public long timestamp; //上传轨迹完成时间戳ms:用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖 - public String vehicleModel; //[optional] 车型号(如红旗H9),默认“”,暂不加入校验逻辑、用于人工排查问题 + public String csvFileUrl; //轨迹文件下载的cos url,默认“” + public String csvFileMd5; //轨迹文件md5,默认“” + public String txtFileUrl; //打点文件下载的cos url,默认“” + public String txtFileMd5; //轨迹文件md5,默认“” + public long contrailSaveTime; //上传轨迹完成时间戳ms:用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖 + public String carModel; //[optional] 车型号(如红旗H9),默认“”,暂不加入校验逻辑、用于人工排查问题 // !!!接口中暂无此字段,仅用于本地实现逻辑使用:起始站目的站距离km public double travelDistance; diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 79d643d4d3..2047065e57 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -1304,7 +1304,7 @@ public class TaxiModel { /** * 调试使用,没有乘客屏时可使用此按钮跳过乘客验证 */ - public void debugPassengerCheckDone() { + public void jumpPassengerCheckDone() { if (mCurrentOCHOrder == null || mCurrentOCHOrder.orderStatus != TaxiOrderStatusEnum.ArriveAtStart.getCode() || mCurrentOCHOrder.passengerPhone == null || mCurrentOCHOrder.passengerPhone.length() < 5) { diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java index bb31398790..7050ba9d19 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java @@ -95,6 +95,13 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS TaxiModel.getInstance().startAutoPilot(isRestart); } + /** + * 跳过乘客验证环节 + */ + public void jumpPassengerCheckDone(){ + TaxiModel.getInstance().jumpPassengerCheckDone(); + } + // 更新出车/收车状态 public void updateCarStatus() { TaxiModel.getInstance().updateCarStatus(); diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java index b79d0f57f6..08aa22e22c 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java @@ -92,6 +92,9 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement private TextView mGoAheadStationTitleTv31; private TextView mCatchStationTitleTv31; private ImageView mNaviIcon; + private TextView mPassengerNum; + private TextView mPassengerPhone; + private ConstraintLayout mPassengerInfoLayout; private TextView mNoDatasTv; @@ -125,6 +128,11 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement mCatchStationTitleTv31 = view.findViewById(R.id.go_ahead_station_catch_31); mGoAheadStationTitleTv31 = view.findViewById(R.id.go_ahead_station_31); mArrivedStationTitleTv32 = view.findViewById(R.id.arrive_station_32); + + mPassengerInfoLayout = view.findViewById(R.id.module_och_taxi_order_passenger_data); + mPassengerNum = view.findViewById(R.id.taxi_passenger_num); + mPassengerPhone = view.findViewById(R.id.taxi_passenger_phone); + mNoDatasTv = view.findViewById(R.id.no_order_data_tv); mNoDataView = view.findViewById(R.id.being_no_data_view); mOrderCancel.setOnClickListener(this); @@ -173,15 +181,11 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 background.setColor(Color.parseColor("#FF1D5EF3")); mOrderServerStatus.setClickable(true); -// String strHtml3 = "送乘客至
" -// + "" + order.endSiteAddr + ""; mTitleTV2.setText("送乘客至"); mStationTv2.setText(order.endSiteAddr); -// String strHtml2 = "距离 " + "- -" + " 公里," -// + "用时 " + "- -" + " 分钟"; -// mDistanceAndTime.setText(Html.fromHtml(strHtml2)); } else if (TaxiOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus) { CallerLogger.INSTANCE.d(M_TAXI + TAG, "已经去往终点"); + mContentModule3.setVisibility(View.GONE); mContentModule2.setVisibility(View.VISIBLE); mOrderStatus.setText(R.string.module_och_taxi_on_the_way_2_end_station); @@ -228,14 +232,19 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement if (TaxiOrderStatusEnum.ArriveAtStart.getCode() == order.orderStatus){ CallerLogger.INSTANCE.d(M_TAXI + TAG, "车辆已经达到起点"); + mPassengerInfoLayout.setVisibility(View.VISIBLE); + mPassengerNum.setText(order.passengerNum + "人"); + mPassengerPhone.setText(order.passengerPhone); mOrderStatus.setText(R.string.module_och_taxi_waiting); mOrderServerStatus.setText(R.string.module_och_taxi_order_server_start_wait_check); - mOrderServerStatus.setTextColor(Color.parseColor("#4DFFFFFF")); + mOrderServerStatus.setTextColor(Color.parseColor("#FFFFFF")); GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 background.setColor(Color.parseColor("#4D1D5EF3")); - mOrderServerStatus.setClickable(false); + mOrderServerStatus.setClickable(true); }else if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus ){ CallerLogger.INSTANCE.d(M_TAXI + TAG, "乘客已上车验证成功"); + + mPassengerInfoLayout.setVisibility(View.GONE); mOrderStatus.setText(R.string.module_och_taxi_user_check_success); mOrderServerStatus.setText(R.string.module_och_taxi_order_server_start); GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 @@ -244,44 +253,7 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement mOrderServerStatus.setClickable(true); } - }else if (TaxiOrderStatusEnum.ArriveAtStart.getCode() == order.orderStatus) { - - mContentModule2.setVisibility(View.GONE); - mContentModule3.setVisibility(View.VISIBLE); - mArrivedStartTimeTv32.setVisibility(View.VISIBLE); - mContentModule32.setVisibility(View.VISIBLE); - mContentModule31.setVisibility(View.GONE); - mOrderOtherContent3.setVisibility(View.GONE); - mOrderStatus.setText(R.string.module_och_taxi_waiting); - mOrderServerStatus.setText(R.string.module_och_taxi_order_server_start); - GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 - background.setColor(Color.parseColor("#FF1D5EF3")); - mOrderServerStatus.setTextColor(Color.parseColor("#FFFFFF")); - mOrderServerStatus.setClickable(true); - Calendar currentCale = DateTimeUtils.getCurrentDateTime(); - String currentHM = DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.TAXI_HH_mm); - String currentDay = DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.TAXI_yyyy_MM_dd); - String strHtml11 = "已于
" - + "" + currentHM + "" - + "" + " " + "到达乘客上车地点"; - mArrivedStartTimeTv32.setLineHeight(60); - mArrivedStartTimeTv32.setText(Html.fromHtml(strHtml11)); -// String strHtml12 = "送乘客至
" -// + "" + order.endSiteAddr + ""; - mArrivedStationTitleTv32.setText("送乘客至"); - mStationTv32.setText(order.endSiteAddr); - currentCale.add(Calendar.MINUTE, 10); - String strHtml13 = ""; - if (currentDay.equals(DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.TAXI_yyyy_MM_dd))) { - strHtml13 = "免费等待至 " - + "" + DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.TAXI_HH_mm) + ""; - - } else { - strHtml13 = "免费等待至" - + "" + DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.TAXI_MM_dd_HH_mm) + ""; - } - mDistanceAndTime3.setText(Html.fromHtml(strHtml13)); - } else if (TaxiModel.getInstance().checkCurrentOCHOrder()) { + }else if (TaxiModel.getInstance().checkCurrentOCHOrder()) { CallerLogger.INSTANCE.d(M_TAXI + TAG, "前往乘客上车地点"); mContentModule2.setVisibility(View.GONE); mContentModule3.setVisibility(View.VISIBLE); @@ -290,6 +262,9 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement mContentModule32.setVisibility(View.GONE); mOrderOtherContent3.setVisibility(View.VISIBLE); mDistanceAndTime3.setVisibility(View.VISIBLE); + mPassengerInfoLayout.setVisibility(View.VISIBLE); + mPassengerNum.setText(order.passengerNum + "人"); + mPassengerPhone.setText(order.passengerPhone); mOrderStatus.setText(R.string.module_och_taxi_new_order); mOrderServerStatus.setText(R.string.module_och_taxi_order_server_start); mOrderServerStatus.setTextColor(Color.parseColor("#4DFFFFFF")); @@ -298,10 +273,8 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement mOrderServerStatus.setClickable(false); mGoAheadStationTitleTv31.setText("前往"); mCatchStationTitleTv31.setText("接乘客"); -// String strHtml0 = "前往
" -// + "" + order.startSiteAddr + "
" -// + "接乘客"; mStationTv31.setText(order.startSiteAddr); + Calendar currentCale = DateTimeUtils.getCurrentDateTime(); Calendar startCale = DateTimeUtil.formatLongToCalendar(order.bookingTime); String currentDay = DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.TAXI_yyyy_MM_dd); @@ -415,6 +388,9 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement } else if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == mCurrentOrder.orderStatus) {//点击服务,开启自动驾驶 mTaxiFragment.startAutoPilot(); showNotice(getResources().getString(R.string.module_och_taxi_order_server_start_auto_tip)); + return; + }else if (TaxiOrderStatusEnum.ArriveAtStart.getCode() == mCurrentOrder.orderStatus){ //到达乘客上车点,司机可跳过乘客屏认证 + mTaxiFragment.jumpPassengerCheckDone(); } } @@ -472,7 +448,6 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement setOrRemoveMapMaker(true, TaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint,R.raw.end_marker); break; case ArriveAtEnd: - mCurrentOrder = null; mTtsLessThan200Tip = 0; mOrderCancel.setVisibility(View.GONE); showNotice(mActivity.getString(R.string.module_och_taxi_order_auto_arrive_end_tip)); @@ -520,13 +495,8 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement @Override public void onClick(View v) { if (v.getId() == R.id.module_och_taxi_order_server_status_tv) { - switch (mOrderServerStatus.getText().toString().trim()) { - case "开始服务": - case "服务完成": - CallerLogger.INSTANCE.d(M_TAXI + TAG, mOrderServerStatus.getText().toString()); - startOrEndService(); - break; - } + CallerLogger.INSTANCE.d(M_TAXI + TAG, mOrderServerStatus.getText().toString()); + startOrEndService(); } else if (v.getId() == R.id.module_och_taxi_order_cancel_iv) { new TaxiOrderCancelDialog(mTaxiFragment, mActivity, mOrderNo, saveOrderState).show(); } else if (v.getId() == R.id.module_och_taxi_navi_iv) { diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java index d1e99cd486..29f01e6f71 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java @@ -225,6 +225,10 @@ public class TaxiFragment extends BaseTaxiTabFragment { - TaxiModel.getInstance().debugPassengerCheckDone(); - }); } private void testRouteInfoUpload() { diff --git a/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml b/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml index da7aa36c9d..cb652413ae 100644 --- a/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml +++ b/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml @@ -101,18 +101,55 @@ android:paddingRight="40px" android:visibility="visible" app:layout_constraintBottom_toTopOf="@+id/module_och_taxi_order_server_status_tv"> + + + + + + + + app:layout_constraintTop_toBottomOf="@+id/module_och_taxi_order_passenger_data"> + + android:text="接乘客" + android:textColor="#CAD6FF" + android:textSize="28px" /> @@ -207,7 +245,7 @@ android:inputType="textMultiLine" android:lineSpacingExtra="16px" android:textColor="#CAD6FF" - android:textSize="17sp" + android:textSize="30px" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="@+id/module_och_taxi_order_arrive_station_32" tools:text="乘客将于 - - 用车" /> @@ -219,9 +257,9 @@ android:layout_marginBottom="180px" android:inputType="textMultiLine" android:lineSpacingExtra="16px" - android:text="距离 - - 公里,用时 - - 分钟" + android:text="距离 -- 公里,用时 -- 分钟" android:textColor="#CAD6FF" - android:textSize="16sp" + android:textSize="32px" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="@+id/module_och_taxi_order_go_ahead_station_31"/> diff --git a/OCH/mogo-och-taxi/src/main/res/layout/taxi_panel.xml b/OCH/mogo-och-taxi/src/main/res/layout/taxi_panel.xml index 18a801ebf2..333782635a 100644 --- a/OCH/mogo-och-taxi/src/main/res/layout/taxi_panel.xml +++ b/OCH/mogo-och-taxi/src/main/res/layout/taxi_panel.xml @@ -62,13 +62,6 @@ android:onClick="testToEnd" android:text="到达目的地" android:textSize="12sp" /> -