[Change]
[合并司机端、乘客端为一个应用,适用于异屏、异显、异交互]

Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
donghongyu
2022-11-28 19:55:00 +08:00
parent f070106fe0
commit 5f1ecdd51f
19 changed files with 666 additions and 49 deletions

View File

@@ -1,13 +1,22 @@
package com.mogo.launcher;
import com.mogo.eagle.core.function.main.MainMoGoApplication;
import android.content.Context;
import com.mogo.commons.debug.DebugConfig;
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.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 java.util.concurrent.ThreadPoolExecutor;
import org.greenrobot.eventbus.EventBus;
/**
* @author congtaowang
@@ -17,6 +26,45 @@ import java.util.concurrent.ThreadPoolExecutor;
*/
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 ConfigStartUp())
.addStartup(new ARouterStartUp())
.addStartup(new APMStartup())
.addStartup(new HttpDnsStartUp())
.setConfig(config)
.build(this)
.start()
.await();
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);

View File

@@ -1,6 +1,7 @@
package com.mogo.launcher.stageone
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
@@ -8,7 +9,9 @@ import com.mogo.eagle.core.data.app.AppConfigInfo.workingBranchName
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.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import com.mogo.eagle.core.utilcode.util.ProcessUtils
import com.mogo.launcher.BuildConfig
import com.mogo.launcher.R
import com.mogo.test.crashreport.CrashReportConstants
@@ -38,8 +41,23 @@ class ConfigStartUp : AndroidStartup<Boolean>() {
// FunctionBuildConfig.gpsProvider = 2
// 演示模式,上一次勾选的数据
FunctionBuildConfig.isDemoMode = BuildConfig.IS_DEMO_MODE
// app安装的身份信息
FunctionBuildConfig.appIdentityMode = BuildConfig.APP_IDENTITY_MODE
Log.d("ConfigStartUp", "ProcessUtils.getCurrentProcessName():" + ProcessUtils.getCurrentProcessName())
// TODO:这里影响当前Activity的身份信息多进程先保持与原来于洋
if (ProcessUtils.getCurrentProcessName().contains(":sub")) {
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
FunctionBuildConfig.appIdentityMode = 0xA1
} else if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
FunctionBuildConfig.appIdentityMode = 0x01
}
} else {
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
FunctionBuildConfig.appIdentityMode = 0xA0
} else if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
FunctionBuildConfig.appIdentityMode = 0x00
}
}
// 不同身份对应不同的IP地址
FunctionBuildConfig.adasConnectIP = BuildConfig.ADAS_CONNECT_IP
}
@@ -61,7 +79,7 @@ class ConfigStartUp : AndroidStartup<Boolean>() {
DebugConfig.setScheduleCalculateNotHomeCompanyDistanceForPush(BuildConfig.IS_SUPPORT_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH)
DebugConfig.setNeedUploadCoordinatesInTime(BuildConfig.IS_NEED_UPLOAD_COORDINATES_IN_TIME)
DebugConfig.setObuType(
SharedPrefsMgr.getInstance(context).getInt("OBU_TYPE", DebugConfig.OBU_TYPE_CIDI)
SharedPrefsMgr.getInstance(context).getInt("OBU_TYPE", DebugConfig.OBU_TYPE_CIDI)
)
}
@@ -69,10 +87,11 @@ class ConfigStartUp : AndroidStartup<Boolean>() {
// 配置BuglyAppIDMoGoEagleEye
CrashReportConstants.buglyAppID = "ac71228f85"
// TODO: @王明君 ,这里判断方式可以替换为使用 AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)等进行替换
if (DebugConfig.getProductFlavor() == "fPadLenovoOchTaxi" || DebugConfig.getProductFlavor() == "fPadLenovoOchBus"
|| DebugConfig.getProductFlavor() == "fPadLenovoOchTaxiPassenger"
|| DebugConfig.getProductFlavor() == "fPadLenovoOchBusPassenger"
|| DebugConfig.getProductFlavor() == "fPadLenovoOchSweeper") {
|| DebugConfig.getProductFlavor() == "fPadLenovoOchTaxiPassenger"
|| DebugConfig.getProductFlavor() == "fPadLenovoOchBusPassenger"
|| DebugConfig.getProductFlavor() == "fPadLenovoOchSweeper") {
//控制HMI展示元素 将不用手动调用setXXXXXViewVisibility
HmiBuildConfig.isShowSpeedView = false
HmiBuildConfig.isShowAutopilotStatusView = false
@@ -85,7 +104,7 @@ class ConfigStartUp : AndroidStartup<Boolean>() {
if (DebugConfig.getProductFlavor() == "fPadLenovoOchTaxi" || DebugConfig.getProductFlavor() == "fPadLenovoOchTaxiPassenger") {
HdMapBuildConfig.currentCarVrIconRes = R.raw.chuzuche
} else if (DebugConfig.getProductFlavor() == "fPadLenovoOchBus" || DebugConfig.getProductFlavor() == "fPadLenovoOchBusPassenger"
|| DebugConfig.getProductFlavor() == "fPadLenovoOchSweeper") {
|| DebugConfig.getProductFlavor() == "fPadLenovoOchSweeper") {
HdMapBuildConfig.currentCarVrIconRes = R.raw.xiaobache
HmiBuildConfig.isShowBrakeLightView = false
HmiBuildConfig.isShowTurnLightView = false
@@ -108,6 +127,25 @@ class ConfigStartUp : AndroidStartup<Boolean>() {
//白天模式
FunctionBuildConfig.skinMode = 1
}
if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
//是否显示 红绿等
HmiBuildConfig.isShowTrafficLightView = false
//是否显示 限速UI
HmiBuildConfig.isShowLimitingVelocityView = false
//是否显示 路侧监控
HmiBuildConfig.isShowCameraView = false
//白天模式
FunctionBuildConfig.skinMode = 1
} else if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
//是否显示 红绿等
HmiBuildConfig.isShowTrafficLightView = false
//是否显示 限速UI
HmiBuildConfig.isShowLimitingVelocityView = false
//是否显示 路侧监控
HmiBuildConfig.isShowCameraView = false
}
}
}
}

View File

@@ -76,11 +76,12 @@ class HttpDnsStartUp : AndroidStartup<Boolean>() {
override fun create(context: Context): Boolean {
this.context = context
if (ProcessUtils.isMainProcess(context)) {
// TODO 需要与,陈扶风,确认为啥要限制仅在主进程
// if (ProcessUtils.isMainProcess(context)) {
initGDLoc()
initHttpDns()
initCloudClientConfig()
}
// }
return true
}