Merge branch 'dev_robotaxi-d-app-module_270_220510_2.7.0' into dev_robotaxi-d-app-module_270-passenger
This commit is contained in:
@@ -50,6 +50,8 @@ class TaxiConst {
|
||||
const val DEMO_USER = "V"
|
||||
const val TEST_USER = "内测"
|
||||
|
||||
// 埋点key:接管后点击'自动驾驶'按钮启动
|
||||
const val EVENT_KEY_RESTART_AUTOPILOT = "event_key_och_taxi_restart_autopilot"
|
||||
// 埋点key:开始服务开启自动驾驶(成功/失败)
|
||||
const val EVENT_KEY_START_SERVICE = "event_key_och_taxi_start_service"
|
||||
const val EVENT_PARAM_SN = "sn"
|
||||
|
||||
@@ -835,7 +835,10 @@ public class TaxiModel {
|
||||
return false;
|
||||
}
|
||||
|
||||
//以当前订单为基础,开启自动驾驶
|
||||
/**
|
||||
* 以当前订单为基础,开启自动驾驶
|
||||
* @param isRestart 开启自动驾驶
|
||||
*/
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
@@ -844,7 +847,7 @@ public class TaxiModel {
|
||||
paramIndexes = {0},
|
||||
clientPkFileName = "sn"
|
||||
)
|
||||
public void startAutoPilot() {
|
||||
public void startAutoPilot(boolean isRestart) {
|
||||
if (!checkCurrentOCHOrder()) {
|
||||
CallerLogger.INSTANCE.e(M_TAXI + TAG, "no order or order is empty.");
|
||||
TipToast.shortTip("当前订单不存在或异常!");
|
||||
@@ -873,7 +876,7 @@ public class TaxiModel {
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "start autopilot with parameter: %s", GsonUtil.jsonFromObject(parameters)
|
||||
+ " ,startSiteName=" + mCurrentOCHOrder.startSiteAddr + " ,endSiteName=" + mCurrentOCHOrder.endSiteAddr);
|
||||
|
||||
TaxiAnalyticsUtil.triggerStartServiceEvent(false,
|
||||
TaxiAnalyticsUtil.triggerStartAutopilotEvent(isRestart, false,
|
||||
mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr, mCurrentOCHOrder.orderNo);
|
||||
|
||||
if (DebugConfig.isDebug()) {
|
||||
@@ -1061,7 +1064,7 @@ public class TaxiModel {
|
||||
mPrevAPStatus = state; // 每个状态单独赋值,解决无订单时已经是2的状态导致的新订单来时无法进入此逻辑更新状态
|
||||
updateOCHOrderStatus(TaxiOrderStatusEnum.OnTheWayToEnd);
|
||||
|
||||
TaxiAnalyticsUtil.triggerStartServiceEvent(true,
|
||||
TaxiAnalyticsUtil.triggerStartAutopilotEvent(false, true,
|
||||
mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr, mCurrentOCHOrder.orderNo);
|
||||
|
||||
if (FunctionBuildConfig.isDemoMode) {
|
||||
@@ -1069,6 +1072,12 @@ public class TaxiModel {
|
||||
FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true;
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "美化模式-ignore:置为true(到达出发点且已开启自动驾驶)");
|
||||
}
|
||||
} else if (mCurrentOCHOrder != null
|
||||
&& getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd
|
||||
&& state != mPrevAPStatus) {
|
||||
// 接管后再次启动成功埋点
|
||||
TaxiAnalyticsUtil.triggerStartAutopilotEvent(true, true,
|
||||
mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr, mCurrentOCHOrder.orderNo);
|
||||
}
|
||||
} else if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE) {
|
||||
mPrevAPStatus = state;
|
||||
|
||||
@@ -87,9 +87,12 @@ public class TaxiPresenter extends Presenter<TaxiFragment> implements ITaxiADASS
|
||||
}
|
||||
}
|
||||
|
||||
// 开启自动驾驶
|
||||
public void startAutoPilot() {
|
||||
TaxiModel.getInstance().startAutoPilot();
|
||||
/**
|
||||
* 开启自动驾驶
|
||||
* @param isRestart 是否是接管后重启自动驾驶
|
||||
*/
|
||||
public void startAutoPilot(boolean isRestart) {
|
||||
TaxiModel.getInstance().startAutoPilot(isRestart);
|
||||
}
|
||||
|
||||
// 更新出车/收车状态
|
||||
|
||||
@@ -173,7 +173,8 @@ public abstract class BaseTaxiTabFragment<V extends IView, P extends Presenter<V
|
||||
@Override
|
||||
public void onClickImpl(View v) {
|
||||
// 如果能自动驾驶,就自动驾驶,不能就提示
|
||||
if (CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState() != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE) {
|
||||
if (CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState() !=
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE) {
|
||||
restartAutopilot();
|
||||
}else {
|
||||
TipToast.shortTip(getResources().getString(R.string.module_och_taxi_auto_disable_tip));
|
||||
|
||||
@@ -62,7 +62,7 @@ public class TaxiFragment extends BaseTaxiTabFragment<TaxiFragment, TaxiPresente
|
||||
// 在自动驾驶中,才会有重新开启自动驾驶的操作
|
||||
if (mPresenter.getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd && !isStarting) {
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "restartAutopilot");
|
||||
mPresenter.startAutoPilot();
|
||||
mPresenter.startAutoPilot(true);
|
||||
startOrStopLoadingAnim(true);
|
||||
}
|
||||
}
|
||||
@@ -220,7 +220,7 @@ public class TaxiFragment extends BaseTaxiTabFragment<TaxiFragment, TaxiPresente
|
||||
|
||||
public void startAutoPilot() {
|
||||
if (!isStarting){
|
||||
mPresenter.startAutoPilot();
|
||||
mPresenter.startAutoPilot(false);
|
||||
startOrStopLoadingAnim(true);
|
||||
}
|
||||
}
|
||||
@@ -350,7 +350,7 @@ public class TaxiFragment extends BaseTaxiTabFragment<TaxiFragment, TaxiPresente
|
||||
findViewById(R.id.test_bar_on_the_way_to_end).setOnClickListener(v -> {
|
||||
showNotice("自动驾驶已启动,请系好安全带");
|
||||
if (!isStarting){
|
||||
mPresenter.startAutoPilot();
|
||||
mPresenter.startAutoPilot(false);
|
||||
startOrStopLoadingAnim(true);
|
||||
}
|
||||
TaxiModel.getInstance().setOnTheWayToEndStation();
|
||||
|
||||
@@ -21,13 +21,15 @@ import java.util.Map;
|
||||
public class TaxiAnalyticsUtil {
|
||||
|
||||
/**
|
||||
* 触发'开始服务'埋点流程:
|
||||
* 点击开始服务(开启自动驾驶)后,15s内成功则发送成功埋点,否则发送失败埋点
|
||||
* 触发'开启自动驾驶'埋点流程
|
||||
* 开启自动驾驶,15s内成功则发送成功埋点,否则发送失败埋点
|
||||
* @param restart false(点击'开始服务'启动)/true(接管后点击'自动驾驶'按钮启动)
|
||||
* @param send 是否直接发送埋点(15s内开启成功则直接发送成功埋点)
|
||||
*/
|
||||
public static void triggerStartServiceEvent(
|
||||
boolean send, String startName, String endName, String orderNo) {
|
||||
|
||||
public static void triggerStartAutopilotEvent(
|
||||
boolean restart, boolean send, String startName, String endName, String orderNo) {
|
||||
String key = restart ?
|
||||
TaxiConst.EVENT_KEY_RESTART_AUTOPILOT : TaxiConst.EVENT_KEY_START_SERVICE;
|
||||
String sn = MoGoAiCloudClientConfig.getInstance().getSn();
|
||||
String plateNum = AppConfigInfo.INSTANCE.getPlateNumber();
|
||||
String dateTime = DateTimeUtils.getTimeText(
|
||||
@@ -46,7 +48,7 @@ public class TaxiAnalyticsUtil {
|
||||
Runnable runnable = () -> {
|
||||
// 15s内未开启,上报失败埋点
|
||||
params.put(TaxiConst.EVENT_PARAM_START_RESULT, false);
|
||||
AnalyticsManager.INSTANCE.track(TaxiConst.EVENT_KEY_START_SERVICE, params);
|
||||
AnalyticsManager.INSTANCE.track(key, params);
|
||||
};
|
||||
|
||||
if (send) {
|
||||
@@ -55,7 +57,7 @@ public class TaxiAnalyticsUtil {
|
||||
UiThreadHandler.removeCallbacks(runnable);
|
||||
}
|
||||
params.put(TaxiConst.EVENT_PARAM_START_RESULT, true);
|
||||
AnalyticsManager.INSTANCE.track(TaxiConst.EVENT_KEY_START_SERVICE, params);
|
||||
AnalyticsManager.INSTANCE.track(key, params);
|
||||
} else {
|
||||
UiThreadHandler.postDelayed(runnable, TaxiConst.LOOP_PERIOD_15S);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user