From 623d8351199b1ed125a102e0093755721822a8bf Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 9 Nov 2022 16:13:10 +0800 Subject: [PATCH 01/14] =?UTF-8?q?[2.12.0][Route]=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E5=BC=95=E5=AF=BC=E7=BA=BF=E7=9B=B8=E5=85=B3=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/service/routeoverlay/MogoRouteOverlayManager.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java index 5506928df5..acb043ad72 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java @@ -66,13 +66,11 @@ public class MogoRouteOverlayManager implements return; } if (isArriveAtStation.get() && autopilotMode.get() != 1) { - Logger.d(TAG, "--- onLocationChanged 1 -- [isDemo1: " + FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData + ",isDemo2:" +FunctionBuildConfig.isDemoMode + ",isGps:" + isGps + ",mode:" + autopilotMode.get() + ",lon:" + location.getLongitude() + ",lat:" + location.getLatitude() + ",angle:" + location.getBearing() + "]"); RouteOverlayDrawer.getInstance().clearMogoRouteOverlay(); return; } boolean force = FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData; if (!force && autopilotMode.get() != 1) { - Logger.d(TAG, "--- onLocationChanged 2 -- [isDemo1: " + FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData + ",isDemo2:" +FunctionBuildConfig.isDemoMode + ",isGps:" + isGps + ",mode:" + autopilotMode.get() + ",lon:" + location.getLongitude() + ",lat:" + location.getLatitude() + ",angle:" + location.getBearing() + "]"); RouteOverlayDrawer.getInstance().clearMogoRouteOverlay(); return; } @@ -80,7 +78,6 @@ public class MogoRouteOverlayManager implements if (!queue.isEmpty()) { List items = queue.pollLast(); if (items != null && !items.isEmpty()) { - Logger.d(TAG, "--- onLocationChanged -- [isDemo1: " + FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData + ",isDemo2:" +FunctionBuildConfig.isDemoMode + ",isGps:" + isGps + ",mode:" + autopilotMode.get() + ",lon:" + location.getLongitude() + ",lat:" + location.getLatitude() + ",angle:" + location.getBearing() + "]"); RouteOverlayDrawer.getInstance().drawTrajectoryList(items, location.getBearing()); } } From 9a43fe76dce46c96a4368766be603fbc94950f91 Mon Sep 17 00:00:00 2001 From: lianglihui Date: Wed, 9 Nov 2022 16:26:43 +0800 Subject: [PATCH 02/14] =?UTF-8?q?2.12.0=20hdmap=20mapParams=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=9C=B0=E5=9B=BE=E6=98=BE=E7=A4=BA=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/map/CustomMapApiBuilder.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/CustomMapApiBuilder.java b/libraries/mogo-map/src/main/java/com/mogo/map/CustomMapApiBuilder.java index 9914ff80d3..b7f5d84f1e 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/CustomMapApiBuilder.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/CustomMapApiBuilder.java @@ -16,6 +16,7 @@ import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery; import com.mogo.map.search.traffic.IMogoTrafficSearch; import com.mogo.map.uicontroller.AMapUIController; import com.mogo.map.uicontroller.IMogoMapUIController; +import com.zhidaoauto.map.sdk.open.HDTypes; import com.zhidaoauto.map.sdk.open.MapAutoApi; import com.zhidaoauto.map.sdk.open.MapParams; import com.zhidaoauto.map.sdk.open.view.MapAutoView; @@ -60,6 +61,20 @@ public class CustomMapApiBuilder implements IMogoMapApiBuilder { //.setDataFileSource(1) .setCoordinateType(MapParams.COORDINATETYPE_GCJ02) .setPerspectiveMode(MapParams.MAP_PERSPECTIVE_3D) + .setHDVisibileArray(new int[]{HDTypes.DIVIDER.type, + HDTypes.ROAD_AREA.type, + HDTypes.STOP_LINE.type, + HDTypes.ARROW.type, + HDTypes.STATION_BRIDGE.type, + HDTypes.ZEBRA_LINE.type, + HDTypes.GREEN_BELT.type, + HDTypes.DIVERSION.type, + HDTypes.SAFE_ISLAND.type, + HDTypes.ALPHANUMERIC.type, + HDTypes.GUARDBAR.type, + HDTypes.TRAFFIC_DEVICE.type, + HDTypes.CABLE.type, + HDTypes.SIGNAL_LINE.type}) // .setZoom( 20 ) // .setPointToCenter( 0.734375f, 0.5f ) //todo 2D模式下需要注意ADAS部分遮挡 From 6732ed9a0086fddf0936a7011d8ba815d6aae117 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 9 Nov 2022 16:46:14 +0800 Subject: [PATCH 03/14] =?UTF-8?q?[2.12.0]=201=E3=80=81taxi=E5=8F=B8?= =?UTF-8?q?=E6=9C=BA=E7=AB=AF=E8=A7=A3=E5=86=B3=E5=8F=96=E6=B6=88=E4=B8=8A?= =?UTF-8?q?=E4=B8=80=E5=8D=95=EF=BC=8C=E6=96=B0=E8=AE=A2=E5=8D=95=E9=87=8C?= =?UTF-8?q?=E7=A8=8B=E5=92=8C=E6=97=B6=E9=97=B4=E9=97=AA=E4=B8=80=E4=B8=8B?= =?UTF-8?q?=E6=97=A7=E6=95=B0=E6=8D=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/taxi/ui/TaxiBeingServerdOrdersFragment.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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 83eecfc45d..e3ec7b298c 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 @@ -461,8 +461,7 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment if (status == TaxiOrderStatusEnum.None.getCode() || status == TaxiOrderStatusEnum.Cancel.getCode() || status == TaxiOrderStatusEnum.JourneyCompleted.getCode()) { isHaveBeingOrder(false); mCurrentOrder = null; - mDistanceAndTime2.setText("距离 - - 公里,用时 - - 分"); - mDistanceAndTime3.setText("距离 - - 公里,用时 - - 分"); + clearOrderTag(); } else { isHaveBeingOrder(true); } @@ -540,6 +539,12 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment }); } + private void clearOrderTag() { + saveOrderState = -1; + mDistanceAndTime2.setText("距离 - - 公里,用时 - - 分"); + mDistanceAndTime3.setText("距离 - - 公里,用时 - - 分"); + } + /** * 是否有正在进行的订单,进行UI显示 * @@ -620,7 +625,6 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment public void onCurrentOrderCancelDone() { //去除起终点 - saveOrderState = -1; if (mCurrentOrder != null){ setOrRemoveMapMaker(false, TaxiConst.TAXI_START_MAP_MAKER,mCurrentOrder.startSitePoint,R.raw.star_marker); setOrRemoveMapMaker(false, TaxiConst.TAXI_END_MAP_MAKER,mCurrentOrder.endSitePoint,R.raw.end_marker); @@ -631,6 +635,7 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment //更新界面 isHaveBeingOrder(false); showOrHideNavi(false); + clearOrderTag(); } private void clearSmallMapRouteLine() { From 3035d2ba86c5968781fb11542ad1285bfc4a2652 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 9 Nov 2022 18:30:39 +0800 Subject: [PATCH 04/14] =?UTF-8?q?[2.12.0]=20taxi-d/-p=20/bus-d=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=90=AF=E5=8A=A8=E8=87=AA=E9=A9=BE=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/bus/constant/BusConst.kt | 1 + .../och/bus/util/BusAnalyticsManager.java | 4 ++- .../module/manager/OCHAdasAbilityManager.java | 20 +++++++++++++- .../passenger/constant/TaxiPassengerConst.kt | 4 +++ .../passenger/model/TaxiPassengerModel.java | 11 ++++++++ .../utils/TaxiPassengerAnalyticsManager.java | 27 +++++++++++++++++++ .../com/mogo/och/taxi/constant/TaxiConst.kt | 1 + .../och/taxi/utils/TaxiAnalyticsManager.java | 6 ++--- 8 files changed, 69 insertions(+), 5 deletions(-) diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/constant/BusConst.kt b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/constant/BusConst.kt index b75ef88c4c..686e08b4e4 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/constant/BusConst.kt +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/constant/BusConst.kt @@ -63,6 +63,7 @@ class BusConst { const val EVENT_PARAM_END_NAME = "end_name" const val EVENT_PARAM_LINE_ID = "line_id" const val EVENT_PARAM_START_RESULT = "start_autopilot" // true/false + const val EVENT_PARAM_START_FAILURE_MSG = "start_autopilot_failure_msg" // 启动自驾失败原因 const val EVENT_PARAM_PLATE_NUM = "plate_number" // 车牌号 const val EVENT_PARAM_ENV_ONLINE = "env_online" // 是否线上环境:true/false // 埋点key:开启自动驾驶前已识别的异常,会导致无法开启自驾 diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java index 63d749bf3c..175d9e61d9 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java @@ -11,9 +11,9 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.utilcode.util.DateTimeUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.bus.constant.BusConst; +import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import java.util.HashMap; -import java.util.Map; /** * OCH Bus埋点工具 @@ -40,6 +40,8 @@ public class BusAnalyticsManager { mStartAutopilotParams.put(BusConst.EVENT_PARAM_START_RESULT , CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState() == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING); + mStartAutopilotParams.put(BusConst.EVENT_PARAM_START_FAILURE_MSG, + OCHAdasAbilityManager.getInstance().getStartFailedMessage()); AnalyticsManager.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); }; diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java index 0804a47687..54b2dfaa8c 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java @@ -6,9 +6,12 @@ import androidx.annotation.Nullable; import com.mogo.commons.debug.DebugConfig; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatisticsListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotStatisticsListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.zhidao.support.adas.high.bean.AutopilotAbility; +import com.zhidao.support.adas.high.bean.AutopilotStatistics; import chassis.Chassis; import system_master.SystemStatusInfo; @@ -18,12 +21,13 @@ import system_master.SystemStatusInfo; * 工控机状态信息回调(判断是否能否启动自动驾驶的回调) * 目前定的是3秒回调一次 */ -public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener { +public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMoGoAutopilotStatisticsListener { private static final String TAG = OCHAdasAbilityManager.class.getSimpleName(); private boolean isAutopilotAbility = true; private String autopilotAbilityReason = ""; + private String startFailedMessage = ""; private static final class SingletonHolder { private static final OCHAdasAbilityManager INSTANCE = new OCHAdasAbilityManager(); @@ -45,13 +49,19 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener { return autopilotAbilityReason; } + public String getStartFailedMessage() { + return startFailedMessage; + } + private void initListeners() { //2022.10.9 工控机状态信息回调(判断是否能否启动自动驾驶的回调), 目前定的是3秒回调一次 CallerAutopilotActionsListenerManager.INSTANCE.addListener(TAG, this); + CallerAutopilotStatisticsListenerManager.INSTANCE.addListener(TAG,this); } private void releaseListeners() { CallerAutopilotActionsListenerManager.INSTANCE.removeListener(this); + CallerAutopilotStatisticsListenerManager.INSTANCE.removeListener(this); } @Override @@ -88,6 +98,14 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener { Logger.d(TAG, "是否可以启动自动驾驶=" + isAutopilotAbility + " 原因=" + autopilotAbilityReason); } + + @Override + public void onAutopilotStatistics(@Nullable AutopilotStatistics statistics) { + if (1 == statistics.status || 3 == statistics.status){ //失败、超时 + startFailedMessage = statistics.failedMessage.getMsg(); + } + } + public void release() { releaseListeners(); } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt index d3270cb212..89bdaaddae 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt @@ -58,5 +58,9 @@ class TaxiPassengerConst { const val EVENT_PARAM_START_RESULT = "start_autopilot" // true/false const val EVENT_PARAM_PLATE_NUM = "plate_number" // 车牌号 const val EVENT_PARAM_ENV_ONLINE = "env_online" // 是否线上环境:true/false + + // 埋点key:开启自动驾驶前已识别的异常,会导致无法开启自驾 + const val EVENT_KEY_AP_UNABLE_START_REASON = "event_key_och_taxi_ap_unable_start_reason" + const val EVENT_PARAM_UNABLE_START_REASON = "unable_start_reason"; } } \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index 79e59a7b17..bcbe312e33 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -33,6 +33,7 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.module.common.MogoApisHandler; +import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import com.mogo.och.common.module.map.AmapNaviToDestinationModel; import com.mogo.och.common.module.biz.network.OchCommonServiceCallback; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; @@ -925,6 +926,16 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback startServicePilotDone(); } + if (!FunctionBuildConfig.isDemoMode && !OCHAdasAbilityManager.getInstance().getAutopilotAbilityStatus()) { + ToastUtils.showLong(OCHAdasAbilityManager.getInstance().getAutopilotUnAbilityReason() + + ", 请稍候重试"); + + TaxiPassengerAnalyticsManager.getInstance().triggerUnableStartAPReasonEvent( + mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr, mCurrentOCHOrder.orderNo, + OCHAdasAbilityManager.getInstance().getAutopilotUnAbilityReason()); + return; + } + double startWgsLon = mCurrentOCHOrder.startSitePoint.get(0); double startWgsLat = mCurrentOCHOrder.startSitePoint.get(1); double endWgsLon = mCurrentOCHOrder.endSitePoint.get(0); diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.java index 8d2aedf521..ba1670d046 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.java @@ -74,4 +74,31 @@ public class TaxiPassengerAnalyticsManager { UiThreadHandler.postDelayed(startAutopilotRunnable, TaxiPassengerConst.LOOP_PERIOD_15S); } } + + /** + * 触发"无法开启自驾已知异常"埋点 + * @param startName + * @param endName + * @param orderNo + */ + public void triggerUnableStartAPReasonEvent(String startName, String endName, String orderNo, + String reason) { + String sn = MoGoAiCloudClientConfig.getInstance().getSn(); + String plateNum = AppConfigInfo.INSTANCE.getPlateNumber(); + String dateTime = DateTimeUtils.getTimeText( + System.currentTimeMillis(), DateTimeUtils.yyyy_MM_dd_HH_mm_ss); + + HashMap params = new HashMap<>(); + + params.put(TaxiPassengerConst.EVENT_PARAM_SN, sn); + params.put(TaxiPassengerConst.EVENT_PARAM_PLATE_NUM, TextUtils.isEmpty(plateNum) ? "" : plateNum); + params.put(TaxiPassengerConst.EVENT_PARAM_ENV_ONLINE, + DebugConfig.getNetMode() == DebugConfig.NET_MODE_RELEASE ? true : false); + params.put(TaxiPassengerConst.EVENT_PARAM_TIME, dateTime); + params.put(TaxiPassengerConst.EVENT_PARAM_START_NAME, startName); + params.put(TaxiPassengerConst.EVENT_PARAM_END_NAME, endName); + params.put(TaxiPassengerConst.EVENT_PARAM_ORDER_NUMBER, orderNo); + params.put(TaxiPassengerConst.EVENT_PARAM_UNABLE_START_REASON, reason); + AnalyticsManager.INSTANCE.track(TaxiPassengerConst.EVENT_KEY_AP_UNABLE_START_REASON, params); + } } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/constant/TaxiConst.kt b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/constant/TaxiConst.kt index ae074c74fe..68f2379a42 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/constant/TaxiConst.kt +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/constant/TaxiConst.kt @@ -65,6 +65,7 @@ class TaxiConst { const val EVENT_PARAM_END_NAME = "end_name" const val EVENT_PARAM_ORDER_NUMBER = "order_num" const val EVENT_PARAM_START_RESULT = "start_autopilot" // true/false + const val EVENT_PARAM_START_FAILURE_MSG = "start_autopilot_failure_msg" // 启动自驾失败原因 const val EVENT_PARAM_PLATE_NUM = "plate_number" // 车牌号 const val EVENT_PARAM_ENV_ONLINE = "env_online" // 是否线上环境:true/false // 埋点key:开启自动驾驶前已识别的异常,会导致无法开启自驾 diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java index c1d843dc6e..fe12078c44 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java @@ -1,16 +1,14 @@ package com.mogo.och.taxi.utils; -import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI; - import android.text.TextUtils; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; import com.mogo.commons.debug.DebugConfig; import com.mogo.eagle.core.data.app.AppConfigInfo; import com.mogo.eagle.core.function.call.analytics.AnalyticsManager; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.DateTimeUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; +import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import com.mogo.och.taxi.constant.TaxiConst; import java.util.HashMap; @@ -38,6 +36,8 @@ public class TaxiAnalyticsManager { private Runnable startAutopilotRunnable = () -> { // 15s内未开启,上报失败埋点 mStartAutopilotParams.put(TaxiConst.EVENT_PARAM_START_RESULT, false); + mStartAutopilotParams.put(TaxiConst.EVENT_PARAM_START_FAILURE_MSG, + OCHAdasAbilityManager.getInstance().getStartFailedMessage()); AnalyticsManager.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); }; From 26da04fc3768fa812f37de3e5f38455bca46b175 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 9 Nov 2022 20:00:08 +0800 Subject: [PATCH 05/14] =?UTF-8?q?[2.12.0]=20taxi-d/-p=20/bus-d=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=90=AF=E5=8A=A8=E8=87=AA=E9=A9=BE=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E5=9F=8B=E7=82=B9=E4=B8=8A=E4=BC=A0=EF=BC=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/bus/model/BusOrderModel.java | 13 +++++++++++++ .../com/mogo/och/bus/util/BusAnalyticsManager.java | 10 ++++++---- .../module/callback/OchAdasStartFailureCallback.kt | 9 +++++++++ .../module/manager/OCHAdasAbilityManager.java | 13 ++++++++++++- .../java/com/mogo/och/taxi/model/TaxiModel.java | 12 ++++++++++++ .../mogo/och/taxi/utils/TaxiAnalyticsManager.java | 8 ++++++-- 6 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/callback/OchAdasStartFailureCallback.kt diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index 058019a8a9..5cfb30cd24 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -53,6 +53,7 @@ import com.mogo.och.bus.util.BusTrajectoryManager; import com.mogo.och.common.module.biz.constant.OchCommonConst; import com.mogo.och.common.module.biz.network.OchCommonServiceCallback; import com.mogo.och.common.module.biz.provider.LoginService; +import com.mogo.och.common.module.callback.OchAdasStartFailureCallback; import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; import com.mogo.och.common.module.utils.DateTimeUtil; @@ -159,6 +160,9 @@ public class BusOrderModel { //自动驾驶路线规划接口 CallerAutopilotPlanningListenerManager.INSTANCE.addListener(TAG, moGoAutopilotPlanningListener); + + //开启自驾后 异常信息返回 + OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(mAdasStartFailureListener); } //2022.1.28 @@ -296,6 +300,8 @@ public class BusOrderModel { //自动驾驶路线规划接口 CallerAutopilotPlanningListenerManager.INSTANCE.removeListener(moGoAutopilotPlanningListener); loginService = null; + + OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null); } private Object readResolve() { @@ -315,6 +321,13 @@ public class BusOrderModel { } }; + private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() { + @Override + public void onStartAutopilotFailure(@NonNull String startFailedMessage) { + BusAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); + } + }; + // 自车定位 private final IMogoCarLocationChangedListener2 mCarLocationChangedListener2 = new IMogoCarLocationChangedListener2() { diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java index 175d9e61d9..3a9db07933 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java @@ -30,20 +30,22 @@ public class BusAnalyticsManager { return BusAnalyticsManager.SingletonHolder.INSTANCE; } - - private String mStartAutopilotKey; private HashMap mStartAutopilotParams = new HashMap<>(); private Runnable startAutopilotRunnable = () -> { // 15s内未开启,上报失败埋点 + triggerStartAutopilotFailureEvent("15s后app等待超时"); + }; + + public void triggerStartAutopilotFailureEvent(String failMsg){ mStartAutopilotParams.put(BusConst.EVENT_PARAM_START_RESULT , CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState() == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING); mStartAutopilotParams.put(BusConst.EVENT_PARAM_START_FAILURE_MSG, - OCHAdasAbilityManager.getInstance().getStartFailedMessage()); + failMsg); AnalyticsManager.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); - }; + } /** * 触发'开启自动驾驶'埋点流程 diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/callback/OchAdasStartFailureCallback.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/callback/OchAdasStartFailureCallback.kt new file mode 100644 index 0000000000..b66f82d19a --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/callback/OchAdasStartFailureCallback.kt @@ -0,0 +1,9 @@ +package com.mogo.och.common.module.callback + +/** + * @author: wangmingjun + * @date: 2022/11/9 + */ +interface OchAdasStartFailureCallback { + fun onStartAutopilotFailure(startFailedMessage : String) +} \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java index 54b2dfaa8c..9ef69dc1ad 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java @@ -10,6 +10,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatisticsListen import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotStatisticsListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.Logger; +import com.mogo.och.common.module.callback.OchAdasStartFailureCallback; import com.zhidao.support.adas.high.bean.AutopilotAbility; import com.zhidao.support.adas.high.bean.AutopilotStatistics; @@ -29,6 +30,8 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo private String autopilotAbilityReason = ""; private String startFailedMessage = ""; + private OchAdasStartFailureCallback failureCallback = null; + private static final class SingletonHolder { private static final OCHAdasAbilityManager INSTANCE = new OCHAdasAbilityManager(); } @@ -41,6 +44,10 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo initListeners(); } + public void setAdasStartFailureCallback(OchAdasStartFailureCallback callback){ + failureCallback = callback; + } + public boolean getAutopilotAbilityStatus(){ return isAutopilotAbility; } @@ -101,8 +108,12 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo @Override public void onAutopilotStatistics(@Nullable AutopilotStatistics statistics) { - if (1 == statistics.status || 3 == statistics.status){ //失败、超时 + if (statistics == null || statistics.failedMessage == null) return; + Logger.d(TAG, "failedMessage= " + statistics.failedMessage.getMsg()); + if (failureCallback != null && 1 == statistics.status){ startFailedMessage = statistics.failedMessage.getMsg(); + failureCallback.onStartAutopilotFailure(startFailedMessage); + Logger.d(TAG, "startFailedMessage= " + startFailedMessage); } } 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 eff7f1e255..0927b9b0d6 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 @@ -38,6 +38,7 @@ import com.mogo.och.common.module.biz.constant.LoginStatusManager; import com.mogo.och.common.module.biz.constant.OchCommonConst; import com.mogo.och.common.module.biz.network.OchCommonServiceCallback; import com.mogo.och.common.module.biz.provider.LoginService; +import com.mogo.och.common.module.callback.OchAdasStartFailureCallback; import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import com.mogo.och.common.module.map.AmapNaviToDestinationModel; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; @@ -232,6 +233,9 @@ public class TaxiModel { //2021.11.1 自动驾驶路线规划接口 CallerAutopilotPlanningListenerManager.INSTANCE.addListener(TAG, moGoAutopilotPlanningListener); + + //开启自驾后 异常信息返回 + OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(mAdasStartFailureListener); } private void releaseListeners() { @@ -251,6 +255,7 @@ public class TaxiModel { CallerAutoPilotStatusListenerManager.INSTANCE.removeListener(mGoAutopilotStatusListener); CallerAutopilotPlanningListenerManager.INSTANCE.removeListener(moGoAutopilotPlanningListener); + OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null); } public void startOrStopOrderLoop(boolean start) { @@ -1008,6 +1013,13 @@ public class TaxiModel { } }; + private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() { + @Override + public void onStartAutopilotFailure(@NonNull String startFailedMessage) { + TaxiAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); + } + }; + private final IMogoStatusChangedListener mMogoStatusChangedListener = new IMogoStatusChangedListener() { // VR mode变更回调 @Override diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java index fe12078c44..e1fbcb954b 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java @@ -35,11 +35,15 @@ public class TaxiAnalyticsManager { private Runnable startAutopilotRunnable = () -> { // 15s内未开启,上报失败埋点 + triggerStartAutopilotFailureEvent("15s后app等待超时"); + }; + + public void triggerStartAutopilotFailureEvent(String failMsg){ mStartAutopilotParams.put(TaxiConst.EVENT_PARAM_START_RESULT, false); mStartAutopilotParams.put(TaxiConst.EVENT_PARAM_START_FAILURE_MSG, - OCHAdasAbilityManager.getInstance().getStartFailedMessage()); + failMsg); AnalyticsManager.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); - }; + } /** * 触发'开启自动驾驶'埋点流程 From a9333e012396d5dae0f8f7ad0f466777e2247a23 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 9 Nov 2022 21:32:03 +0800 Subject: [PATCH 06/14] =?UTF-8?q?[2.12.0]=20taxi/bus=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=A9=BE=E9=A9=B6=E5=90=AF=E5=8A=A8=E5=A4=B1=E8=B4=A5=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E9=80=BB=E8=BE=91=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/bus/callback/IBusADASStatusCallback.java | 11 +++++++++++ .../mogo/och/bus/fragment/BaseBusTabFragment.java | 8 ++++++-- .../java/com/mogo/och/bus/model/BusOrderModel.java | 10 ++++++++++ .../com/mogo/och/bus/presenter/BusPresenter.java | 10 +++++++++- .../module/manager/OCHAdasAbilityManager.java | 6 +++--- .../och/taxi/callback/ITaxiADASStatusCallback.java | 3 +++ .../java/com/mogo/och/taxi/model/TaxiModel.java | 4 ++++ .../com/mogo/och/taxi/presenter/TaxiPresenter.java | 5 +++++ .../com/mogo/och/taxi/ui/BaseTaxiTabFragment.java | 14 +++++--------- 9 files changed, 56 insertions(+), 15 deletions(-) create mode 100644 OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusADASStatusCallback.java diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusADASStatusCallback.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusADASStatusCallback.java new file mode 100644 index 0000000000..186fc0b5f4 --- /dev/null +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusADASStatusCallback.java @@ -0,0 +1,11 @@ +package com.mogo.och.bus.callback; + +/** + * Created on 2021/9/8 + * + * Model->Presenter回调:ADAS相关(自动驾驶状态回调,到达终点等等) + */ +public interface IBusADASStatusCallback { + //自驾返回失败 + void onStartAdasFailure(); +} diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java index e9f730bdb4..a780ffb698 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java @@ -385,14 +385,18 @@ public abstract class BaseBusTabFragment return; } if (isAnimateRunning){ - stopAutopilotAnimation(); - updateAutopilotStatus(autopilotStatus); + stopAnimAndUpdateBtnStatus(); }else { setAutopilotBtnStatus(autopilotStatus); } } + public void stopAnimAndUpdateBtnStatus(){ + stopAutopilotAnimation(); + updateAutopilotStatus(CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState()); + } + /** * 隐藏【自动驾驶】按钮 */ diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index 5cfb30cd24..1212ebb74a 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -40,6 +40,7 @@ import com.mogo.och.bus.bean.BusRoutesResponse; import com.mogo.och.bus.bean.BusRoutesResult; import com.mogo.och.bus.bean.BusStationBean; import com.mogo.och.bus.bean.WriteOffPassenger; +import com.mogo.och.bus.callback.IBusADASStatusCallback; import com.mogo.och.bus.callback.IBusControllerStatusCallback; import com.mogo.och.bus.callback.IPassengerCallback; import com.mogo.och.bus.callback.IRefreshBusStationsCallback; @@ -105,6 +106,7 @@ public class BusOrderModel { private ISlidePannelHideCallback slidePanelHideCallback; private IBusControllerStatusCallback mControllerStatusCallback; //Model->Presenter:VR mode等 private IPassengerCallback mPassengerCallback; //乘客核销回调 + private IBusADASStatusCallback mADASStatusCallback; List points = new ArrayList<>();//全路径信息 @@ -203,6 +205,10 @@ public class BusOrderModel { }); } + public void setAdasStatusCallback(IBusADASStatusCallback callback){ + this.mADASStatusCallback = callback; + } + public void setRefreshBusStationsCallback(IRefreshBusStationsCallback callback){ this.refreshBusStationsCallback = callback; } @@ -325,6 +331,10 @@ public class BusOrderModel { @Override public void onStartAutopilotFailure(@NonNull String startFailedMessage) { BusAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); + if (mADASStatusCallback != null){ + CallerLogger.INSTANCE.e( M_BUS + TAG, "mAdasStartFailureListener = "+startFailedMessage ); + mADASStatusCallback.onStartAdasFailure(); + } } }; diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java index 0ed6ee5692..c4d1be3b85 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java @@ -21,6 +21,7 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.bus.R; import com.mogo.och.bus.bean.BusStationBean; import com.mogo.och.bus.bean.WriteOffPassenger; +import com.mogo.och.bus.callback.IBusADASStatusCallback; import com.mogo.och.bus.callback.IBusControllerStatusCallback; import com.mogo.och.bus.callback.IPassengerCallback; import com.mogo.och.bus.callback.IRefreshBusStationsCallback; @@ -51,7 +52,7 @@ import system_master.SystemStatusInfo; */ public class BusPresenter extends Presenter implements IRefreshBusStationsCallback, ISlidePannelHideCallback - , IMoGoAutopilotStatusListener, IBusControllerStatusCallback, ILoginCallback, IPassengerCallback { + , IMoGoAutopilotStatusListener, IBusControllerStatusCallback, ILoginCallback, IPassengerCallback, IBusADASStatusCallback { private static final String TAG = "BusPresenter"; @@ -86,6 +87,7 @@ public class BusPresenter extends Presenter BusOrderModel.getInstance().setSlidePanelHideCallback(this); BusOrderModel.getInstance().setControllerStatusCallback(this); BusOrderModel.getInstance().setPassengerCallback(this); + BusOrderModel.getInstance().setAdasStatusCallback(this); } public void releaseListener() { @@ -93,6 +95,7 @@ public class BusPresenter extends Presenter BusOrderModel.getInstance().setSlidePanelHideCallback(null); BusOrderModel.getInstance().setControllerStatusCallback(null); BusOrderModel.getInstance().setPassengerCallback(null); + BusOrderModel.getInstance().setAdasStatusCallback(null); OCHAdasAbilityManager.getInstance().release(); } @@ -311,4 +314,9 @@ public class BusPresenter extends Presenter VoiceNotice.showNotice("核验通过", AIAssist.LEVEL3); } } + + @Override + public void onStartAdasFailure() { + runOnUIThread(() -> mView.stopAnimAndUpdateBtnStatus()); + } } diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java index 9ef69dc1ad..33d7fead37 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java @@ -108,12 +108,12 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo @Override public void onAutopilotStatistics(@Nullable AutopilotStatistics statistics) { - if (statistics == null || statistics.failedMessage == null) return; - Logger.d(TAG, "failedMessage= " + statistics.failedMessage.getMsg()); + if (statistics == null) return; + Logger.d(TAG, "AutopilotStatistics= " + statistics.status); if (failureCallback != null && 1 == statistics.status){ startFailedMessage = statistics.failedMessage.getMsg(); failureCallback.onStartAutopilotFailure(startFailedMessage); - Logger.d(TAG, "startFailedMessage= " + startFailedMessage); + Logger.d(TAG, "statistics-startFailedMessage= " + startFailedMessage); } } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java index 7d89fd4718..278829580f 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiADASStatusCallback.java @@ -20,4 +20,7 @@ public interface ITaxiADASStatusCallback { //人机共驾 void onManMachineCoDriving(); + + //自驾返回失败 + void onStartAdasFailure(); } 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 0927b9b0d6..764bff6369 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 @@ -1017,6 +1017,10 @@ public class TaxiModel { @Override public void onStartAutopilotFailure(@NonNull String startFailedMessage) { TaxiAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); + if (mADASStatusCallback != null){ + CallerLogger.INSTANCE.e(M_TAXI + TAG, "mAdasStartFailureListener = "+startFailedMessage); + mADASStatusCallback.onStartAdasFailure(); + } } }; 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 f28f7bbb59..94dcdc28d2 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 @@ -226,6 +226,11 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING; } + @Override + public void onStartAdasFailure() { + runOnUIThread(() -> mView.stopAnimAndUpdateBtnStatus()); + } + @Override public void onServiceDataUpdate(long dailyTimeDuration, long dailyOrderNum) { runOnUIThread(() -> mView.onServiceDataUpdate(dailyTimeDuration,dailyOrderNum)); diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 0d204d7ac5..8dc6ad1bab 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -354,19 +354,15 @@ public abstract class BaseTaxiTabFragment1 -// AIAssist.getInstance(getContext()).speakTTSVoice("已进入人工驾驶模式"); - } else if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE == status) { - // 2->0 -// AIAssist.getInstance(getContext()).speakTTSVoice("自动驾驶已停止,请人工接管"); - } - } mPrevAPStatus = status; }); } + public void stopAnimAndUpdateBtnStatus(){ + startOrStopLoadingAnim(false); + startAutopilotDone(false); + } + public void onManMachineCoDriving(int manMachineCoDriving){ if (mPrevAPStatus != manMachineCoDriving){ autopilotStatusAnimchanged(manMachineCoDriving); From b4d64c5b27af9bbddeb863e5c76367fec87c8f32 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 10 Nov 2022 14:55:29 +0800 Subject: [PATCH 07/14] =?UTF-8?q?[2.12.0]=20fix=20taxi=E5=8F=B8=E6=9C=BA?= =?UTF-8?q?=E7=AB=AF=E7=82=B9=E5=87=BB=E9=80=81=E9=A9=BE=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E5=B4=A9=E6=BA=83=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../callback/ITaxiOrderStatusCallback.java | 4 +-- .../com/mogo/och/taxi/model/TaxiModel.java | 26 ++++++++++++------- .../och/taxi/presenter/TaxiPresenter.java | 8 +++--- .../mogo/och/taxi/ui/BaseTaxiTabFragment.java | 2 +- .../ui/TaxiBeingServerdOrdersFragment.java | 6 ++--- .../com/mogo/och/taxi/ui/TaxiFragment.java | 8 +++--- .../och/taxi/ui/TaxiServerOrdersFragment.java | 4 +-- 7 files changed, 32 insertions(+), 26 deletions(-) diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiOrderStatusCallback.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiOrderStatusCallback.java index af980f8aea..eb825964ed 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiOrderStatusCallback.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiOrderStatusCallback.java @@ -52,7 +52,7 @@ public interface ITaxiOrderStatusCallback { /** * 导航到目的地 * @param isAmap 是否是高德导航 - * @param isVoicePlay 是否播报声音 + * @param isShow 是否显示导航地图(否播报声音) */ - void onNaviToEnd(boolean isAmap, boolean isVoicePlay); + void onNaviToEnd(boolean isAmap, boolean isShow); } 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 764bff6369..9c70c9d107 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 @@ -1597,20 +1597,26 @@ public class TaxiModel { } //导航去订单终点目的地 - public void startNaviToEndStation(boolean isVoicePlay){ + public void startNaviToEndStation(boolean isShow){ if (mRoutePoints.size() > 0 ){ //使用自驾轨迹 if (mOrderStatusCallback != null){ - mOrderStatusCallback.onNaviToEnd(false,isVoicePlay); + mOrderStatusCallback.onNaviToEnd(false,isShow); } - }else {//2s后若无轨迹数据使用高德导航 - UiThreadHandler.postDelayed(new Runnable() { - @Override - public void run() { - if (mRoutePoints.size() == 0 && mOrderStatusCallback != null){ - mOrderStatusCallback.onNaviToEnd(true,isVoicePlay); + }else {//若直接要显示导航地图则直接导航, 若不是则2s后若无轨迹数据使用高德导航 + if (isShow && mRoutePoints.size() == 0 && mOrderStatusCallback != null){ + + mOrderStatusCallback.onNaviToEnd(true,true); + }else { + UiThreadHandler.postDelayed(new Runnable() { + @Override + public void run() { + if (mRoutePoints.size() == 0 && mOrderStatusCallback != null){ + mOrderStatusCallback.onNaviToEnd(true,false); + } } - } - },2000l); + },2000l); + } + } } } 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 94dcdc28d2..ee9f9322e9 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 @@ -184,8 +184,8 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS } //导航去订单目的地 - public void startNaviToEndStation(boolean isVoicePlay){ - TaxiModel.getInstance().startNaviToEndStation(isVoicePlay); + public void startNaviToEndStation(boolean isShow){ + TaxiModel.getInstance().startNaviToEndStation(isShow); } public void reportToEndDisAndTime(long lastSumLength, long duration){//米/秒 @@ -323,8 +323,8 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS } @Override - public void onNaviToEnd(boolean isAmap, boolean isVoicePlay) { - runOnUIThread( () -> mView.onNaviToEnd(isAmap,isVoicePlay)); + public void onNaviToEnd(boolean isAmap, boolean isShow) { + runOnUIThread( () -> mView.onNaviToEnd(isAmap,isShow)); } @Override diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 8dc6ad1bab..bdd87e7431 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -624,5 +624,5 @@ public abstract class BaseTaxiTabFragment Date: Thu, 10 Nov 2022 15:14:26 +0800 Subject: [PATCH 08/14] =?UTF-8?q?[2.12.0]=20fix=20taxi=E4=B9=98=E5=AE=A2?= =?UTF-8?q?=E5=B1=8F=E9=80=81=E9=A9=BE=E9=AB=98=E5=BE=B7=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxi/passenger/presenter/BaseTaxiPassengerPresenter.java | 4 ---- .../mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.java | 2 -- .../taxi/passenger/ui/TaxiPassengerServingOrderFragment.java | 1 + 3 files changed, 1 insertion(+), 6 deletions(-) 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 a32c68198a..65cdd31aa6 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 @@ -249,8 +249,4 @@ public class BaseTaxiPassengerPresenter extends Presenter Date: Thu, 10 Nov 2022 15:56:38 +0800 Subject: [PATCH 09/14] =?UTF-8?q?[2.12.0]=20add=20taxi=E4=B9=98=E5=AE=A2?= =?UTF-8?q?=E5=B1=8F=E5=A2=9E=E5=8A=A0=E5=90=AF=E5=8A=A8=E8=87=AA=E9=A9=BE?= =?UTF-8?q?=E8=B6=85=E6=97=B6=E5=9F=8B=E7=82=B9=E5=8E=9F=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt | 1 + .../och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt index 89bdaaddae..b303ea69e0 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/constant/TaxiPassengerConst.kt @@ -56,6 +56,7 @@ class TaxiPassengerConst { const val EVENT_PARAM_END_NAME = "end_name" const val EVENT_PARAM_ORDER_NUMBER = "order_num" const val EVENT_PARAM_START_RESULT = "start_autopilot" // true/false + const val EVENT_PARAM_START_FAILURE_MSG = "start_autopilot_failure_msg" // 启动自驾失败原因 const val EVENT_PARAM_PLATE_NUM = "plate_number" // 车牌号 const val EVENT_PARAM_ENV_ONLINE = "env_online" // 是否线上环境:true/false diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.java index ba1670d046..18ba2e1e39 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/utils/TaxiPassengerAnalyticsManager.java @@ -35,6 +35,8 @@ public class TaxiPassengerAnalyticsManager { private Runnable startAutopilotRunnable = () -> { // 15s内未开启,上报失败埋点 mStartAutopilotParams.put(TaxiPassengerConst.EVENT_PARAM_START_RESULT, false); + mStartAutopilotParams.put(TaxiPassengerConst.EVENT_PARAM_START_FAILURE_MSG, + "15s后app等待超时"); AnalyticsManager.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); }; From 1c94413930a9a14ac57c98dbcca4cf926049ba34 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 10 Nov 2022 16:28:40 +0800 Subject: [PATCH 10/14] =?UTF-8?q?[2.12.0]=20taxi/bus=20=E7=BE=8E=E5=8C=96?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=B8=8B=E5=90=AF=E5=8A=A8=E8=87=AA=E9=A9=BE?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=EF=BC=8C=E8=87=AA=E5=8A=A8=E9=A9=BE=E9=A9=B6?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E7=8A=B6=E6=80=81=E4=B8=8D=E5=BC=B9=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/bus/model/BusOrderModel.java | 2 +- .../src/main/java/com/mogo/och/taxi/model/TaxiModel.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index 1212ebb74a..cffe5a9688 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -331,7 +331,7 @@ public class BusOrderModel { @Override public void onStartAutopilotFailure(@NonNull String startFailedMessage) { BusAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); - if (mADASStatusCallback != null){ + if (mADASStatusCallback != null && !FunctionBuildConfig.isDemoMode){ CallerLogger.INSTANCE.e( M_BUS + TAG, "mAdasStartFailureListener = "+startFailedMessage ); mADASStatusCallback.onStartAdasFailure(); } 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 9c70c9d107..ff0ce3c456 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 @@ -1017,7 +1017,7 @@ public class TaxiModel { @Override public void onStartAutopilotFailure(@NonNull String startFailedMessage) { TaxiAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); - if (mADASStatusCallback != null){ + if (mADASStatusCallback != null && !FunctionBuildConfig.isDemoMode){ CallerLogger.INSTANCE.e(M_TAXI + TAG, "mAdasStartFailureListener = "+startFailedMessage); mADASStatusCallback.onStartAdasFailure(); } From 6ec0f08275f1962bec368cdf6001a42702357206 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 10 Nov 2022 20:05:53 +0800 Subject: [PATCH 11/14] =?UTF-8?q?[2.12.0]=20taxi/bus=20=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E8=87=AA=E9=A9=BE=E5=9F=8B=E7=82=B9=E4=BB=A3=E7=A0=81=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/bus/model/BusOrderModel.java | 2 +- .../och/bus/util/BusAnalyticsManager.java | 23 ++++++++++++++----- .../com/mogo/och/taxi/model/TaxiModel.java | 2 +- .../och/taxi/utils/TaxiAnalyticsManager.java | 23 ++++++++++++++----- 4 files changed, 36 insertions(+), 14 deletions(-) diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index cffe5a9688..cc1a76cebf 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -330,7 +330,7 @@ public class BusOrderModel { private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() { @Override public void onStartAutopilotFailure(@NonNull String startFailedMessage) { - BusAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); + BusAnalyticsManager.getInstance().triggerStartAutopilotFailureEventByAdas(startFailedMessage); if (mADASStatusCallback != null && !FunctionBuildConfig.isDemoMode){ CallerLogger.INSTANCE.e( M_BUS + TAG, "mAdasStartFailureListener = "+startFailedMessage ); mADASStatusCallback.onStartAdasFailure(); diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java index 3a9db07933..f06c6bbd72 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java @@ -1,5 +1,6 @@ package com.mogo.och.bus.util; +import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; import android.text.TextUtils; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; @@ -8,10 +9,10 @@ import com.mogo.eagle.core.data.app.AppConfigInfo; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.analytics.AnalyticsManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.DateTimeUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.bus.constant.BusConst; -import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import java.util.HashMap; @@ -38,7 +39,13 @@ public class BusAnalyticsManager { triggerStartAutopilotFailureEvent("15s后app等待超时"); }; - public void triggerStartAutopilotFailureEvent(String failMsg){ + public void triggerStartAutopilotFailureEventByAdas(String failMsg){ + removeWaitingCallback(); + triggerStartAutopilotFailureEvent(failMsg); + } + + private void triggerStartAutopilotFailureEvent(String failMsg){ + CallerLogger.INSTANCE.e( M_BUS + "triggerStartAutopilotFailureEvent", failMsg ); mStartAutopilotParams.put(BusConst.EVENT_PARAM_START_RESULT , CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState() == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING); @@ -47,6 +54,13 @@ public class BusAnalyticsManager { AnalyticsManager.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); } + private void removeWaitingCallback() { + if (startAutopilotRunnable != null && + UiThreadHandler.getsUiHandler().hasCallbacks(startAutopilotRunnable)) { + UiThreadHandler.removeCallbacks(startAutopilotRunnable); + } + } + /** * 触发'开启自动驾驶'埋点流程 * 开启自动驾驶,15s内成功则发送成功埋点,否则发送失败埋点 @@ -73,10 +87,7 @@ public class BusAnalyticsManager { if (send) { // 开启成功,上报埋点 - if (startAutopilotRunnable != null && - UiThreadHandler.getsUiHandler().hasCallbacks(startAutopilotRunnable)) { - UiThreadHandler.removeCallbacks(startAutopilotRunnable); - } + removeWaitingCallback(); mStartAutopilotParams.put(BusConst.EVENT_PARAM_START_RESULT, true); AnalyticsManager.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); } else { 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 ff0ce3c456..348ca2acbe 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 @@ -1016,7 +1016,7 @@ public class TaxiModel { private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() { @Override public void onStartAutopilotFailure(@NonNull String startFailedMessage) { - TaxiAnalyticsManager.getInstance().triggerStartAutopilotFailureEvent(startFailedMessage); + TaxiAnalyticsManager.getInstance().triggerStartAutopilotFailureEventByAdas(startFailedMessage); if (mADASStatusCallback != null && !FunctionBuildConfig.isDemoMode){ CallerLogger.INSTANCE.e(M_TAXI + TAG, "mAdasStartFailureListener = "+startFailedMessage); mADASStatusCallback.onStartAdasFailure(); diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java index e1fbcb954b..b6180d52d5 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/utils/TaxiAnalyticsManager.java @@ -1,14 +1,15 @@ package com.mogo.och.taxi.utils; +import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI; import android.text.TextUtils; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; import com.mogo.commons.debug.DebugConfig; import com.mogo.eagle.core.data.app.AppConfigInfo; import com.mogo.eagle.core.function.call.analytics.AnalyticsManager; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.DateTimeUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import com.mogo.och.taxi.constant.TaxiConst; import java.util.HashMap; @@ -38,7 +39,20 @@ public class TaxiAnalyticsManager { triggerStartAutopilotFailureEvent("15s后app等待超时"); }; - public void triggerStartAutopilotFailureEvent(String failMsg){ + public void triggerStartAutopilotFailureEventByAdas(String failMsg){ + removeWaitingCallback(); + triggerStartAutopilotFailureEvent(failMsg); + } + + private void removeWaitingCallback() { + if (startAutopilotRunnable != null && + UiThreadHandler.getsUiHandler().hasCallbacks(startAutopilotRunnable)) { + UiThreadHandler.removeCallbacks(startAutopilotRunnable); + } + } + + private void triggerStartAutopilotFailureEvent(String failMsg){ + CallerLogger.INSTANCE.e(M_TAXI + "triggerStartAutopilotFailureEvent", failMsg); mStartAutopilotParams.put(TaxiConst.EVENT_PARAM_START_RESULT, false); mStartAutopilotParams.put(TaxiConst.EVENT_PARAM_START_FAILURE_MSG, failMsg); @@ -73,10 +87,7 @@ public class TaxiAnalyticsManager { if (send) { // 开启成功,上报埋点 - if (startAutopilotRunnable != null && - UiThreadHandler.getsUiHandler().hasCallbacks(startAutopilotRunnable)) { - UiThreadHandler.removeCallbacks(startAutopilotRunnable); - } + removeWaitingCallback(); mStartAutopilotParams.put(TaxiConst.EVENT_PARAM_START_RESULT, true); AnalyticsManager.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); } else { From 9707137c21d21aa4f6606ad7b7e93e318eebc92a Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 11 Nov 2022 17:11:22 +0800 Subject: [PATCH 12/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E9=80=9F=E5=BA=A6=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/tools/AutoPilotAndCheckView.kt | 45 +++++++++---------- .../res/drawable/taxi_loginout_sure_bg.xml | 6 +++ .../main/res/layout/view_auto_pilot_check.xml | 19 +++++++- 3 files changed, 43 insertions(+), 27 deletions(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable/taxi_loginout_sure_bg.xml diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt index c6c1ce249a..562f8806d9 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt @@ -7,6 +7,7 @@ import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.os.Process import android.util.AttributeSet +import android.util.Log import android.view.LayoutInflater import android.view.View import android.widget.FrameLayout @@ -113,51 +114,45 @@ class AutoPilotAndCheckView @JvmOverloads constructor( // if (maxAcceleration > 0) { // tvAcceleration.text = "加速度 $maxAcceleration m/s²" // } - tvAcceleration.text = "每次调整车速±5km/h" + tvAcceleration.text = "每次调整车速±5km/h,点击确定生效" if (speedLimit > 0) { tvSpeed.text = speedLimit.toString() }else{ tvSpeed.text = "0" } + ivSpeedReduce.setOnClickListener { if(speedLimit>=5){ speedLimit -= 5 - //速度显示 - val isSuccess = CallerAutoPilotManager.setAutoPilotSpeed(speedLimit) - when { - isSuccess -> { - //速度显示 - tvSpeed.text = speedLimit.toString() - ToastUtils.showShort("车速设置成功,立即生效") - } - else -> { - ToastUtils.showShort("设置车速失败,请启动域控制器") - } - } + tvSpeed.text = speedLimit.toString() }else{ ToastUtils.showShort("车速不能再减了") } } + ivSpeedAdd.setOnClickListener { if(speedLimit<=55){ speedLimit += 5 - //速度显示 - val isSuccess = CallerAutoPilotManager.setAutoPilotSpeed(speedLimit) - when { - isSuccess -> { - //速度显示 - tvSpeed.text = speedLimit.toString() - ToastUtils.showShort("车速设置成功,立即生效") - } - else -> { - ToastUtils.showShort("设置车速失败,请启动域控制器") - } - } + tvSpeed.text = speedLimit.toString() }else{ ToastUtils.showShort("车速不能再加了") } } + //速度确认 + tvSureModify.setOnClickListener { + val isSuccess = CallerAutoPilotManager.setAutoPilotSpeed(speedLimit) + when { + isSuccess -> { + //速度显示 + tvSpeed.text = speedLimit.toString() + ToastUtils.showShort("车速设置成功,立即生效") + } + else -> { + ToastUtils.showShort("设置车速失败,请启动域控制器") + } + } + } initOchView() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/taxi_loginout_sure_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/taxi_loginout_sure_bg.xml new file mode 100644 index 0000000000..d681263571 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/taxi_loginout_sure_bg.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_auto_pilot_check.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_auto_pilot_check.xml index a41f32557b..fcdc0ab192 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_auto_pilot_check.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_auto_pilot_check.xml @@ -241,6 +241,7 @@ /> x` + android:layout_marginStart="40px" /> + + Date: Fri, 11 Nov 2022 19:16:53 +0800 Subject: [PATCH 13/14] [2.12.0]find the wu yu zi code and update log version --- .../core/function/hmi/ui/MoGoHmiFragment.kt | 48 +++++++++++++++++++ gradle.properties | 2 +- 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 0f5783796b..a593620e3a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -198,6 +198,8 @@ class MoGoHmiFragment : MvpFragment(), } override fun initViews() { + toggleStatusBarView() + initViewShowWithConfig() //设置StatusBar初始状态 @@ -742,6 +744,52 @@ class MoGoHmiFragment : MvpFragment(), } } + private fun toggleStatusBarView() { + activity?.let{ + if(statusBarViewFloat!= null){ + WarningFloat.dismiss(statusBarViewFloat!!.config.floatTag, false) + statusBarViewFloat = null + statusBarView = null + }else{ + if (statusBarView == null){ + statusBarView = StatusBarView(it) + } + val side = TOP + val gravity = Gravity.TOP + statusBarViewFloat = WarningFloat.with(it) + .setTag("statusBarView") + .setLayout(statusBarView!!) + .setSidePattern(side) + .setWindowWidth(ScreenUtils.getScreenWidth()) + .setWindowHeight(BarUtils.getStatusBarHeight()) + .setGravity(gravity, 0) + .setImmersionStatusBar(true) + .setAnimator(object : DefaultAnimator() { + override fun enterAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.enterAnim(view, params, windowManager, sidePattern) + ?.apply { + interpolator = LinearInterpolator() + } + + override fun exitAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.exitAnim(view, params, windowManager, sidePattern) + ?.setDuration(200) + }) + .show() + } + } + } + /** * 展示VR下V2X预警 * diff --git a/gradle.properties b/gradle.properties index 3d4b65f124..111c18c586 100644 --- a/gradle.properties +++ b/gradle.properties @@ -63,7 +63,7 @@ BIZCONFIG_VERSION=1.3.2 SERVICE_BIZ_VERSION=1.2.4 ################ 外部依赖引用 ################ # loglib -LOGLIB_VERSION=1.3.39 +LOGLIB_VERSION=1.4.5 ######## MogoAiCloudSDK Version ######## # 网络请求LOGLIB_VERSION MOGO_NETWORK_VERSION=1.4.3.26 From f12974f73c90a4e16c866c7c78e7b7e3234cfd52 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Fri, 11 Nov 2022 21:48:51 +0800 Subject: [PATCH 14/14] =?UTF-8?q?[2.12.0]=20taxi=E9=80=81=E9=A9=BE?= =?UTF-8?q?=E9=AB=98=E5=BE=B7=E5=AF=BC=E8=88=AA=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/taxi/model/TaxiModel.java | 3 +++ .../src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) 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 348ca2acbe..3edd01769f 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 @@ -1358,6 +1358,9 @@ public class TaxiModel { //开启实时计算剩余距离,剩余时间,预计时间 startOrStopCalculateRouteInfo(true); AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi(); + if (mOrderStatusCallback != null){ + mOrderStatusCallback.onNaviToEnd(false,false); + } } private void reportTotalDisAndTime() { 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 d94c06c813..056ed4c921 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 @@ -315,8 +315,10 @@ public class TaxiFragment extends BaseTaxiTabFragment