逻辑迁移完毕,待测

This commit is contained in:
tongchenfei
2020-06-08 17:12:15 +08:00
parent c712b6f03b
commit c0dd5d3161
8 changed files with 585 additions and 658 deletions

View File

@@ -2,21 +2,22 @@ package com.mogo.module.share;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant;
import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant;
import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener;
import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener;
import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager;
import com.mogo.module.authorize.model.bean.Agreement;
import com.mogo.module.share.bean.StepAfterAuth;
import com.mogo.module.share.bean.StepAfterAuthKt;
import com.mogo.module.share.constant.ShareConstants;
import com.mogo.module.share.dialog.LaucherShareDialog;
import com.mogo.module.share.manager.ServiceApisManager;
import com.mogo.module.share.manager.UploadHelper;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.intent.IMogoIntentListener;
import com.mogo.service.intent.IMogoIntentManager;
@@ -25,18 +26,48 @@ import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
import org.jetbrains.annotations.NotNull;
import org.json.JSONException;
import org.json.JSONObject;
import static com.mogo.module.share.bean.StepAfterAuthKt.STEP_AFTER_AUTH_TYPE_SEEK_HELP;
import static com.mogo.module.share.bean.StepAfterAuthKt.STEP_AFTER_AUTH_TYPE_SHOW_DIALOG;
import static com.mogo.module.share.bean.StepAfterAuthKt.STEP_AFTER_AUTH_TYPE_UPLOAD;
import static com.mogo.module.share.constant.ShareConstants.CMD_CANCEL_SHARE;
import static com.mogo.module.share.constant.ShareConstants.CMD_ROAD_CLOSURE;
import static com.mogo.module.share.constant.ShareConstants.CMD_TRAFFIC_CHECK;
import static com.mogo.module.share.constant.ShareConstants.CMD_UPLOAD_ACCIDENT;
import static com.mogo.module.share.constant.ShareConstants.CMD_UPLOAD_BLOCK;
import static com.mogo.module.share.constant.ShareConstants.TYPE_ACCIDENT;
import static com.mogo.module.share.constant.ShareConstants.TYPE_BLOCK;
import static com.mogo.module.share.constant.ShareConstants.TYPE_CLOSURE;
import static com.mogo.module.share.constant.ShareConstants.TYPE_DENSE_FOG;
import static com.mogo.module.share.constant.ShareConstants.TYPE_REAL_TIME_TRAFFIC;
import static com.mogo.module.share.constant.ShareConstants.TYPE_ROAD_CONSTRUCTION;
import static com.mogo.module.share.constant.ShareConstants.TYPE_ROAD_ICY;
import static com.mogo.module.share.constant.ShareConstants.TYPE_STAGNANT_WATER;
import static com.mogo.module.share.constant.ShareConstants.TYPE_TRAFFIC_CHECK;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_CANCEL_SHARE;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ACCIDENT;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_DENSE_FOG;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_REAL_TIME_TRAFFIC;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ROAD_BLOCK;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ROAD_CLOSURE;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ROAD_CONDITION;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ROAD_CONSTRUCTION;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ROAD_ICY;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_SEEK_HELP;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_STAGNANT_WATER;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_TRAFFIC_CHECK;
import static com.mogo.module.share.constant.ShareConstants.UPLOAD_DENSE_FOG;
import static com.mogo.module.share.constant.ShareConstants.UPLOAD_REAL_TIME_TRAFFIC;
import static com.mogo.module.share.constant.ShareConstants.UPLOAD_ROAD_CONSTRUCTION;
import static com.mogo.module.share.constant.ShareConstants.UPLOAD_ROAD_ICY;
import static com.mogo.module.share.constant.ShareConstants.UPLOAD_SEEK_HELP;
import static com.mogo.module.share.constant.ShareConstants.UPLOAD_STAGNANT_WATER;
import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_GO_TO_SHARE;
import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_NO_REPLY_SHARE_DIALOG_CLOSE;
import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_PUB_ROAD_CONDITION;
import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_PUB_TROUBLE_HELP;
import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_SHARE_DIALOG_CLOSE;
/**
* 分享框的逻辑都放到这里吧
@@ -46,19 +77,20 @@ import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_PUB_TROUBL
* @since 2020-01-10
*/
@Route(path = MogoServicePaths.PATH_SHARE)
public class ShareControl implements IMogoShareManager {
public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMogoVoiceCmdCallBack {
private static final String TAG = "ShareControl";
private Context mContext;
private LaucherShareDialog mShareDialog;
private IMogoAuthorizeModuleManager authorizeModuleManager;
private IMogoIntentManager intentManager;
@Override
public void showShareDialog() {
if (authorizeModuleManager.needAuthorize(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE)) {
authorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
}else{
} else {
realShowDialog();
}
}
@@ -70,15 +102,18 @@ public class ShareControl implements IMogoShareManager {
}
}
private void realShowDialog(){
private void realShowDialog() {
if (mShareDialog == null) {
mShareDialog = new LaucherShareDialog(mContext);
}
mShareDialog.show();
}
private StepAfterAuth stepAfterAuth = new StepAfterAuth(-1, "");
@Override
public void init(Context context) {
Logger.d(TAG,"start init====");
mContext = context;
ServiceApisManager.INSTANCE.init(context);
authorizeModuleManager =
@@ -86,7 +121,21 @@ public class ShareControl implements IMogoShareManager {
authorizeModuleManager.registerAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE, new IMogoAcquireAuthorizeListener() {
@Override
public void authorizeSuccess() {
realShowDialog();
switch (stepAfterAuth.getType()) {
case STEP_AFTER_AUTH_TYPE_SHOW_DIALOG:
realShowDialog();
break;
case STEP_AFTER_AUTH_TYPE_UPLOAD:
UploadHelper.INSTANCE.upload(mContext, stepAfterAuth.getUploadType());
dismissShareDialog();
break;
case STEP_AFTER_AUTH_TYPE_SEEK_HELP:
seekHelp();
dismissShareDialog();
break;
default:
break;
}
}
@Override
@@ -99,75 +148,264 @@ public class ShareControl implements IMogoShareManager {
TipToast.tip("未授权,无法分享");
}
});
ServiceApisManager.serviceApis.getIntentManagerApi().registerIntentListener("ShareDialog", new IMogoIntentListener() {
@Override
public void onIntentReceived(String intentStr, Intent intent) {
// 此处只接受处理语音相关广播
String command = intent.getStringExtra("command");
Logger.d(TAG, "收到唤醒词指令: " + command);
try {
switch (command) {
case VOICE_CMD_PUB_TROUBLE_HELP: {
// 开启服务,准备上报求助
Intent seekHelp = new Intent(mContext, VoiceCmdService.class);
seekHelp.putExtra(ShareConstants.VOICE_CMD_SERVICE_EVENT_KEY,
ShareConstants.VOICE_CMD_SERVICE_SEEK_HELP);
mContext.startService(seekHelp);
dismissShareDialog();
break;
}
case VOICE_CMD_GO_TO_SHARE: {
String ob = new JSONObject(intent.getStringExtra("data")).opt("ob").toString();
Logger.d(TAG, "ob: $ob");
switch (ob) {
case "积水": {
UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER);
dismissShareDialog();
break;
}
case "积冰": {
UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY);
dismissShareDialog();
break;
}
case "": {
UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG);
dismissShareDialog();
break;
}
case "交通事故": {
UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT);
dismissShareDialog();
break;
}
case "施工": {
UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION);
dismissShareDialog();
break;
}
default:
break;
intentManager = ServiceApisManager.serviceApis.getIntentManagerApi();
intentManager.registerIntentListener(VOICE_CMD_GO_TO_SHARE, this);
intentManager.registerIntentListener(VOICE_CMD_PUB_TROUBLE_HELP, this);
intentManager.registerIntentListener(VOICE_CMD_PUB_ROAD_CONDITION, this);
intentManager.registerIntentListener(VOICE_CMD_SHARE_DIALOG_CLOSE, this);
intentManager.registerIntentListener(VOICE_CMD_NO_REPLY_SHARE_DIALOG_CLOSE, this);
intentManager.registerIntentListener(UNWAKE_UPLOAD_ROAD_CONDITION, this);
// 免唤醒词注册
AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_ROAD_BLOCK,
CMD_UPLOAD_BLOCK, this);
AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_TRAFFIC_CHECK,
CMD_TRAFFIC_CHECK, this);
AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_ROAD_CLOSURE,
CMD_ROAD_CLOSURE, this);
AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_CANCEL_SHARE,
CMD_CANCEL_SHARE, this);
if (DebugConfig.getAIType() == DebugConfig.AI_TYPE_TXZ) {
// 使用同行者语义你的话,增加如下免唤醒词
AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_ACCIDENT,
CMD_UPLOAD_ACCIDENT, this);
AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_REAL_TIME_TRAFFIC,
UPLOAD_REAL_TIME_TRAFFIC, this);
AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_SEEK_HELP,
UPLOAD_SEEK_HELP, this);
AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_STAGNANT_WATER,
UPLOAD_STAGNANT_WATER, this);
AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_ROAD_ICY,
UPLOAD_ROAD_ICY, this);
AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_DENSE_FOG,
UPLOAD_DENSE_FOG, this);
AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_ROAD_CONSTRUCTION,
UPLOAD_ROAD_CONSTRUCTION, this);
}
Logger.d(TAG,"init over====");
}
@Override
public void onCmdSelected(String cmd) {
switch (cmd) {
case UNWAKE_CANCEL_SHARE:
dismissShareDialog();
break;
case UNWAKE_UPLOAD_ROAD_BLOCK:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK);
}
break;
case UNWAKE_UPLOAD_TRAFFIC_CHECK:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_TRAFFIC_CHECK);
}
break;
case UNWAKE_UPLOAD_ROAD_CLOSURE:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_CLOSURE);
}
break;
case UNWAKE_UPLOAD_ACCIDENT:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT);
}
break;
case UNWAKE_UPLOAD_REAL_TIME_TRAFFIC:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_REAL_TIME_TRAFFIC);
}
break;
case UNWAKE_UPLOAD_SEEK_HELP:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_SEEK_HELP, TYPE_BLOCK);
} else {
seekHelp();
}
break;
case UNWAKE_UPLOAD_STAGNANT_WATER:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER);
}
break;
case UNWAKE_UPLOAD_ROAD_ICY:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY);
}
break;
case UNWAKE_UPLOAD_DENSE_FOG:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG);
}
break;
case UNWAKE_UPLOAD_ROAD_CONSTRUCTION:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION);
}
break;
default:
break;
}
}
@Override
public void onIntentReceived(String intentStr, Intent intent) {
// 此处只接受处理语音相关广播
Logger.d(TAG, "收到唤醒词指令: " + intentStr);
try {
switch (intentStr) {
case VOICE_CMD_PUB_TROUBLE_HELP:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_SEEK_HELP, TYPE_DENSE_FOG);
} else {
// 开启服务,准备上报求助
seekHelp();
dismissShareDialog();
}
break;
case VOICE_CMD_GO_TO_SHARE:
String ob =
new JSONObject(intent.getStringExtra("data")).opt("ob").toString();
Logger.d(TAG, "ob: " + ob);
switch (ob) {
case "积水":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER);
dismissShareDialog();
}
}
case VOICE_CMD_PUB_ROAD_CONDITION: {
String ob =
new JSONObject(intent.getStringExtra("data")).opt("obj").toString();
Logger.d(TAG, "ob:" + ob);
if ("路况".equals(ob)) {
// 上报实时路况
break;
case "积冰":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY);
dismissShareDialog();
}
break;
case "":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG);
dismissShareDialog();
}
break;
case "交通事故":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT);
dismissShareDialog();
}
break;
case "施工":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION);
dismissShareDialog();
}
break;
case "封路":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_CLOSURE);
dismissShareDialog();
}
break;
case "交通检查":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_TRAFFIC_CHECK);
dismissShareDialog();
}
break;
default:
showShareDialog();
break;
}
case VOICE_CMD_PUB_ROAD_CONDITION:
String obCondition =
new JSONObject(intent.getStringExtra("data")).opt("obj").toString();
Logger.d(TAG, "ob:" + obCondition);
switch (obCondition) {
case "路况":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC);
} else {
Logger.d(TAG, "分享框准备触发上报实时路况");
UploadHelper.INSTANCE.upload(mContext, TYPE_REAL_TIME_TRAFFIC);
dismissShareDialog();
break;
}
}
break;
case "拥堵":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK);
} else {
Logger.d(TAG, "分享框准备触发上报拥堵");
UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK);
dismissShareDialog();
}
break;
default:
break;
}
} catch (Exception e) {
Logger.e(TAG, e, "ShareControl exception");
}
case VOICE_CMD_SHARE_DIALOG_CLOSE:
dismissShareDialog();
break;
case VOICE_CMD_NO_REPLY_SHARE_DIALOG_CLOSE:
dismissShareDialog();
break;
case UNWAKE_UPLOAD_ROAD_CONDITION:
Logger.d(TAG, "免唤醒准备触发上报拥堵");
UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK);
dismissShareDialog();
break;
default:
break;
}
});
} catch (Exception e) {
Logger.e(TAG, e, "ShareControl exception");
}
}
private void seekHelp() {
Intent seekHelp = new Intent(mContext, VoiceCmdService.class);
seekHelp.putExtra(ShareConstants.VOICE_CMD_SERVICE_EVENT_KEY,
ShareConstants.VOICE_CMD_SERVICE_SEEK_HELP);
mContext.startService(seekHelp);
}
private boolean needAuth() {
return authorizeModuleManager.needAuthorize(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
}
private void goAuth(int type, String uploadType) {
stepAfterAuth.setType(type);
stepAfterAuth.setUploadType(uploadType);
authorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE);
}
}

