From dcc98b078bfb3c47193c3fe38ae17e3e0507f96a Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Tue, 31 Jan 2023 11:39:36 +0800 Subject: [PATCH] =?UTF-8?q?[Opt3.0]=E6=96=B0=E5=A2=9EStartUp=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=B9=B6=E8=B0=83=E6=95=B4=E5=90=AF=E5=8A=A8=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../com/mogo/launcher/MogoApplication.java | 59 ++---------- .../{stageone => startup}/ARouterStartUp.kt | 20 ++--- .../{stageone => startup}/ConfigStartUp.kt | 69 +++++++------- config.gradle | 2 + .../eagle/core/function/DataCenterProvider.kt | 21 +++++ .../DevaToolsProvider.kt | 6 ++ .../env/EnvChangeManager.kt | 8 +- .../core/function/main/MainActivity.java | 24 +---- .../main/stagetwo/AutopilotStartup.java | 40 --------- .../function/main/stagetwo/MapStartup.java | 38 -------- .../mogo-core-function-startup/.gitignore | 1 + .../mogo-core-function-startup/build.gradle | 30 +++---- .../core/function/startup/BuildConfig.java | 18 ++++ .../routes/ARouter$$Group$$start_up.java | 18 ++++ ...r$$Providers$$mogocorefunctionstartup.java | 18 ++++ ...Router$$Root$$mogocorefunctionstartup.java | 17 ++++ .../src/main/AndroidManifest.xml | 6 ++ .../function/startup/MogoStartUpProvider.kt | 89 +++++++++++++++++++ .../function/startup}/stageone/APMStartup.kt | 5 +- .../startup}/stageone/HttpDnsStartUp.kt | 11 +-- .../stageone/MogoStartupProviderConfig.kt | 4 +- .../startup}/stageone/ThreadOptStartup.kt | 5 +- .../startup/stagetwo/AutopilotStartUp.kt | 28 ++++++ .../startup/stagetwo/DataCenterStartUp.kt | 22 +++++ .../function/startup/stagetwo/ObuStartUp.kt | 28 ++++++ .../function/startup/stagetwo/V2XStartUp.kt | 28 ++++++ .../com/mogo/eagle/core/data/EnvConfig.kt | 3 + .../core/data/constants/MogoServicePaths.java | 6 ++ .../api/datacenter/IDataCenterProvider.kt | 7 ++ .../api/devatools/IDevaToolsProvider.kt | 3 + .../function/api/startup/IStartUpProvider.kt | 9 ++ .../call/devatools/CallerDevaToolsManager.kt | 5 ++ .../call/startup/CallerStartUpManager.kt | 25 ++++++ settings.gradle | 2 +- 35 files changed, 437 insertions(+), 240 deletions(-) rename app/src/main/java/com/mogo/launcher/{stageone => startup}/ARouterStartUp.kt (58%) rename app/src/main/java/com/mogo/launcher/{stageone => startup}/ConfigStartUp.kt (76%) create mode 100644 core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/stagetwo/AutopilotStartup.java delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/stagetwo/MapStartup.java create mode 100644 core/function-impl/mogo-core-function-startup/.gitignore create mode 100644 core/function-impl/mogo-core-function-startup/build/generated/source/buildConfig/debug/com/mogo/eagle/core/function/startup/BuildConfig.java create mode 100644 core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Group$$start_up.java create mode 100644 core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Providers$$mogocorefunctionstartup.java create mode 100644 core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Root$$mogocorefunctionstartup.java create mode 100644 core/function-impl/mogo-core-function-startup/src/main/AndroidManifest.xml create mode 100644 core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt rename {app/src/main/java/com/mogo/launcher => core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup}/stageone/APMStartup.kt (75%) rename {app/src/main/java/com/mogo/launcher => core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup}/stageone/HttpDnsStartUp.kt (97%) rename {app/src/main/java/com/mogo/launcher => core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup}/stageone/MogoStartupProviderConfig.kt (93%) rename {app/src/main/java/com/mogo/launcher => core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup}/stageone/ThreadOptStartup.kt (90%) create mode 100644 core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/AutopilotStartUp.kt create mode 100644 core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/DataCenterStartUp.kt create mode 100644 core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/ObuStartUp.kt create mode 100644 core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/V2XStartUp.kt create mode 100644 core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/EnvConfig.kt create mode 100644 core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/IDataCenterProvider.kt create mode 100644 core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/startup/IStartUpProvider.kt create mode 100644 core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/startup/CallerStartUpManager.kt diff --git a/app/build.gradle b/app/build.gradle index b1a2ae93b4..71abf1ea14 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -337,7 +337,7 @@ dependencies { implementation rootProject.ext.dependencies.android_start_up implementation rootProject.ext.dependencies.lancetx_runtime implementation rootProject.ext.dependencies.mogocustommap - + implementation project(':core:function-impl:mogo-core-function-startup') // // 暂不使用Shizuku-API // implementation rootProject.ext.dependencies.shizuku_provider if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 65a865e4a1..a833aaaafd 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -1,28 +1,12 @@ 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.call.startup.CallerStartUpManager; 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.mogo.launcher.stageone.ThreadOptStartup; -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; +import com.mogo.launcher.startup.ARouterStartUp; +import com.mogo.launcher.startup.ConfigStartUp; /** * @author congtaowang @@ -34,43 +18,12 @@ public class MogoApplication extends MainMoGoApplication { @Override public void onCreate() { - startUpInStage1(); + ARouterStartUp.init(this); + ConfigStartUp.init(this); + CallerStartUpManager.initStageOne(); 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()) - .addStartup(new ThreadOptStartup()) - .setConfig(config) - .build(this) - .start() - .await(); - } - @Override protected void initCrashConfig() { CrashSystem crashSystem = CrashSystem.getInstance(this); diff --git a/app/src/main/java/com/mogo/launcher/stageone/ARouterStartUp.kt b/app/src/main/java/com/mogo/launcher/startup/ARouterStartUp.kt similarity index 58% rename from app/src/main/java/com/mogo/launcher/stageone/ARouterStartUp.kt rename to app/src/main/java/com/mogo/launcher/startup/ARouterStartUp.kt index 15c913da9b..625d148601 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/ARouterStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/startup/ARouterStartUp.kt @@ -1,25 +1,22 @@ -package com.mogo.launcher.stageone +package com.mogo.launcher.startup import android.app.Application -import android.content.Context import com.alibaba.android.arouter.launcher.ARouter import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.utilcode.util.AppUtils import com.mogo.eagle.core.utilcode.util.CleanUtils -import com.rousetime.android_startup.AndroidStartup import java.lang.Exception -class ARouterStartUp : AndroidStartup() { - override fun callCreateOnMainThread() = true - - override fun create(context: Context): String { +object ARouterStartUp { + @JvmStatic + fun init(app: Application) { try { if (DebugConfig.isDebug()) { ARouter.openDebug() ARouter.openLog() } // 初始化 arouter - ARouter.init(context as Application?) + ARouter.init(app) } catch (e: Exception) { e.printStackTrace() // 由于ARouter会在SP_AROUTER_CACHE.xml缓存路由表,如果出现了被删除的情况会报错,这里清除下就好了 @@ -27,12 +24,5 @@ class ARouterStartUp : AndroidStartup() { // 重启应用 AppUtils.relaunchApp() } - return this.javaClass.simpleName - } - - override fun waitOnMainThread() = false - - override fun dependenciesByName(): List? { - return listOf("com.mogo.launcher.stageone.ThreadOptStartup") } } \ No newline at end of file diff --git a/app/src/main/java/com/mogo/launcher/stageone/ConfigStartUp.kt b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt similarity index 76% rename from app/src/main/java/com/mogo/launcher/stageone/ConfigStartUp.kt rename to app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt index 82ac67ce34..a4114873ba 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/ConfigStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt @@ -1,11 +1,9 @@ -package com.mogo.launcher.stageone +package com.mogo.launcher.startup import android.content.Context import android.util.Log 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.app.AppConfigInfo import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HdMapBuildConfig import com.mogo.eagle.core.data.config.HmiBuildConfig @@ -16,30 +14,25 @@ import com.mogo.eagle.core.utilcode.util.ProcessUtils import com.mogo.launcher.BuildConfig import com.mogo.launcher.R import com.mogo.test.crashreport.CrashReportConstants -import com.rousetime.android_startup.AndroidStartup import com.zhidaoauto.map.sdk.open.HDTypes import com.zhidaoauto.map.sdk.open.MapAutoApi import com.zhidaoauto.map.sdk.open.MapParams import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager -class ConfigStartUp : AndroidStartup() { +object ConfigStartUp { - override fun callCreateOnMainThread() = true - - override fun waitOnMainThread() = false - - override fun create(context: Context): Boolean { - initDebugConfig(context) + @JvmStatic + fun init(context: Context) { + initDebugConfig() initBuildConfig() initOtherConfig(context) - return true } private fun initBuildConfig() { // 初始化构建APP的时候的分支及提交HASH,用于辅助定位问题 - workingBranchName = BuildConfig.WORKING_BRANCH_NAME - workingBranchHash = BuildConfig.WORKING_BRANCH_HASH - appBuildTime = BuildConfig.APP_BUILD_TIME + AppConfigInfo.workingBranchName = BuildConfig.WORKING_BRANCH_NAME + AppConfigInfo.workingBranchHash = BuildConfig.WORKING_BRANCH_HASH + AppConfigInfo.appBuildTime = BuildConfig.APP_BUILD_TIME // 使用与渠道配置一样的gps提供者提供的数据,app/productFlavors/fPadLenovo.gradle GPS_PROVIDER 0-Android系统,1-工控机,2-OBU FunctionBuildConfig.gpsProvider = BuildConfig.GPS_PROVIDER // FunctionBuildConfig.gpsProvider = 2 @@ -70,7 +63,7 @@ class ConfigStartUp : AndroidStartup() { FunctionBuildConfig.adasConnectIP = BuildConfig.ADAS_CONNECT_IP } - private fun initDebugConfig(context: Context) { + private fun initDebugConfig() { var mode = BuildConfig.NET_ENV val envConfig = EnvChangeManager.getEnvConfig() if (envConfig != null) { @@ -86,7 +79,6 @@ class ConfigStartUp : AndroidStartup() { DebugConfig.setMapOptVersion(BuildConfig.MAP_SDK_OPT_VERSION) DebugConfig.setNeedUploadCoordinatesInTime(BuildConfig.IS_NEED_UPLOAD_COORDINATES_IN_TIME) DebugConfig.setMultiDisplay(BuildConfig.IS_MULTI_DISPLAY) - } private fun initOtherConfig(context: Context) { @@ -105,30 +97,36 @@ class ConfigStartUp : AndroidStartup() { if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + //是否显示 限速UI + HmiBuildConfig.isShowLimitingVelocityView = false //白天模式 FunctionBuildConfig.skinMode = 1 + } else if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) { + //是否显示 限速UI + HmiBuildConfig.isShowLimitingVelocityView = false } } val mapParams = MapParams.init() mapParams.setDebugMode(false) //todo 1-使用本地地图数据,0-使用在线地图数据 - //.setDataFileSource(1) - .setCoordinateType(MapParams.COORDINATETYPE_GCJ02) - .setPerspectiveMode(MapParams.MAP_PERSPECTIVE_UP_CAR) - .setHDVisibileArray(intArrayOf(HDTypes.DIVIDER.type, - HDTypes.ROAD_AREA.type, - HDTypes.STOP_LINE.type, - HDTypes.ARROW.type, - HDTypes.STATION_BRIDGE.type, - HDTypes.ZEBRA_LINE.type, - HDTypes.GREEN_BELT.type, - HDTypes.DIVERSION.type, - HDTypes.SAFE_ISLAND.type, - HDTypes.ALPHANUMERIC.type, - HDTypes.GUARDBAR.type, - HDTypes.TRAFFIC_DEVICE.type, - HDTypes.CABLE.type, - HDTypes.SIGNAL_LINE.type)) + //.setDataFileSource(1) + .setCoordinateType(MapParams.COORDINATETYPE_GCJ02) + .setPerspectiveMode(MapParams.MAP_PERSPECTIVE_UP_CAR) + .setHDVisibileArray(intArrayOf( + HDTypes.DIVIDER.type, + HDTypes.ROAD_AREA.type, + HDTypes.STOP_LINE.type, + HDTypes.ARROW.type, + HDTypes.STATION_BRIDGE.type, + HDTypes.ZEBRA_LINE.type, + HDTypes.GREEN_BELT.type, + HDTypes.DIVERSION.type, + HDTypes.SAFE_ISLAND.type, + HDTypes.ALPHANUMERIC.type, + HDTypes.GUARDBAR.type, + HDTypes.TRAFFIC_DEVICE.type, + HDTypes.CABLE.type, + HDTypes.SIGNAL_LINE.type)) // .setZoom( 20 ) // .setPointToCenter( 0.734375f, 0.5f ) //todo 2D模式下需要注意ADAS部分遮挡 @@ -148,5 +146,4 @@ class ConfigStartUp : AndroidStartup() { MapAutoApi.init(context, mapParams) } - } \ No newline at end of file diff --git a/config.gradle b/config.gradle index f93598a206..2ee5bb5335 100644 --- a/config.gradle +++ b/config.gradle @@ -224,6 +224,8 @@ ext { //========================= autosize ====================== androidautoSize : 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1', + + thread_opt : "com.mogo.thread.opt:lib:${THREAD_OPT_VERSION}" ] android = [ launcherApplicationId : "com.mogo.launcher", diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt new file mode 100644 index 0000000000..81fbb20b23 --- /dev/null +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt @@ -0,0 +1,21 @@ +package com.mogo.eagle.core.function + +import android.content.Context +import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.mogo.eagle.core.function.api.datacenter.IDataCenterProvider + +@Route(path = MogoServicePaths.PATH_DATA_CENTER_MODULE) +class DataCenterProvider: IDataCenterProvider { + + override val functionName: String + get() = "DataCenterProvider" + + override fun init(context: Context?) { + + } + + override fun onDestroy() { + + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 40a96e3dc8..83b36492e8 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -5,6 +5,7 @@ import android.content.Context import android.view.View import android.view.ViewGroup import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.eagle.core.data.EnvConfig import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.data.deva.chain.ChainLogParam @@ -13,6 +14,7 @@ import com.mogo.eagle.core.data.deva.scene.SceneTAG import com.mogo.eagle.core.data.msgbox.MsgBoxBean import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider import com.zhjt.mogo_core_function_devatools.badcase.BadCaseManager +import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager import com.zhjt.mogo_core_function_devatools.binding.BindingCarManager.Companion.bindingCarManager import com.zhjt.mogo_core_function_devatools.funcconfig.FuncConfigCenter.Companion.bizConfigCenter import com.zhjt.mogo_core_function_devatools.funcconfig.FuncConfigImpl @@ -142,6 +144,10 @@ class DevaToolsProvider : IDevaToolsProvider { traceManager.syncConfig() } + override fun getEnvConfig(): EnvConfig? { + return EnvChangeManager.getEnvConfig() + } + override fun modifyCarInfo(callBack: (ModifyBindingcarInfo) -> Unit) { bindingCarManager.modifyCarInfo(callBack) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt index a0058e016e..cd35f5e667 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt @@ -4,6 +4,7 @@ import android.content.Context.MODE_PRIVATE import android.os.Process import com.mogo.commons.constants.* import com.mogo.commons.debug.* +import com.mogo.eagle.core.data.EnvConfig import com.mogo.eagle.core.function.call.map.* import com.mogo.eagle.core.utilcode.mogo.storage.* import com.mogo.eagle.core.utilcode.util.* @@ -47,6 +48,11 @@ object EnvChangeManager { } } + fun getConfigNetMode(): Int { + val cache = getConfig() + return cache?.second ?: -1 + } + fun getNetMode(): String { val cache = getConfig() return if (cache == null) { @@ -88,6 +94,4 @@ object EnvChangeManager { if (it.first == "010") 116.397446 else 112.582654, if (it.first == "010") 39.909004 else 26.816478) } - - data class EnvConfig(val cityCode: String, val netMode: Int, val lat: Double, val lon: Double) } \ 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/MainActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.java index 236a908598..c50af1aa1d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.java @@ -41,10 +41,10 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; +import com.mogo.eagle.core.function.call.startup.CallerStartUpManager; import com.mogo.eagle.core.function.hmi.R; import com.mogo.eagle.core.function.hmi.ui.widget.StatusBarView; import com.mogo.eagle.core.function.main.modules.MogoModulesManager; -import com.mogo.eagle.core.function.main.stagetwo.AutopilotStartup; import com.mogo.eagle.core.function.main.windowview.FloatingViewHandler; import com.mogo.eagle.core.utilcode.mogo.AppLaunchTimeUtils; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; @@ -163,7 +163,7 @@ public class MainActivity extends MvpActivity implement ContextHolderUtil.holdContext(this); // 监听工控机连接信息 CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, this); - startUpInStage2(); + CallerStartUpManager.initStageTwo(); // 加载模块 mPresenter.postLoadModuleMsg(); // 监听网络状态 @@ -218,26 +218,6 @@ public class MainActivity extends MvpActivity implement mConnectInfoRV.setAdapter(mConnAdapter); } - /** - * 第二阶段初始化,第一阶段初始化可查看:{@link com.mogo.launcher.stageone} - */ - public void startUpInStage2() { - StartupConfig config = null; - if (DebugConfig.isDebug()) { - config = new StartupConfig.Builder() - .setLoggerLevel(LoggerLevel.DEBUG) - .setOpenStatistics(true) - .build(); - } - new StartupManager.Builder() - .addStartup(new AutopilotStartup()) -// .addStartup(new APMStartup()) - .setConfig(config) - .build(this) - .start() - .await(); - } - @Override public void loadModules() { final long start = System.currentTimeMillis(); diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/stagetwo/AutopilotStartup.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/stagetwo/AutopilotStartup.java deleted file mode 100644 index a0dc47e869..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/stagetwo/AutopilotStartup.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.mogo.eagle.core.function.main.stagetwo; - -import android.content.Context; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import com.alibaba.android.arouter.launcher.ARouter; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.rousetime.android_startup.AndroidStartup; - -import java.util.ArrayList; -import java.util.List; - -public class AutopilotStartup extends AndroidStartup { - @Nullable - @Override - public Boolean create(@NonNull Context context) { - ARouter.getInstance().build(MogoServicePaths.PATH_AUTO_PILOT).navigation(); - return true; - } - - @Override - public boolean callCreateOnMainThread() { - return true; - } - - @Override - public boolean waitOnMainThread() { - return false; - } - -// @Nullable -// @Override -// public List dependenciesByName() { -// List deps = new ArrayList<>(); -// deps.add("com.mogo.eagle.core.function.main.stagetwo.APMStartup"); -// return deps; -// } -} diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/stagetwo/MapStartup.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/stagetwo/MapStartup.java deleted file mode 100644 index 53405ff296..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/stagetwo/MapStartup.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.mogo.eagle.core.function.main.stagetwo; - -import android.content.Context; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import com.rousetime.android_startup.AndroidStartup; - -import java.util.ArrayList; -import java.util.List; - -public class MapStartup extends AndroidStartup { - @Nullable - @Override - public Boolean create(@NonNull Context context) { - // TODO:暂不支持分步加载 - return true; - } - - @Override - public boolean callCreateOnMainThread() { - return true; - } - - @Override - public boolean waitOnMainThread() { - return false; - } - -// @Nullable -// @Override -// public List dependenciesByName() { -// List deps = new ArrayList<>(); -// deps.add("com.mogo.eagle.core.function.main.stagetwo.APMStartup"); -// return deps; -// } -} diff --git a/core/function-impl/mogo-core-function-startup/.gitignore b/core/function-impl/mogo-core-function-startup/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-startup/build.gradle b/core/function-impl/mogo-core-function-startup/build.gradle index 63677b97d0..8dbe709e37 100644 --- a/core/function-impl/mogo-core-function-startup/build.gradle +++ b/core/function-impl/mogo-core-function-startup/build.gradle @@ -21,12 +21,6 @@ android { arg("AROUTER_MODULE_NAME", project.getName()) } } - - javaCompileOptions { - annotationProcessorOptions { - arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] - } - } } buildTypes { @@ -48,25 +42,29 @@ dependencies { implementation rootProject.ext.dependencies.androidxccorektx implementation rootProject.ext.dependencies.androidxappcompat implementation rootProject.ext.dependencies.arouter - implementation rootProject.ext.dependencies.rxandroid + implementation project(path: ':foudations:mogo-commons') kapt rootProject.ext.dependencies.aroutercompiler - - implementation rootProject.ext.dependencies.mogoami - implementation rootProject.ext.dependencies.mogoaicloudtelematic - + implementation rootProject.ext.dependencies.android_start_up + implementation rootProject.ext.dependencies.mogocustommap + implementation rootProject.ext.dependencies.thread_opt if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { + implementation rootProject.ext.dependencies.mogo_core_res implementation rootProject.ext.dependencies.mogo_core_data implementation rootProject.ext.dependencies.mogo_core_utils + implementation rootProject.ext.dependencies.mogo_core_function_api implementation rootProject.ext.dependencies.mogo_core_function_call - - implementation project(':libraries:mogo-adas') + implementation rootProject.ext.dependencies.crashreport + implementation rootProject.ext.dependencies.mogomap + implementation rootProject.ext.dependencies.mogomapapi } else { + implementation project(':core:mogo-core-res') implementation project(':core:mogo-core-data') implementation project(':core:mogo-core-utils') + implementation project(':core:mogo-core-function-api') implementation project(':core:mogo-core-function-call') - - implementation project(':libraries:mogo-adas') - implementation project(':foudations:mogo-commons') + implementation project(":test:crashreport") + implementation project(':libraries:mogo-map') + implementation project(":libraries:mogo-map-api") } } diff --git a/core/function-impl/mogo-core-function-startup/build/generated/source/buildConfig/debug/com/mogo/eagle/core/function/startup/BuildConfig.java b/core/function-impl/mogo-core-function-startup/build/generated/source/buildConfig/debug/com/mogo/eagle/core/function/startup/BuildConfig.java new file mode 100644 index 0000000000..b59bae600a --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/build/generated/source/buildConfig/debug/com/mogo/eagle/core/function/startup/BuildConfig.java @@ -0,0 +1,18 @@ +/** + * Automatically generated file. DO NOT MODIFY + */ +package com.mogo.eagle.core.function.startup; + +public final class BuildConfig { + public static final boolean DEBUG = Boolean.parseBoolean("true"); + public static final String LIBRARY_PACKAGE_NAME = "com.mogo.eagle.core.function.startup"; + /** + * @deprecated APPLICATION_ID is misleading in libraries. For the library package name use LIBRARY_PACKAGE_NAME + */ + @Deprecated + public static final String APPLICATION_ID = "com.mogo.eagle.core.function.startup"; + public static final String BUILD_TYPE = "debug"; + public static final String FLAVOR = ""; + public static final int VERSION_CODE = 1; + public static final String VERSION_NAME = ""; +} diff --git a/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Group$$start_up.java b/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Group$$start_up.java new file mode 100644 index 0000000000..cd6fddf51f --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Group$$start_up.java @@ -0,0 +1,18 @@ +package com.alibaba.android.arouter.routes; + +import com.alibaba.android.arouter.facade.enums.RouteType; +import com.alibaba.android.arouter.facade.model.RouteMeta; +import com.alibaba.android.arouter.facade.template.IRouteGroup; +import com.mogo.eagle.core.function.startup.MogoStartUpProvider; +import java.lang.Override; +import java.lang.String; +import java.util.Map; + +/** + * DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */ +public class ARouter$$Group$$start_up implements IRouteGroup { + @Override + public void loadInto(Map atlas) { + atlas.put("/start_up/api", RouteMeta.build(RouteType.PROVIDER, MogoStartUpProvider.class, "/start_up/api", "start_up", null, -1, -2147483648)); + } +} diff --git a/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Providers$$mogocorefunctionstartup.java b/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Providers$$mogocorefunctionstartup.java new file mode 100644 index 0000000000..d329a88112 --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Providers$$mogocorefunctionstartup.java @@ -0,0 +1,18 @@ +package com.alibaba.android.arouter.routes; + +import com.alibaba.android.arouter.facade.enums.RouteType; +import com.alibaba.android.arouter.facade.model.RouteMeta; +import com.alibaba.android.arouter.facade.template.IProviderGroup; +import com.mogo.eagle.core.function.startup.MogoStartUpProvider; +import java.lang.Override; +import java.lang.String; +import java.util.Map; + +/** + * DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */ +public class ARouter$$Providers$$mogocorefunctionstartup implements IProviderGroup { + @Override + public void loadInto(Map providers) { + providers.put("com.mogo.eagle.core.function.api.startup.IStartUpProvider", RouteMeta.build(RouteType.PROVIDER, MogoStartUpProvider.class, "/start_up/api", "start_up", null, -1, -2147483648)); + } +} diff --git a/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Root$$mogocorefunctionstartup.java b/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Root$$mogocorefunctionstartup.java new file mode 100644 index 0000000000..8f02facf8d --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/build/generated/source/kapt/debug/com/alibaba/android/arouter/routes/ARouter$$Root$$mogocorefunctionstartup.java @@ -0,0 +1,17 @@ +package com.alibaba.android.arouter.routes; + +import com.alibaba.android.arouter.facade.template.IRouteGroup; +import com.alibaba.android.arouter.facade.template.IRouteRoot; +import java.lang.Class; +import java.lang.Override; +import java.lang.String; +import java.util.Map; + +/** + * DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */ +public class ARouter$$Root$$mogocorefunctionstartup implements IRouteRoot { + @Override + public void loadInto(Map> routes) { + routes.put("start_up", ARouter$$Group$$start_up.class); + } +} diff --git a/core/function-impl/mogo-core-function-startup/src/main/AndroidManifest.xml b/core/function-impl/mogo-core-function-startup/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..d4329369d5 --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/src/main/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt new file mode 100644 index 0000000000..1eeb667b21 --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt @@ -0,0 +1,89 @@ +package com.mogo.eagle.core.function.startup + +import android.content.Context +import com.alibaba.android.arouter.facade.annotation.Route +import com.mogo.commons.debug.DebugConfig +import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.mogo.eagle.core.function.api.startup.IStartUpProvider +import com.mogo.eagle.core.function.startup.stageone.APMStartup +import com.mogo.eagle.core.function.startup.stageone.HttpDnsStartUp +import com.mogo.eagle.core.function.startup.stageone.ThreadOptStartup +import com.mogo.eagle.core.function.startup.stagetwo.AutopilotStartUp +import com.mogo.eagle.core.function.startup.stagetwo.DataCenterStartUp +import com.mogo.eagle.core.function.startup.stagetwo.ObuStartUp +import com.mogo.eagle.core.function.startup.stagetwo.V2XStartUp +import com.rousetime.android_startup.StartupListener +import com.rousetime.android_startup.StartupManager +import com.rousetime.android_startup.model.CostTimesModel +import com.rousetime.android_startup.model.LoggerLevel +import com.rousetime.android_startup.model.StartupConfig +import org.greenrobot.eventbus.EventBus + +@Route(path = MogoServicePaths.PATH_STARTUP_PROVIDER) +class MogoStartUpProvider: IStartUpProvider { + + private var context: Context? = null + + override fun init(context: Context?) { + this.context = context + } + + private val startupListener: StartupListener = + object : StartupListener { + override fun onCompleted( + totalMainThreadCostTime: Long, + costTimesModels: List + ) { + EventBus.getDefault().postSticky(costTimesModels) + } + } + + override fun initStageOne() { + var config: StartupConfig? = null + config = if (DebugConfig.isDebug()) { + StartupConfig.Builder() + .setLoggerLevel(LoggerLevel.DEBUG) + .setOpenStatistics(true) + .setListener(startupListener) + .build() + } else { + StartupConfig.Builder() + .setLoggerLevel(LoggerLevel.NONE) + .setOpenStatistics(false) + .setAwaitTimeout(10000L) + .setListener(startupListener) + .build() + } + context?.let { + StartupManager.Builder() + .addStartup(HttpDnsStartUp()) + .addStartup(APMStartup()) + .addStartup(ThreadOptStartup()) + .setConfig(config) + .build(it) + .start() + .await() + } + } + + override fun initStageTwo() { + var config: StartupConfig? = null + if (DebugConfig.isDebug()) { + config = StartupConfig.Builder() + .setLoggerLevel(LoggerLevel.DEBUG) + .setOpenStatistics(true) + .build() + } + context?.let { + StartupManager.Builder() + .addStartup(DataCenterStartUp()) + .addStartup(AutopilotStartUp()) + .addStartup(ObuStartUp()) + .addStartup(V2XStartUp()) + .setConfig(config) + .build(it) + .start() + .await() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/mogo/launcher/stageone/APMStartup.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/APMStartup.kt similarity index 75% rename from app/src/main/java/com/mogo/launcher/stageone/APMStartup.kt rename to core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/APMStartup.kt index 0691bb2ab4..be1cf35858 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/APMStartup.kt +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/APMStartup.kt @@ -1,9 +1,8 @@ -package com.mogo.launcher.stageone +package com.mogo.eagle.core.function.startup.stageone import android.content.Context import com.rousetime.android_startup.AndroidStartup import com.alibaba.android.arouter.launcher.ARouter -import com.mogo.test.crashreport.upgrade.UpgradeReportConstants import com.mogo.test.crashreport.CrashReportConstants class APMStartup : AndroidStartup() { @@ -22,6 +21,6 @@ class APMStartup : AndroidStartup() { } override fun dependenciesByName(): List { - return listOf("com.mogo.launcher.stageone.ARouterStartUp","com.mogo.launcher.stageone.ConfigStartUp") + return listOf("com.mogo.eagle.core.function.startup.stageone.ThreadOptStartup") } } \ No newline at end of file diff --git a/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/HttpDnsStartUp.kt similarity index 97% rename from app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt rename to core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/HttpDnsStartUp.kt index 42da7c05f5..fa51dd67c6 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/HttpDnsStartUp.kt @@ -1,4 +1,4 @@ -package com.mogo.launcher.stageone +package com.mogo.eagle.core.function.startup.stageone import android.content.Context import com.mogo.aicloud.services.httpdns.HttpDnsConst @@ -34,6 +34,7 @@ import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener import com.mogo.eagle.core.function.call.analytics.AnalyticsManager import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger @@ -44,7 +45,6 @@ import com.mogo.eagle.core.utilcode.util.ProcessUtils import com.mogo.eagle.core.utilcode.util.ThreadPoolService import com.mogo.eagle.core.utilcode.util.TimeUtils import com.rousetime.android_startup.AndroidStartup -import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager import com.zhjt.service.chain.ChainLog import com.zhjt.service.chain.TracingConstants.Endpoint.Companion.PAD import mogo.telematics.pad.MessagePad.GnssInfo @@ -73,17 +73,14 @@ class HttpDnsStartUp : AndroidStartup() { override fun dependenciesByName(): List { return listOf( - "com.mogo.launcher.stageone.APMStartup" + "com.mogo.eagle.core.function.startup.stageone.APMStartup" ) } override fun create(context: Context): Boolean { this.context = context - // TODO 需要与,陈扶风,确认为啥要限制仅在主进程 -// if (ProcessUtils.isMainProcess(context)) { initGDLoc() initHttpDns() -// } return true } @@ -146,7 +143,7 @@ class HttpDnsStartUp : AndroidStartup() { clientConfig.iHttpDnsCurrentLocation = object : IHttpDnsCurrentLocation { override fun getCurrentLocation(): HttpDnsSimpleLocation { - val envConfig = EnvChangeManager.getEnvConfig() + val envConfig = CallerDevaToolsManager.getEnvConfig() if (envConfig != null) { return HttpDnsSimpleLocation(envConfig.cityCode, envConfig.lat, envConfig.lon) } diff --git a/app/src/main/java/com/mogo/launcher/stageone/MogoStartupProviderConfig.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/MogoStartupProviderConfig.kt similarity index 93% rename from app/src/main/java/com/mogo/launcher/stageone/MogoStartupProviderConfig.kt rename to core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/MogoStartupProviderConfig.kt index c30afae840..7baaa8901a 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/MogoStartupProviderConfig.kt +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/MogoStartupProviderConfig.kt @@ -1,6 +1,6 @@ -package com.mogo.launcher.stageone +package com.mogo.eagle.core.function.startup.stageone -import com.mogo.launcher.BuildConfig +import com.rousetime.android_startup.BuildConfig import com.rousetime.android_startup.StartupListener import com.rousetime.android_startup.model.CostTimesModel import com.rousetime.android_startup.model.LoggerLevel diff --git a/app/src/main/java/com/mogo/launcher/stageone/ThreadOptStartup.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/ThreadOptStartup.kt similarity index 90% rename from app/src/main/java/com/mogo/launcher/stageone/ThreadOptStartup.kt rename to core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/ThreadOptStartup.kt index d0043384b8..2a638e189b 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/ThreadOptStartup.kt +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stageone/ThreadOptStartup.kt @@ -1,12 +1,9 @@ -package com.mogo.launcher.stageone +package com.mogo.eagle.core.function.startup.stageone import android.content.* import com.mogo.thread.ext.core.* import com.mogo.thread.ext.core.config.* import com.rousetime.android_startup.* -import java.io.* -import java.text.SimpleDateFormat -import java.util.* import java.util.concurrent.TimeUnit.SECONDS class ThreadOptStartup: AndroidStartup() { diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/AutopilotStartUp.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/AutopilotStartUp.kt new file mode 100644 index 0000000000..f1f74a1ea5 --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/AutopilotStartUp.kt @@ -0,0 +1,28 @@ +package com.mogo.eagle.core.function.startup.stagetwo + +import android.content.Context +import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.rousetime.android_startup.AndroidStartup + +class AutopilotStartUp: AndroidStartup() { + + override fun create(context: Context): Boolean? { + ARouter.getInstance().build(MogoServicePaths.PATH_AUTO_PILOT).navigation() + return true + } + + override fun callCreateOnMainThread(): Boolean { + return true + } + + override fun waitOnMainThread(): Boolean { + return false + } + + override fun dependenciesByName(): List? { + val deps = arrayListOf() + deps.add("com.mogo.eagle.core.function.startup.stagetwo.DataCenterStartUp") + return deps + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/DataCenterStartUp.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/DataCenterStartUp.kt new file mode 100644 index 0000000000..025bfb02e3 --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/DataCenterStartUp.kt @@ -0,0 +1,22 @@ +package com.mogo.eagle.core.function.startup.stagetwo + +import android.content.Context +import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.rousetime.android_startup.AndroidStartup + +class DataCenterStartUp: AndroidStartup() { + + override fun create(context: Context): Boolean? { + ARouter.getInstance().build(MogoServicePaths.PATH_DATA_CENTER_MODULE).navigation() + return true + } + + override fun callCreateOnMainThread(): Boolean { + return true + } + + override fun waitOnMainThread(): Boolean { + return true + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/ObuStartUp.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/ObuStartUp.kt new file mode 100644 index 0000000000..70f7b32da3 --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/ObuStartUp.kt @@ -0,0 +1,28 @@ +package com.mogo.eagle.core.function.startup.stagetwo + +import android.content.Context +import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.rousetime.android_startup.AndroidStartup + +class ObuStartUp: AndroidStartup() { + + override fun create(context: Context): Boolean? { + ARouter.getInstance().build(MogoServicePaths.PATH_V2X_OBU_MOGO).navigation() + return true + } + + override fun callCreateOnMainThread(): Boolean { + return true + } + + override fun waitOnMainThread(): Boolean { + return false + } + + override fun dependenciesByName(): List? { + val deps = arrayListOf() + deps.add("com.mogo.eagle.core.function.startup.stagetwo.DataCenterStartUp") + return deps + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/V2XStartUp.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/V2XStartUp.kt new file mode 100644 index 0000000000..f57a9a3e83 --- /dev/null +++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/V2XStartUp.kt @@ -0,0 +1,28 @@ +package com.mogo.eagle.core.function.startup.stagetwo + +import android.content.Context +import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.rousetime.android_startup.AndroidStartup + +class V2XStartUp: AndroidStartup() { + + override fun create(context: Context): Boolean? { + ARouter.getInstance().build(MogoServicePaths.PATH_V2X_MODULE).navigation() + return true + } + + override fun callCreateOnMainThread(): Boolean { + return true + } + + override fun waitOnMainThread(): Boolean { + return false + } + + override fun dependenciesByName(): List? { + val deps = arrayListOf() + deps.add("com.mogo.eagle.core.function.startup.stagetwo.DataCenterStartUp") + return deps + } +} \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/EnvConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/EnvConfig.kt new file mode 100644 index 0000000000..817b76ee90 --- /dev/null +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/EnvConfig.kt @@ -0,0 +1,3 @@ +package com.mogo.eagle.core.data + +data class EnvConfig(val cityCode: String, val netMode: Int, val lat: Double, val lon: Double) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java index 1472bca2d5..4bade961f8 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java @@ -74,4 +74,10 @@ public class MogoServicePaths { @Keep public static final String PATH_MSG_BOX_MODULE = "/msg_box/api"; + + @Keep + public static final String PATH_STARTUP_PROVIDER = "/start_up/api"; + + @Keep + public static final String PATH_DATA_CENTER_MODULE = "/data_center/api"; } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/IDataCenterProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/IDataCenterProvider.kt new file mode 100644 index 0000000000..2440a49a65 --- /dev/null +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/IDataCenterProvider.kt @@ -0,0 +1,7 @@ +package com.mogo.eagle.core.function.api.datacenter + +import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider + +interface IDataCenterProvider: IMoGoFunctionServerProvider { + +} \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt index 8615e1c05d..38480a3936 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt @@ -5,6 +5,7 @@ import android.content.Context import android.view.View import android.view.ViewGroup import com.alibaba.android.arouter.facade.template.IProvider +import com.mogo.eagle.core.data.EnvConfig import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo import com.mogo.eagle.core.data.deva.chain.ChainLogParam import com.mogo.eagle.core.data.deva.scene.SceneModule @@ -157,4 +158,6 @@ interface IDevaToolsProvider : IProvider { * 查询app是否有更新 */ fun queryAppUpgrade() + + fun getEnvConfig(): EnvConfig? } \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/startup/IStartUpProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/startup/IStartUpProvider.kt new file mode 100644 index 0000000000..1eedc3c215 --- /dev/null +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/startup/IStartUpProvider.kt @@ -0,0 +1,9 @@ +package com.mogo.eagle.core.function.api.startup + +import com.alibaba.android.arouter.facade.template.IProvider + +interface IStartUpProvider: IProvider { + fun initStageOne() + + fun initStageTwo() +} \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt index 8827cbd6ed..6631dd2382 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt @@ -4,6 +4,7 @@ import android.app.Activity import android.content.Context import android.view.View import android.view.ViewGroup +import com.mogo.eagle.core.data.EnvConfig import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.constants.MogoServicePaths @@ -172,6 +173,10 @@ object CallerDevaToolsManager { devaToolsProviderApi?.syncConfig() } + fun getEnvConfig(): EnvConfig? { + return devaToolsProviderApi?.getEnvConfig() + } + fun modifyCarInfo(callBack: (ModifyBindingcarInfo) -> Unit){ devaToolsProviderApi?.modifyCarInfo(callBack) } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/startup/CallerStartUpManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/startup/CallerStartUpManager.kt new file mode 100644 index 0000000000..1cf10c2a65 --- /dev/null +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/startup/CallerStartUpManager.kt @@ -0,0 +1,25 @@ +package com.mogo.eagle.core.function.call.startup + +import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.mogo.eagle.core.function.api.startup.IStartUpProvider +import com.mogo.eagle.core.function.call.base.CallerBase + +object CallerStartUpManager { + private val TAG = "CallerStartUpManager" + + private val providerApi: IStartUpProvider? + get() = CallerBase.getApiInstance( + IStartUpProvider::class.java, + MogoServicePaths.PATH_STARTUP_PROVIDER + ) + + @JvmStatic + fun initStageOne() { + providerApi?.initStageOne() + } + + @JvmStatic + fun initStageTwo() { + providerApi?.initStageTwo() + } +} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index c42ca170cc..99625fde8b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -34,7 +34,7 @@ include ':core:function-impl:mogo-core-function-chat' include ':core:function-impl:mogo-core-function-biz' // 消息盒子、自研OBU业务 include ':core:function-impl:mogo-core-function-datacenter' -// 启动 +// 初始化 include ':core:function-impl:mogo-core-function-startup' // 模块