This commit is contained in:
wangcongtao
2020-03-27 17:24:47 +08:00
parent df3e26615f
commit 7a86206fd7
20 changed files with 208 additions and 83 deletions

View File

@@ -5,6 +5,7 @@ import android.content.Context;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.VoicePreemptType;
import com.mogo.module.common.ModuleNames;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.utils.CommonUtils;
import com.mogo.utils.WorkThreadHandler;
import com.mogo.utils.logger.Logger;
@@ -30,6 +31,7 @@ public class CardIntroduceConfigs {
public static String sBroadcastConfigKey;
public static Map< String, CardIntroduceConfig > sConfigs = new HashMap<>();
private static IMogoStatusManager sStatusManager;
static {
sConfigs.put( ModuleNames.CARD_TYPE_BUSINESS_OPERATION, new CardIntroduceConfig( ModuleNames.CARD_TYPE_BUSINESS_OPERATION, "", 3 ) );
@@ -40,8 +42,8 @@ public class CardIntroduceConfigs {
sConfigs.put( ModuleNames.CARD_TYPE_NOVELTY, new CardIntroduceConfig( ModuleNames.CARD_TYPE_NOVELTY, "新鲜事,邀你给同城车友分享沿途封路、拥堵消息", 0 ) );
}
public static void init( Context context ) {
public static void init( Context context, IMogoStatusManager manager ) {
sStatusManager = manager;
WorkThreadHandler.getInstance().post( () -> {
sBroadcastConfigKey = KEY_VOICE_BROADCAST_CONFIG + CommonUtils.getVersionCode( context );
String configsStr = SharedPrefsMgr.getInstance( context ).getString( sBroadcastConfigKey );
@@ -58,16 +60,24 @@ public class CardIntroduceConfigs {
} );
}
public static void broadcast( Context context, String type ) {
public static void broadcastCardIntroduce( Context context, String type ) {
if ( sConfigs.get( type ) == null ) {
Logger.d( TAG, "un support %s", type );
return;
}
if ( sConfigs.get( type ).broadcastAmount >= 3 ) {
Logger.d( TAG, "do not broadcast %s cast amount = %s", type, type );
Logger.d( TAG, "do not broadcastCardIntroduce %s cast amount = %s", type, type );
return;
}
if ( sStatusManager != null ) {
if ( !sStatusManager.isAIAssistReady() ) {
Logger.w( TAG, "ai assist not ready: %s", type );
return;
}
}
CardIntroduceConfig config = sConfigs.get( type );
config.broadcastAmount++;

View File

@@ -39,9 +39,7 @@ 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;
@@ -97,7 +95,7 @@ public class MogoModulesManager implements MogoModulesHandler,
mMogoIntentManager = apis.getIntentManagerApi();
registerReceiver();
CardIntroduceConfigs.init( getContext() );
CardIntroduceConfigs.init( getContext(), apis.getStatusManagerApi() );
}
private Context getContext() {
@@ -283,7 +281,7 @@ public class MogoModulesManager implements MogoModulesHandler,
SharedPrefsMgr.getInstance( getContext() ).putString( KEY_SORTED_CARD_MODULES, GsonUtil.jsonFromObject( mSortedCards ) );
Log.i( TAG, "enable & disable card cost " + ( System.currentTimeMillis() - start1 ) + "ms" );
CardIntroduceConfigs.broadcast( mActivity, mEnableModuleName );
CardIntroduceConfigs.broadcastCardIntroduce( mActivity, mEnableModuleName );
}
@Override