抽离分享模块中的唤醒词和免唤醒指令,取消分享模块的baseModule

This commit is contained in:
tongchenfei
2020-10-20 20:21:06 +08:00
parent d0b0cc1236
commit d158ab5ba2
8 changed files with 150 additions and 94 deletions

View File

@@ -97,8 +97,7 @@ import static com.mogo.service.share.IMogoTanluProvider.TYPE_TRAFFIC_CHECK;
* @since 2020-01-10
*/
@Route(path = MogoServicePaths.PATH_SHARE)
public class ShareControl implements IMogoShareManager, IMogoIntentListener,
IMogoVoiceCmdCallBack, Handler.Callback {
public class ShareControl implements IMogoShareManager, Handler.Callback {
private static final String TAG = "ShareControl";
private Context mContext;
@@ -228,94 +227,83 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener,
}
@Override
public void onCmdSelected(String cmd) {
Logger.d(TAG, "收到免唤醒词指令: " + cmd);
switch (cmd) {
case UNWAKE_CANCEL_SHARE:
dismissShareDialog();
break;
case UNWAKE_UPLOAD_ROAD_BLOCK:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK, false);
} else {
uploadFromVoice(TYPE_BLOCK);
}
break;
case UNWAKE_UPLOAD_TRAFFIC_CHECK:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK, false);
} else {
uploadFromVoice(TYPE_TRAFFIC_CHECK);
}
break;
case UNWAKE_UPLOAD_ROAD_CLOSURE:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE, false);
} else {
uploadFromVoice(TYPE_CLOSURE);
}
break;
case UNWAKE_UPLOAD_ACCIDENT:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT, false);
} else {
uploadFromVoice(TYPE_ACCIDENT);
}
break;
case UNWAKE_UPLOAD_REAL_TIME_TRAFFIC:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC, false);
} else {
uploadFromVoice(TYPE_REAL_TIME_TRAFFIC);
}
break;
case UNWAKE_UPLOAD_SEEK_HELP:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_SEEK_HELP, TYPE_BLOCK, false);
} else {
seekHelp();
}
break;
case UNWAKE_UPLOAD_STAGNANT_WATER:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER, false);
} else {
uploadFromVoice(TYPE_STAGNANT_WATER);
}
break;
case UNWAKE_UPLOAD_ROAD_ICY:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY, false);
} else {
uploadFromVoice(TYPE_ROAD_ICY);
}
break;
case UNWAKE_UPLOAD_DENSE_FOG:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG, false);
} else {
uploadFromVoice(TYPE_DENSE_FOG);
}
break;
case UNWAKE_UPLOAD_ROAD_CONSTRUCTION:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION, false);
} else {
uploadFromVoice(TYPE_ROAD_CONSTRUCTION);
}
break;
default:
break;
}
}
@Override
public void onIntentReceived(String intentStr, Intent intent) {
// 此处只接受处理语音相关广播
Logger.d(TAG, "收到唤醒词指令: " + intentStr);
public void onGlobalUnwake(String cmd, Intent intent) {
try {
switch (intentStr) {
switch (cmd) {
case UNWAKE_CANCEL_SHARE:
dismissShareDialog();
break;
case UNWAKE_UPLOAD_ROAD_BLOCK:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK, false);
} else {
uploadFromVoice(TYPE_BLOCK);
}
break;
case UNWAKE_UPLOAD_TRAFFIC_CHECK:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK, false);
} else {
uploadFromVoice(TYPE_TRAFFIC_CHECK);
}
break;
case UNWAKE_UPLOAD_ROAD_CLOSURE:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE, false);
} else {
uploadFromVoice(TYPE_CLOSURE);
}
break;
case UNWAKE_UPLOAD_ACCIDENT:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT, false);
} else {
uploadFromVoice(TYPE_ACCIDENT);
}
break;
case UNWAKE_UPLOAD_REAL_TIME_TRAFFIC:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC, false);
} else {
uploadFromVoice(TYPE_REAL_TIME_TRAFFIC);
}
break;
case UNWAKE_UPLOAD_SEEK_HELP:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_SEEK_HELP, TYPE_BLOCK, false);
} else {
seekHelp();
}
break;
case UNWAKE_UPLOAD_STAGNANT_WATER:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER, false);
} else {
uploadFromVoice(TYPE_STAGNANT_WATER);
}
break;
case UNWAKE_UPLOAD_ROAD_ICY:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY, false);
} else {
uploadFromVoice(TYPE_ROAD_ICY);
}
break;
case UNWAKE_UPLOAD_DENSE_FOG:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG, false);
} else {
uploadFromVoice(TYPE_DENSE_FOG);
}
break;
case UNWAKE_UPLOAD_ROAD_CONSTRUCTION:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION, false);
} else {
uploadFromVoice(TYPE_ROAD_CONSTRUCTION);
}
break;
case VOICE_CMD_PUB_TROUBLE_HELP:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_SEEK_HELP, TYPE_DENSE_FOG, false);
@@ -431,7 +419,8 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener,
break;
}
} catch (Exception e) {
Logger.e(TAG, e, "ShareControl exception");
Logger.e(TAG, e, "onGlobalUnwake exception");
e.printStackTrace();
}
}