package com.mogo.launcher; import android.content.Context; import android.content.Intent; import android.util.Log; import com.alibaba.android.arouter.launcher.ARouter; import com.auto.zhidao.logsdk.CrashSystem; import com.bytedance.boost_multidex.BoostMultiDex; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.debug.DebugConfig; import com.mogo.module.adcard.AdCardConstants; import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant; import com.mogo.module.carchatting.card.CallChatConstant; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; import com.mogo.module.main.service.MogoMainService; import com.mogo.module.media.MediaConstants; import com.mogo.module.service.ServiceConst; import com.mogo.module.tanlu.constant.TanluConstants; import com.mogo.module.v2x.V2XConst; import com.mogo.service.MogoServicePaths; import com.mogo.service.connection.IMogoSocketManager; import com.mogo.utils.logger.LogLevel; import com.mogo.utils.logger.Logger; import com.zhidao.boot.persistent.lib.PersistentManager; /** * @author congtaowang * @since 2019-12-18 *
* Launcher application */ public class MogoApplication extends AbsMogoApplication { private static final String TAG = "MogoApplication"; @Override public void onCreate() { DebugConfig.setNetMode(BuildConfig.NET_ENV); DebugConfig.setDebug(BuildConfig.DEBUG); DebugConfig.setAIType(BuildConfig.AIType); DebugConfig.setLaunchLocationService(BuildConfig.LAUNCH_LOCATION_SERVICE); DebugConfig.setUseCustomNavi(BuildConfig.USE_CUSTOM_NAVI); DebugConfig.setLauncher(BuildConfig.IS_LAUNCHER); DebugConfig.setUseMockObuData(true); super.onCreate(); // Crash 日志收集 final long start = System.currentTimeMillis(); CrashSystem crashSystem = CrashSystem.getInstance(this); crashSystem.init(); //设置debug模式,日志不上传 crashSystem.setDebug(BuildConfig.DEBUG); Logger.init(BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF); // MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(AuthorizeConstant.PATH_AGREEMENT_FRAGMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME)); //运营位卡片,需要默认显示,放在第一个加载 MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME)); if (DebugConfig.isLauncher()) { MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); } MogoModulePaths.addModule(new MogoModule(CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(TanluConstants.TAG, TanluConstants.MODEL_NAME)); MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_SHARE, "ShareControl")); MogoModulePaths.addBaseModule( new MogoModule( ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY ) ); MogoModulePaths.addBaseModule(new MogoModule(MogoServicePaths.PATH_OBU,"moduleObu")); MogoModulePaths.addBaseModule( new MogoModule( V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI ) ); // 暂时去掉推送 // MogoModulePaths.addModule(new MogoModule(PushUIConstants.TAG, PushUIConstants.TAG)); if (!DebugConfig.isLauncher()) { PersistentManager.getInstance().initManager(this); Intent intent = new Intent(this, MogoMainService.class); startService(intent); } Log.i("timer", "cost " + (System.currentTimeMillis() - start) + "ms"); } @Override protected void init() { super.init(); IMogoSocketManager mMogoSocketManager = ARouter.getInstance().navigation(IMogoSocketManager.class); if (mMogoSocketManager != null) { mMogoSocketManager.init(getApplicationContext(), "com.mogo.launcher"); } else { Logger.e(TAG, "init socket server error."); } } @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); BoostMultiDex.install(base); } }