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();
}
}