This commit is contained in:
wangcongtao
2020-03-10 10:18:30 +08:00
parent 237c351533
commit 53902601da
25 changed files with 823 additions and 466 deletions

View File

@@ -8,6 +8,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.connection.socket.SocketManager;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.adas.IMogoADASController;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.cardmanager.IMogoCardManager;
import com.mogo.service.connection.IMogoSocketManager;
@@ -114,15 +115,20 @@ public class MogoServiceApis implements IMogoServiceApis {
}
@Override
public IMogoSettingManager getSettingManager() {
public IMogoSettingManager getSettingManagerApi() {
return getApiInstance( IMogoSettingManager.class, MogoServicePaths.PATH_SETTING_MANAGER );
}
@Override
public IMogoWindowManager getWindowManager() {
public IMogoWindowManager getWindowManagerApi() {
return getApiInstance( IMogoWindowManager.class, MogoServicePaths.PATH_WINDOW_MANAGER );
}
@Override
public IMogoADASController getAdasControllerApi() {
return getApiInstance( IMogoADASController.class, MogoServicePaths.PATH_ADAS_CONTROLLER );
}
private static < T extends IProvider > T getApiInstance( Class< T > clazz, String path ) {
T inst = SingletonsHolder.get( clazz );
if ( inst == null ) {

View File

@@ -0,0 +1,79 @@
package com.mogo.service.impl.adas;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.adas.IMogoADASController;
import com.mogo.utils.logger.Logger;
import org.json.JSONObject;
/**
* @author congtaowang
* @since 2020-03-10
* <p>
* 描述
*/
@Route( path = MogoServicePaths.PATH_ADAS_CONTROLLER )
public class MogoADASController implements IMogoADASController {
private static final String TAG = "MogoADASController";
public static final String ACTION = "com.zhidao.speech.awake.notify";
public static final String PARAM_COMMAND = "command";
public static final String VAL_COMMAND = "system.application.operation";
public static final String PARAM_DATA = "data";
public static final String PARAM_OBJECT = "object";
public static final String VAL_OBJECT = "辅助驾驶";
public static final String PARAM_OPERATION = "operation";
public static final String VAL_OPEN = "打开";
public static final String VAL_CLOSE = "关闭";
@Override
public void openADAS() {
Intent intent = new Intent( ACTION );
intent.putExtra( PARAM_COMMAND, VAL_COMMAND );
JSONObject object = new JSONObject();
try {
object.put( PARAM_OBJECT, VAL_OBJECT );
object.put( PARAM_OPERATION, VAL_OPEN );
intent.putExtra( PARAM_DATA, object.toString() );
sendBroadcast( intent );
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
}
@Override
public void closeADAS() {
Intent intent = new Intent( ACTION );
intent.putExtra( PARAM_COMMAND, VAL_COMMAND );
JSONObject object = new JSONObject();
try {
object.put( PARAM_OBJECT, VAL_OBJECT );
object.put( PARAM_OPERATION, VAL_CLOSE );
intent.putExtra( PARAM_DATA, object.toString() );
sendBroadcast( intent );
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
}
private void sendBroadcast( Intent intent ) {
Application app = AbsMogoApplication.getApp();
if ( app == null ) {
Logger.e( TAG, "un handle Application instance." );
return;
}
app.sendBroadcast( intent );
}
@Override
public void init( Context context ) {
}
}