diff --git a/app/src/main/java/com/mogo/launcher/stageone/ConfigStartUp.kt b/app/src/main/java/com/mogo/launcher/stageone/ConfigStartUp.kt index a63afc5584..442700a153 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/ConfigStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/stageone/ConfigStartUp.kt @@ -5,15 +5,15 @@ import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.app.AppConfigInfo.appBuildTime import com.mogo.eagle.core.data.app.AppConfigInfo.workingBranchHash import com.mogo.eagle.core.data.app.AppConfigInfo.workingBranchName -import com.mogo.eagle.core.data.constants.MoGoConfig -import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr -import com.rousetime.android_startup.AndroidStartup import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HdMapBuildConfig import com.mogo.eagle.core.data.config.HmiBuildConfig -import com.mogo.test.crashreport.CrashReportConstants +import com.mogo.eagle.core.data.constants.MoGoConfig +import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.launcher.BuildConfig import com.mogo.launcher.R +import com.mogo.test.crashreport.CrashReportConstants +import com.rousetime.android_startup.AndroidStartup class ConfigStartUp : AndroidStartup() { diff --git a/app/src/main/java/com/mogo/launcher/stageone/MogoStartupProviderConfig.kt b/app/src/main/java/com/mogo/launcher/stageone/MogoStartupProviderConfig.kt index 2c29c23537..c30afae840 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/MogoStartupProviderConfig.kt +++ b/app/src/main/java/com/mogo/launcher/stageone/MogoStartupProviderConfig.kt @@ -1,17 +1,33 @@ package com.mogo.launcher.stageone import com.mogo.launcher.BuildConfig +import com.rousetime.android_startup.StartupListener +import com.rousetime.android_startup.model.CostTimesModel import com.rousetime.android_startup.model.LoggerLevel import com.rousetime.android_startup.model.StartupConfig import com.rousetime.android_startup.provider.StartupProviderConfig +import org.greenrobot.eventbus.EventBus class MogoStartupProviderConfig: StartupProviderConfig { + + private val startupListener by lazy { + object : StartupListener { + override fun onCompleted( + totalMainThreadCostTime: Long, + costTimesModels: List + ) { + EventBus.getDefault().postSticky(costTimesModels) + } + } + } + override fun getConfig(): StartupConfig { return when { BuildConfig.DEBUG -> { StartupConfig.Builder() .setLoggerLevel(LoggerLevel.DEBUG) .setOpenStatistics(true) + .setListener(startupListener) .build() } else -> { @@ -19,6 +35,7 @@ class MogoStartupProviderConfig: StartupProviderConfig { .setLoggerLevel(LoggerLevel.NONE) .setOpenStatistics(false) .setAwaitTimeout(10000L) + .setListener(startupListener) .build() } } diff --git a/config.gradle b/config.gradle index 9ea50df71e..26e75e9d50 100644 --- a/config.gradle +++ b/config.gradle @@ -238,7 +238,7 @@ ext { //========================= DataStore ====================== androidx_datastore_preferences : "androidx.datastore:datastore-preferences:1.0.0", androidx_datastore : "androidx.datastore:datastore:1.0.0", - android_start_up : "io.github.idisfkj:android-startup:1.1.0" + android_start_up : "com.mogo:android-startup:1.0.1" ] } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index b95c2c482a..5a12bbc6fb 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -1,5 +1,8 @@ package com.mogo.eagle.core.function.main; +import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_ALIAS_CODE_START_UP; +import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_INIT; +import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_HMI; import android.content.Intent; @@ -22,6 +25,14 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.BarUtils; import com.mogo.service.intent.IMogoIntentListener; +import com.rousetime.android_startup.model.CostTimesModel; +import com.zhjt.service.chain.ChainLog; +import com.zhjt.service.chain.TracingConstants; + +import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; + +import java.util.List; /** * 针对作为Launcher的情况,做个性化操作 @@ -38,6 +49,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); DebugConfig.setNeedRequestUserInfo(true); + EventBus.getDefault().register(this); CallerLogger.INSTANCE.i(M_HMI + TAG, "onCreate"); } @@ -101,6 +113,26 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } } + @Subscribe(sticky = true) + public void handleStartUp(List costTimesModels) { + for (CostTimesModel costModel : costTimesModels) { + traceStartUp(costModel.toString()); + } + EventBus.getDefault().removeStickyEvent(costTimesModels); + } + + @ChainLog( + linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS, + linkCode = CHAIN_LINK_INIT, + endpoint = TracingConstants.Endpoint.PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_START_UP, + paramIndexes = {0}, + clientPkFileName = "sn" + ) + private void traceStartUp(String content) { + CallerLogger.INSTANCE.d(M_HMI + TAG, content); + } + @Override protected void onDestroy() { super.onDestroy(); @@ -113,6 +145,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } // 移除换肤监听 CallerSkinModeListenerManager.INSTANCE.removeListener(TAG); + EventBus.getDefault().unregister(this); } private void stopCountDown() { diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt index 9051003253..b61b1f1e96 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt @@ -47,6 +47,7 @@ class ChainConstant { const val CHAIN_ALIAS_CODE_INIT_ON_MAP_LOADED = "CHAIN_ALIAS_CODE_INIT_ON_MAP_LOADED" const val CHAIN_ALIAS_CODE_INIT_ON_MAP_INIT = "CHAIN_ALIAS_CODE_INIT_ON_MAP_INIT" + const val CHAIN_ALIAS_CODE_START_UP = "CHAIN_ALIAS_CODE_START_UP" //operation by user const val CHAIN_ALIAS_CODE_OCH_BUS_START_AUTOPILOT = "CHAIN_ALIAS_CODE_OCH_BUS_START_AUTOPILOT"