逻辑迁移完毕,待测
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user