From a1ee561be57270fc4fc6958569c75961c244e7f6 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 11 Aug 2022 20:49:53 +0800 Subject: [PATCH] =?UTF-8?q?[290=20]=201=E3=80=81Taxi=E5=8F=B8=E6=9C=BA?= =?UTF-8?q?=E7=AB=AF=E7=BE=8E=E5=8C=96=E6=A8=A1=E5=BC=8F=202=E3=80=81taxi?= =?UTF-8?q?=E5=81=B6=E7=8E=B0=E7=A9=BA=E6=8C=87=E9=92=88=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/taxi/model/TaxiModel.java | 27 +- .../ui/TaxiBeingServerdOrdersFragment.java | 250 +++++++++--------- 2 files changed, 143 insertions(+), 134 deletions(-) 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 0f4b553e09..9fcb3da37c 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 @@ -1141,30 +1141,35 @@ public class TaxiModel { } } } else if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE) { + if (FunctionBuildConfig.isDemoMode + && checkCurrentOCHOrder() + && getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd) { + // 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态 + return; + } if (state != mPrevAPStatus && mADASStatusCallback != null){ mADASStatusCallback.onAutopilotEnable(); } mPrevAPStatus = state; - if (FunctionBuildConfig.isDemoMode - && checkCurrentOCHOrder() - && getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd) { - // 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态 - return; - } } else if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE) { - if (state != mPrevAPStatus && mADASStatusCallback != null){ - mADASStatusCallback.onAutopilotDisable(); - } - - mPrevAPStatus = state; if (FunctionBuildConfig.isDemoMode && checkCurrentOCHOrder() && getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd) { // 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态 return; } + if (state != mPrevAPStatus && mADASStatusCallback != null){ + mADASStatusCallback.onAutopilotDisable(); + } + mPrevAPStatus = state; }else if (state == IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING){ + if (FunctionBuildConfig.isDemoMode + && checkCurrentOCHOrder() + && getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd) { + // 当美化模式(演示模式)开启时:且有订单、且为去往目的地状态,维持自动驾驶icon开启状态 + return; + } if (state != mPrevAPStatus && mADASStatusCallback != null){ mADASStatusCallback.onManMachineCoDriving(); } 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 c1a2ec1ff7..a3de394d7c 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 @@ -163,138 +163,142 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement */ @RequiresApi(api = Build.VERSION_CODES.P) public void updateCurrentOrderStatusChanged(OrderQueryRespBean.Result order) { - if (order == null) return; - if (order.orderStatus == TaxiOrderStatusEnum.JourneyCompleted.getCode()) { - mCurrentOrder = null; - isHaveBeingOrder(false); - mDistanceAndTime2.setText("距离 - - 公里,用时 - - 分"); - mDistanceAndTime3.setText("距离 - - 公里,用时 - - 分"); - return; - } - mOrderNo = order.orderNo; - onOrderStatusChanged(order); - if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus) { - mTaxiFragment.queryCurOrderRouteInfo(); - mContentModule3.setVisibility(View.GONE); - mContentModule2.setVisibility(View.VISIBLE); - CallerLogger.INSTANCE.d(M_TAXI + TAG, "已经达到终点"); - mOrderStatus.setText(R.string.module_och_taxi_arrive_at_end_station2); - mOrderServerStatus.setText(R.string.module_och_taxi_order_server_end); - mOrderServerStatus.setTextColor(Color.parseColor("#FFFFFF")); - GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 - background.setColor(Color.parseColor("#FF1D5EF3")); - mOrderServerStatus.setClickable(true); - mTitleTV2.setText("送乘客至"); - mStationTv2.setText(order.endSiteAddr); - } 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); - mOrderServerStatus.setText(R.string.module_och_taxi_order_server_end); - mOrderServerStatus.setTextColor(Color.parseColor("#4DFFFFFF")); - GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 - background.setColor(Color.parseColor("#4D1D5EF3")); - mOrderServerStatus.setClickable(false); - - mTitleTV2.setText("送乘客至"); - mStationTv2.setText(order.endSiteAddr); - } else if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus - || 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); - - 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)); - - 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) + ""; + try { + if (order == null) return; + if (order.orderStatus == TaxiOrderStatusEnum.JourneyCompleted.getCode()) { + mCurrentOrder = null; + isHaveBeingOrder(false); + mDistanceAndTime2.setText("距离 - - 公里,用时 - - 分"); + mDistanceAndTime3.setText("距离 - - 公里,用时 - - 分"); + return; } - mDistanceAndTime3.setText(Html.fromHtml(strHtml13)); + mOrderNo = order.orderNo; + onOrderStatusChanged(order); + if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus) { + mTaxiFragment.queryCurOrderRouteInfo(); + mContentModule3.setVisibility(View.GONE); + mContentModule2.setVisibility(View.VISIBLE); + CallerLogger.INSTANCE.d(M_TAXI + TAG, "已经达到终点"); + mOrderStatus.setText(R.string.module_och_taxi_arrive_at_end_station2); + mOrderServerStatus.setText(R.string.module_och_taxi_order_server_end); + mOrderServerStatus.setTextColor(Color.parseColor("#FFFFFF")); + GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 + background.setColor(Color.parseColor("#FF1D5EF3")); + mOrderServerStatus.setClickable(true); + mTitleTV2.setText("送乘客至"); + mStationTv2.setText(order.endSiteAddr); + } else if (TaxiOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus) { + CallerLogger.INSTANCE.d(M_TAXI + TAG, "已经去往终点"); - if (TaxiOrderStatusEnum.ArriveAtStart.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); + mOrderServerStatus.setText(R.string.module_och_taxi_order_server_end); + mOrderServerStatus.setTextColor(Color.parseColor("#4DFFFFFF")); + GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 + background.setColor(Color.parseColor("#4D1D5EF3")); + mOrderServerStatus.setClickable(false); + + mTitleTV2.setText("送乘客至"); + mStationTv2.setText(order.endSiteAddr); + } else if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus + || 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); + + 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)); + + 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)); + + 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("#FFFFFF")); + GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 + background.setColor(Color.parseColor("#FF1D5EF3")); + 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的子类 + background.setColor(Color.parseColor("#FF1D5EF3")); + mOrderServerStatus.setTextColor(Color.parseColor("#FFFFFF")); + mOrderServerStatus.setClickable(true); + } + + }else if (TaxiModel.getInstance().checkCurrentOCHOrder()) { + CallerLogger.INSTANCE.d(M_TAXI + TAG, "前往乘客上车地点"); + mContentModule2.setVisibility(View.GONE); + mContentModule3.setVisibility(View.VISIBLE); + mContentModule31.setVisibility(View.VISIBLE); + mArrivedStartTimeTv32.setVisibility(View.GONE); + 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_waiting); - mOrderServerStatus.setText(R.string.module_och_taxi_order_server_start_wait_check); - mOrderServerStatus.setTextColor(Color.parseColor("#FFFFFF")); - GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 - background.setColor(Color.parseColor("#FF1D5EF3")); - 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); + mOrderStatus.setText(R.string.module_och_taxi_new_order); mOrderServerStatus.setText(R.string.module_och_taxi_order_server_start); + mOrderServerStatus.setTextColor(Color.parseColor("#4DFFFFFF")); GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 - background.setColor(Color.parseColor("#FF1D5EF3")); - mOrderServerStatus.setTextColor(Color.parseColor("#FFFFFF")); - mOrderServerStatus.setClickable(true); - } + background.setColor(Color.parseColor("#4D1D5EF3")); + mOrderServerStatus.setClickable(false); + mGoAheadStationTitleTv31.setText("前往"); + mCatchStationTitleTv31.setText("接乘客"); + mStationTv31.setText(order.startSiteAddr); - }else if (TaxiModel.getInstance().checkCurrentOCHOrder()) { - CallerLogger.INSTANCE.d(M_TAXI + TAG, "前往乘客上车地点"); - mContentModule2.setVisibility(View.GONE); - mContentModule3.setVisibility(View.VISIBLE); - mContentModule31.setVisibility(View.VISIBLE); - mArrivedStartTimeTv32.setVisibility(View.GONE); - 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")); - GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类 - background.setColor(Color.parseColor("#4D1D5EF3")); - mOrderServerStatus.setClickable(false); - mGoAheadStationTitleTv31.setText("前往"); - mCatchStationTitleTv31.setText("接乘客"); - mStationTv31.setText(order.startSiteAddr); - - Calendar currentCale = DateTimeUtils.getCurrentDateTime(); - Calendar startCale = DateTimeUtil.formatLongToCalendar(order.bookingTime); - String currentDay = DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.TAXI_yyyy_MM_dd); - String startDay = DateTimeUtil.formatCalendarToString(startCale, DateTimeUtil.TAXI_yyyy_MM_dd); - String strHtml1 = ""; - if (currentDay.equals(startDay)) { - strHtml1 = "乘客将于
" - + "" + DateTimeUtil.formatCalendarToString(startCale, DateTimeUtil.TAXI_HH_mm) + "" - + " 用车"; - } else { - strHtml1 = "乘客将于
" - + "" + DateTimeUtil.formatCalendarToString(startCale, DateTimeUtil.TAXI_MM_dd_HH_mm) + "" - + " 用车"; + Calendar currentCale = DateTimeUtils.getCurrentDateTime(); + Calendar startCale = DateTimeUtil.formatLongToCalendar(order.bookingTime); + String currentDay = DateTimeUtil.formatCalendarToString(currentCale, DateTimeUtil.TAXI_yyyy_MM_dd); + String startDay = DateTimeUtil.formatCalendarToString(startCale, DateTimeUtil.TAXI_yyyy_MM_dd); + String strHtml1 = ""; + if (currentDay.equals(startDay)) { + strHtml1 = "乘客将于
" + + "" + DateTimeUtil.formatCalendarToString(startCale, DateTimeUtil.TAXI_HH_mm) + "" + + " 用车"; + } else { + strHtml1 = "乘客将于
" + + "" + DateTimeUtil.formatCalendarToString(startCale, DateTimeUtil.TAXI_MM_dd_HH_mm) + "" + + " 用车"; + } + mOrderOtherContent3.setText(Html.fromHtml(strHtml1)); + mOrderStartStationLat = order.startSiteGcjPoint.get(1); + mOrderStartStationLng = order.startSiteGcjPoint.get(0); } - mOrderOtherContent3.setText(Html.fromHtml(strHtml1)); - mOrderStartStationLat = order.startSiteGcjPoint.get(1); - mOrderStartStationLng = order.startSiteGcjPoint.get(0); + }catch (NullPointerException e){ //可能会出现订单信息已经轮询回来,但进行中页面控件还未初始化完成的情况 + TaxiModel.getInstance().clearCurrentOCHOrder(); } }