抽离分享模块中的唤醒词和免唤醒指令,取消分享模块的baseModule
This commit is contained in:
@@ -78,7 +78,7 @@ public class MogoApplication extends AbsMogoApplication {
|
||||
|
||||
MogoModulePaths.addModule( new MogoModule( TanluApiConst.MODULE_PATH, TanluApiConst.MODULE_NAME ) );
|
||||
MogoModulePaths.addBaseModule( new MogoModule( TanluConstants.TAG, TanluConstants.MODEL_NAME ) );
|
||||
MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_SHARE, "ShareControl" ) );
|
||||
MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_SHARE, "ShareControl" ) );
|
||||
|
||||
MogoModulePaths.addModule( new MogoModule( LeftPanelConst.PATH_NAME, LeftPanelConst.MODULE_NAME ) );
|
||||
|
||||
@@ -88,6 +88,8 @@ public class MogoApplication extends AbsMogoApplication {
|
||||
MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_MOGO_MONITOR, "MogoMonitor" ) );
|
||||
MogoModulePaths.addModule( new MogoModule( PushUIConstants.PATH, PushUIConstants.NAME ) );
|
||||
|
||||
MogoModulePaths.addBaseModule(new MogoModule(MogoServicePaths.PATH_GLOBAL_UNWAKE,"GlobalUnwake"));
|
||||
|
||||
if ( !DebugConfig.isLauncher() ) {
|
||||
PersistentManager.getInstance().initManager( this );
|
||||
Intent intent = new Intent( this, MogoMainService.class );
|
||||
|
||||
@@ -37,6 +37,8 @@ public class SchemeIntent implements IMogoStatusChangedListener {
|
||||
|
||||
public static final String TYPE_SHOW_ONLINE_CAR_PANEL = "showOnlineCarPanel";
|
||||
|
||||
public static final String TYPE_SHOW_SHARE_PANEL = "showSharePanel";
|
||||
|
||||
private IMogoServiceApis mApis;
|
||||
private Context mContext;
|
||||
|
||||
@@ -150,6 +152,9 @@ public class SchemeIntent implements IMogoStatusChangedListener {
|
||||
break;
|
||||
case TYPE_SHOW_ONLINE_CAR_PANEL:
|
||||
handleShowOnlineCarPanel( target );
|
||||
case TYPE_SHOW_SHARE_PANEL:
|
||||
handleShowSharePanel();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -199,6 +204,11 @@ public class SchemeIntent implements IMogoStatusChangedListener {
|
||||
mApis.getOnlineCarPanelApi().showPanel();
|
||||
}
|
||||
|
||||
private void handleShowSharePanel() {
|
||||
Logger.d(TAG, "handleShowSharePanel");
|
||||
// todo 跳转到热心指数
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) {
|
||||
if ( descriptor == StatusDescriptor.MAIN_PAGE_RESUME ) {
|
||||
|
||||
@@ -7,7 +7,6 @@ package com.mogo.module.service.unwake;
|
||||
*/
|
||||
public class GlobalUnwakeConst {
|
||||
public static final String MODULE_NAME = "GlobalUnwakeManager";
|
||||
public static final String PATH_NAME = "/global/unwake";
|
||||
|
||||
// command
|
||||
public static final String VOICE_CMD_GO_TO_SHARE = "com.zhidao.share";
|
||||
@@ -38,6 +37,10 @@ public class GlobalUnwakeConst {
|
||||
*/
|
||||
public static final String UNWAKE_UPLOAD_REAL_TIME_TRAFFIC = "command_upload_real_time_traffic";
|
||||
|
||||
/**
|
||||
* 唤醒词查询热心指数
|
||||
*/
|
||||
public static final String VOICE_QUERY_HEART_INDEX = "com.zhidao.query.myshare.index";
|
||||
|
||||
// 词
|
||||
public static final String[] UPLOAD_REAL_TIME_TRAFFIC = {"上报实时路况", "上报路况"};
|
||||
|
||||
@@ -2,11 +2,14 @@ package com.mogo.module.service.unwake;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.facade.template.IProvider;
|
||||
import com.mogo.commons.voice.AIAssist;
|
||||
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.intent.IMogoIntentListener;
|
||||
import com.mogo.service.intent.IMogoIntentManager;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
@@ -19,18 +22,23 @@ import static com.mogo.module.service.unwake.GlobalUnwakeConst.VOICE_CMD_NO_REPL
|
||||
import static com.mogo.module.service.unwake.GlobalUnwakeConst.VOICE_CMD_PUB_ROAD_CONDITION;
|
||||
import static com.mogo.module.service.unwake.GlobalUnwakeConst.VOICE_CMD_PUB_TROUBLE_HELP;
|
||||
import static com.mogo.module.service.unwake.GlobalUnwakeConst.VOICE_CMD_SHARE_DIALOG_CLOSE;
|
||||
import static com.mogo.module.service.unwake.GlobalUnwakeConst.VOICE_QUERY_HEART_INDEX;
|
||||
|
||||
/**
|
||||
* 全局免唤醒管理
|
||||
* 包括唤醒词指令和全局免唤醒词指令
|
||||
* 有几个Module仅仅是因为要注册全局免唤醒词,加到了BaseModule中,为了将这部分Module从BaseModule中去掉,特抽离全局免唤醒词注册监听逻辑
|
||||
*
|
||||
* @author tongchenfei
|
||||
*/
|
||||
@Route(path = MogoServicePaths.PATH_GLOBAL_UNWAKE)
|
||||
public class GlobalUnwakeManager implements IProvider, IMogoIntentListener, IMogoVoiceCmdCallBack {
|
||||
private IMogoIntentManager intentManager;
|
||||
private Context context;
|
||||
private static final String TAG = "GlobalUnwakeManager";
|
||||
@Override
|
||||
public void init(Context context) {
|
||||
Logger.d(TAG, "全局免唤醒模块初始化====");
|
||||
intentManager = MogoApisHandler.getInstance().getApis().getIntentManagerApi();
|
||||
intentManager.registerIntentListener(VOICE_CMD_GO_TO_SHARE, this);
|
||||
intentManager.registerIntentListener(VOICE_CMD_PUB_TROUBLE_HELP, this);
|
||||
@@ -49,9 +57,31 @@ public class GlobalUnwakeManager implements IProvider, IMogoIntentListener, IMog
|
||||
// 此处只接受处理语音相关广播
|
||||
Logger.d(TAG, "收到唤醒词指令: " + intentStr);
|
||||
switch (intentStr) {
|
||||
|
||||
// 分享相关唤醒词
|
||||
case VOICE_CMD_GO_TO_SHARE:
|
||||
case VOICE_CMD_PUB_TROUBLE_HELP:
|
||||
case VOICE_CMD_PUB_ROAD_CONDITION:
|
||||
case VOICE_CMD_SHARE_DIALOG_CLOSE:
|
||||
case VOICE_CMD_NO_REPLY_SHARE_DIALOG_CLOSE:
|
||||
case UNWAKE_UPLOAD_ROAD_CONDITION:
|
||||
MogoApisHandler.getInstance().getApis().getShareManager().onGlobalUnwake(intentStr, intent);
|
||||
break;
|
||||
case VOICE_QUERY_HEART_INDEX:
|
||||
Intent start = new Intent( Intent.ACTION_VIEW );
|
||||
start.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
|
||||
start.setData( Uri.parse( "mogo://launcher/main/switch2?type=showSharePanel" ) );
|
||||
context.startActivity( start );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCmdSelected(String cmd) {
|
||||
Logger.d(TAG, "收到免唤醒词指令: " + cmd);
|
||||
if (UNWAKE_UPLOAD_REAL_TIME_TRAFFIC.equals(cmd)) {
|
||||
MogoApisHandler.getInstance().getApis().getShareManager().onGlobalUnwake(cmd, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -260,4 +260,9 @@ public class MogoServicePaths {
|
||||
* 在线好友面板
|
||||
*/
|
||||
public static final String PATH_ONLINE_CAR_PANEL = "/onlinecar/panel";
|
||||
|
||||
/**
|
||||
* 全局免唤醒
|
||||
*/
|
||||
public static final String PATH_GLOBAL_UNWAKE = "/global/unwake";
|
||||
}
|
||||
|
||||
@@ -4,12 +4,13 @@ import android.content.Context;
|
||||
|
||||
import com.alibaba.android.arouter.facade.template.IProvider;
|
||||
import com.mogo.service.module.IMogoModuleProvider;
|
||||
import com.mogo.service.voice.IMogoGlobalVoiceManager;
|
||||
|
||||
/**
|
||||
* 分享框管理接口
|
||||
* @author tongchenfei
|
||||
*/
|
||||
public interface IMogoShareManager extends IProvider {
|
||||
public interface IMogoShareManager extends IProvider, IMogoGlobalVoiceManager {
|
||||
/**
|
||||
* 显示分享框
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.mogo.service.voice;
|
||||
|
||||
import android.content.Intent;
|
||||
|
||||
/**
|
||||
* 全局免唤醒指令处理监听
|
||||
*
|
||||
* @author tongchenfei
|
||||
*/
|
||||
public interface IMogoGlobalVoiceManager {
|
||||
/**
|
||||
* 收到全局免唤醒指令和唤醒词指令
|
||||
* @param cmd 具体指令
|
||||
*/
|
||||
void onGlobalUnwake(String cmd, Intent intent);
|
||||
}
|
||||
Reference in New Issue
Block a user