From 4a1f50e76fa7086649b8608f59c7b74e9b3d941e Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 27 Mar 2020 10:51:42 +0800 Subject: [PATCH] opt --- .../main/cards/CardIntroduceConfig.java | 23 +++++++++ .../main/cards/CardIntroduceConfigs.java | 47 +++++++++++++++++++ .../module/main/cards/MogoModulesManager.java | 23 ++++++--- .../service/marker/MapMarkerManager.java | 1 + .../service/impl/adas/MogoADASController.java | 4 ++ 5 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfig.java create mode 100644 modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfig.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfig.java new file mode 100644 index 0000000000..ef3b24ed50 --- /dev/null +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfig.java @@ -0,0 +1,23 @@ +package com.mogo.module.main.cards; + +/** + * @author congtaowang + * @since 2020-03-27 + *

+ * 卡片播报配置 + */ +public class CardIntroduceConfig { + + public String cardType; + public String broadcastWords; + public int broadcastAmount; + + public CardIntroduceConfig( String cardType, String broadcastWords, int broadcastAmount ) { + this.cardType = cardType; + this.broadcastWords = broadcastWords; + this.broadcastAmount = broadcastAmount; + } + + public CardIntroduceConfig() { + } +} diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java new file mode 100644 index 0000000000..1d2434e2ec --- /dev/null +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardIntroduceConfigs.java @@ -0,0 +1,47 @@ +package com.mogo.module.main.cards; + +import com.mogo.module.common.ModuleNames; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author congtaowang + * @since 2020-03-27 + *

+ * 卡片播报配置 + */ +public class CardIntroduceConfigs { + + public static Map< String, CardIntroduceConfig > sConfigs = new HashMap<>(); + + static { + sConfigs.put( ModuleNames.CARD_TYPE_BUSINESS_OPERATION, new CardIntroduceConfig( ModuleNames.CARD_TYPE_BUSINESS_OPERATION, "随时查看路况,可以对我说某某地点堵不堵", 0 ) ); + sConfigs.put( ModuleNames.CARD_TYPE_SHARE_MUSIC, new CardIntroduceConfig( ModuleNames.CARD_TYPE_SHARE_MUSIC, "", 0 ) ); + sConfigs.put( ModuleNames.CARD_TYPE_CARS_CHATTING, new CardIntroduceConfig( ModuleNames.CARD_TYPE_CARS_CHATTING, "", 0 ) ); + sConfigs.put( ModuleNames.CARD_TYPE_ROAD_CONDITION, new CardIntroduceConfig( ModuleNames.CARD_TYPE_ROAD_CONDITION, "", 0 ) ); + sConfigs.put( ModuleNames.CARD_TYPE_USER_DATA, new CardIntroduceConfig( ModuleNames.CARD_TYPE_USER_DATA, "", 0 ) ); + sConfigs.put( ModuleNames.CARD_TYPE_NOVELTY, new CardIntroduceConfig( ModuleNames.CARD_TYPE_NOVELTY, "", 0 ) ); + } + + public static CardIntroduceConfig getConfig( String type ) { + return sConfigs.get( type ); + } + + public static void init( List< CardIntroduceConfig > configs ) { + if ( configs == null ) { + return; + } + for ( CardIntroduceConfig config : configs ) { + if ( config == null ) { + return; + } + sConfigs.put( config.cardType, config ); + } + } + + public static void increase( String type ) { + + } +} diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java index 961aafd349..f4be4c7567 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java @@ -31,6 +31,7 @@ import com.mogo.module.main.MainActivity; import com.mogo.module.main.assist.MapBroadCastHelper; import com.mogo.module.main.registercenter.MogoRegisterCenterHandler; import com.mogo.module.service.receiver.MogoReceiver; +import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.service.intent.IMogoIntentListener; @@ -38,7 +39,9 @@ import com.mogo.service.intent.IMogoIntentManager; import com.mogo.service.module.IMogoModuleLifecycle; import com.mogo.service.module.IMogoModuleProvider; import com.mogo.service.module.ModuleType; +import com.mogo.utils.CommonUtils; import com.mogo.utils.ResourcesHelper; +import com.mogo.utils.WorkThreadHandler; import com.mogo.utils.logger.Logger; import com.mogo.utils.network.utils.GsonUtil; import com.mogo.utils.storage.SharedPrefsMgr; @@ -66,6 +69,9 @@ public class MogoModulesManager implements MogoModulesHandler, private static final String TAG = "MogoModulesManager"; + public static final String KEY_VOICE_BROADCAST_CONFIG = "voice_broadcast_"; + private String mBroadcastConfigKey; + private MainActivity mActivity; private Map< MogoModule, IMogoModuleProvider > mModuleProviders = new HashMap<>(); @@ -86,15 +92,18 @@ public class MogoModulesManager implements MogoModulesHandler, throw new NullPointerException( "activity can't be null." ); } this.mActivity = activity; - mTrackManager = ( IMogoAnalytics ) ARouter.getInstance() - .build( MogoServicePaths.PATH_UTILS_ANALYTICS ) - .navigation(); - - mMogoIntentManager = ( IMogoIntentManager ) ARouter.getInstance() - .build( MogoServicePaths.PATH_INTENT_MANAGER ) - .navigation(); + IMogoServiceApis apis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation(); + mTrackManager = apis.getAnalyticsApi(); + mMogoIntentManager = apis.getIntentManagerApi(); registerReceiver(); + + WorkThreadHandler.getInstance().post( () -> { + mBroadcastConfigKey = KEY_VOICE_BROADCAST_CONFIG + CommonUtils.getVersionCode( mActivity ); + String configsStr = SharedPrefsMgr.getInstance( mActivity ).getString( mBroadcastConfigKey ); + List< CardIntroduceConfig > configs = GsonUtil.arrayFromJson( configsStr, CardIntroduceConfig.class ); + CardIntroduceConfigs.init( configs ); + } ); } private Context getContext() { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index 6dd1001e38..2828c1b12c 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -344,6 +344,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } // 解析不同的Marker类型,然后对应的进行绘制 + Logger.d( TAG, "draw marker" ); mLastDataResult = response.getResult(); UiThreadHandler.post( () -> { diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java index 9969338db9..f2d6092c5e 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java @@ -47,6 +47,8 @@ public class MogoADASController implements IMogoADASController { return; } + Logger.d( TAG, "open adas" ); + Intent intent = new Intent( ACTION ); intent.putExtra( PARAM_COMMAND, VAL_COMMAND ); JSONObject object = new JSONObject(); @@ -67,6 +69,8 @@ public class MogoADASController implements IMogoADASController { return; } + Logger.d( TAG, "close adas" ); + Intent intent = new Intent( ACTION ); intent.putExtra( PARAM_COMMAND, VAL_COMMAND ); JSONObject object = new JSONObject();