package com.mogo.launcher; import android.content.Context; import android.content.Intent; import android.util.Log; import androidx.multidex.MultiDex; import com.alibaba.android.arouter.launcher.ARouter; import com.auto.zhidao.logsdk.CrashSystem; 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 ); super.onCreate(); // Crash 日志收集 final long start = System.currentTimeMillis(); CrashSystem crashSystem = CrashSystem.getInstance( this ); crashSystem.init(); //设置debug模式,日志不上传M 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( V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI ) ); MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_OBU,"moduleObu")); // 暂时去掉推送 // 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 ); MultiDex.install( base ); } }