package com.mogo.launcher; import android.content.Context; import com.mogo.commons.debug.DebugConfig; import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.function.main.MainMoGoApplication; import com.mogo.eagle.core.utilcode.mogo.logger.LogLevel; import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.eagle.core.utilcode.util.ProcessUtils; import com.mogo.launcher.crash.CrashSystem; import com.mogo.launcher.stageone.APMStartup; import com.mogo.launcher.stageone.ARouterStartUp; import com.mogo.launcher.stageone.ConfigStartUp; import com.mogo.launcher.stageone.HttpDnsStartUp; import com.rousetime.android_startup.StartupListener; import com.rousetime.android_startup.StartupManager; import com.rousetime.android_startup.model.LoggerLevel; import com.rousetime.android_startup.model.StartupConfig; import com.zhidaoauto.map.sdk.open.HDTypes; import com.zhidaoauto.map.sdk.open.MapAutoApi; import com.zhidaoauto.map.sdk.open.MapParams; import org.greenrobot.eventbus.EventBus; /** * @author congtaowang * @since 2019-12-18 *

* Launcher application */ public class MogoApplication extends MainMoGoApplication { @Override public void onCreate() { startUpInStage1(); super.onCreate(); } private final StartupListener startupListener = (l, costTimesModels) -> EventBus.getDefault().postSticky(costTimesModels); /** * 第一阶段初始化 */ public void startUpInStage1() { StartupConfig config = null; if (DebugConfig.isDebug()) { config = new StartupConfig.Builder() .setLoggerLevel(LoggerLevel.DEBUG) .setOpenStatistics(true) .setListener(startupListener) .build(); } else { config = new StartupConfig.Builder() .setLoggerLevel(LoggerLevel.NONE) .setOpenStatistics(false) .setAwaitTimeout(10000L) .setListener(startupListener) .build(); } new StartupManager.Builder() .addStartup(new HttpDnsStartUp()) .addStartup(new APMStartup()) .addStartup(new ConfigStartUp()) .addStartup(new ARouterStartUp()) .setConfig(config) .build(this) .start() .await(); } @Override protected void initCrashConfig() { CrashSystem crashSystem = CrashSystem.getInstance(this); crashSystem.init(); //设置debug模式,日志不上传 crashSystem.setDebug(BuildConfig.DEBUG); } @Override protected void initLogConfig() { super.initLogConfig(); Logger.init(BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF); } }