This commit is contained in:
wangcongtao
2020-03-27 10:51:42 +08:00
parent fbca3bc2e1
commit 4a1f50e76f
5 changed files with 91 additions and 7 deletions

View File

@@ -0,0 +1,23 @@
package com.mogo.module.main.cards;
/**
* @author congtaowang
* @since 2020-03-27
* <p>
* 卡片播报配置
*/
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() {
}
}

View File

@@ -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
* <p>
* 卡片播报配置
*/
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 ) {
}
}

View File

@@ -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() {