View File

@@ -0,0 +1,10 @@
package com.mogo.module.share.bean
/**
* 授权完成后,下一步要做的事情
*/
class StepAfterAuth(var type:Int,var uploadType:String)
const val STEP_AFTER_AUTH_TYPE_SHOW_DIALOG = 1
const val STEP_AFTER_AUTH_TYPE_UPLOAD = 2
const val STEP_AFTER_AUTH_TYPE_SEEK_HELP = 3

View File

@@ -8,24 +8,80 @@ package com.mogo.module.share.constant;
*/
public class ShareConstants {
//埋点数据
//分享分类
/**
* 分享分类
*/
public static final String LAUNCHER_SHARE_TYPE = "Launcher_Share_type";
//分享/上报按钮点击
/**
* 分享/上报按钮点击
*/
public static final String LAUNCHER_SHARE_CLICK = "Launcher_Share_Click";
//
public static final String CARNET_USER_UPLOAD = "CarNet_user_upload";
public static final String VOICE_CMD_SERVICE_EVENT_KEY = "type";
public static final int VOICE_CMD_SERVICE_SEEK_HELP = 1;
// 此处只记录了事故、实时路况、道路积水、道路结冰、浓雾,至于拥堵、交通检查和封路是在extention模块里面管理
public static final String VOICE_CMD_PUB_TROUBLE_HELP = "com.zhidao.auxiliaryDriving.pubTroubleHelp";
public static final String VOICE_CMD_PUB_TROUBLE_HELP = "com.zhidao.auxiliaryDriving" +
".pubTroubleHelp";
public static final String VOICE_CMD_GO_TO_SHARE = "com.zhidao.share";
/**
* 免唤醒词上报拥堵
*/
public static final String UNWAKE_UPLOAD_ROAD_CONDITION = "command_upload_roadcondition";
/**
* 关闭分享框 唤醒
*/
public static final String VOICE_CMD_SHARE_DIALOG_CLOSE = "com.zhidao.share.close";
/**
* 两次未回复关闭分享对话框
*/
public static final String VOICE_CMD_NO_REPLY_SHARE_DIALOG_CLOSE = "com.zhidao.share.dialog" +
".close";
/**
* 免唤醒上报拥堵
*/
public static final String UNWAKE_UPLOAD_ROAD_BLOCK = "command_upload_block";
/**
* 免唤醒上报交通检查
*/
public static final String UNWAKE_UPLOAD_TRAFFIC_CHECK = "command_upload_traffic_check";
/**
* 免唤醒上报封路
*/
public static final String UNWAKE_UPLOAD_ROAD_CLOSURE = "command_upload_road_closure";
public static final String UNWAKE_UPLOAD_ACCIDENT = "command_upload_accident";
public static final String UNWAKE_UPLOAD_REAL_TIME_TRAFFIC = "command_upload_real_time_traffic";
public static final String UNWAKE_UPLOAD_SEEK_HELP = "command_upload_seek_help";
public static final String UNWAKE_UPLOAD_STAGNANT_WATER = "command_upload_stagnant_water";
public static final String UNWAKE_UPLOAD_ROAD_ICY = "command_upload_road_icy";
public static final String UNWAKE_UPLOAD_DENSE_FOG = "command_upload_dense_fog";
public static final String UNWAKE_UPLOAD_ROAD_CONSTRUCTION = "command_upload_road_construction";
public static final String[] CMD_UPLOAD_BLOCK = {"上报拥堵"};
public static final String[] CMD_TRAFFIC_CHECK = {"上报交通检查"};
public static final String[] CMD_ROAD_CLOSURE = {"上报封路"};
public static final String[] CMD_UPLOAD_ACCIDENT = {"上报事故", "上报交通事故"};
public static final String[] UPLOAD_REAL_TIME_TRAFFIC = {"上报实时路况", "上报路况"};
public static final String[] UPLOAD_SEEK_HELP = {"故障求助","发起故障求助"};
public static final String[] UPLOAD_STAGNANT_WATER = {"上报积水"};
public static final String[] UPLOAD_ROAD_ICY = {"上报积冰","上报道路积冰","上报结冰","上报道路结冰"};
public static final String[] UPLOAD_DENSE_FOG = {"上报大雾", "上报浓雾"};
public static final String[] UPLOAD_ROAD_CONSTRUCTION = {"上报施工", "上报道路施工"};
public static final String[] CMD_CANCEL_SHARE = {"取消分享"};
public static final String UNWAKE_CANCEL_SHARE = "com.zhidao.launcher.cancle.share";
/**
* 这个是实时路况不是拥堵拥堵放在了extention模块里面处理
*/
public static final String VOICE_CMD_PUB_ROAD_CONDITION = "com.zhidao.pathfinder.report.roadCondition";
public static final String VOICE_CMD_PUB_ROAD_CONDITION = "com.zhidao.pathfinder.report" +
".roadCondition";
public static final String TYPE_BLOCK = "10007";
public static final String TYPE_TRAFFIC_CHECK = "10002";