142 lines
6.9 KiB
Kotlin
142 lines
6.9 KiB
Kotlin
package com.mogo.launcher.startup
|
||
|
||
import android.content.Context
|
||
import com.mogo.commons.debug.DebugConfig
|
||
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
|
||
import com.mogo.eagle.core.data.app.UrlConfig
|
||
import com.mogo.eagle.core.data.config.JunkConfig
|
||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||
import com.mogo.launcher.BuildConfig
|
||
import com.mogo.launcher.R
|
||
import com.shuyu.gsyvideoplayer.player.IjkPlayerManager
|
||
import com.zhidaoauto.map.sdk.open.MapAutoApi
|
||
import com.zhidaoauto.map.sdk.open.MapParams
|
||
import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager
|
||
import tv.danmaku.ijk.media.player.IjkMediaPlayer
|
||
|
||
object ConfigStartUp {
|
||
|
||
@JvmStatic
|
||
fun init(context: Context) {
|
||
initDebugConfig()
|
||
initBuildConfig()
|
||
initOtherConfig(context)
|
||
}
|
||
|
||
private fun initBuildConfig() {
|
||
//ijk关闭log
|
||
IjkPlayerManager.setLogLevel(IjkMediaPlayer.IJK_LOG_SILENT);
|
||
|
||
// 初始化构建APP的时候的分支及提交HASH,用于辅助定位问题
|
||
AppConfigInfo.workingBranchName = BuildConfig.WORKING_BRANCH_NAME
|
||
AppConfigInfo.workingBranchHash = BuildConfig.WORKING_BRANCH_HASH
|
||
AppConfigInfo.appBuildTime = BuildConfig.APP_BUILD_TIME
|
||
AppConfigInfo.flavor = BuildConfig.FLAVOR
|
||
// 使用与渠道配置一样的gps提供者提供的数据,app/productFlavors/fPadLenovo.gradle GPS_PROVIDER 0-Android系统,1-工控机,2-OBU
|
||
FunctionBuildConfig.gpsProvider = BuildConfig.GPS_PROVIDER
|
||
// 演示模式,上一次勾选的数据
|
||
FunctionBuildConfig.isDemoMode = BuildConfig.IS_DEMO_MODE
|
||
// // app安装的身份信息
|
||
FunctionBuildConfig.appIdentityMode = "${BuildConfig.APP_IDENTITY_MODE_HEAD}_${BuildConfig.APP_IDENTITY_MODE_BODY}_${BuildConfig.APP_IDENTITY_MODE_TAIL}"
|
||
// 各个module需要的url
|
||
FunctionBuildConfig.urlJson = GsonUtils.fromJson(BuildConfig.URLs, UrlConfig::class.java)
|
||
//不能启动自动驾驶的档位
|
||
FunctionBuildConfig.unableLaunchAutopilotGear = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR
|
||
// 临时配置json
|
||
FunctionBuildConfig.tempConfig = BuildConfig.tempConfig
|
||
|
||
//是否支持Patch升级
|
||
FunctionBuildConfig.isSupportPatchUpgrade = BuildConfig.IS_SUPPORT_PATCH_UPGRADE
|
||
// // 这里影响当前Activity的身份信息,多进程先保持与原来一样,主进程为司机端,:passenger 进程为乘客端 TODO 暂时不启用,仅做洱海交付,独立乘客屏+宣传视频
|
||
// if (ProcessUtils.getCurrentProcessName().contains(":passenger")) {
|
||
// if (AppIdentityModeUtils.isBus(BuildConfig.APP_IDENTITY_MODE)) {
|
||
// FunctionBuildConfig.appIdentityMode = 0xA1
|
||
// } else if (AppIdentityModeUtils.isTaxi(BuildConfig.APP_IDENTITY_MODE)) {
|
||
// FunctionBuildConfig.appIdentityMode = 0x01
|
||
// }
|
||
// } else {
|
||
// if (AppIdentityModeUtils.isBus(BuildConfig.APP_IDENTITY_MODE)) {
|
||
// FunctionBuildConfig.appIdentityMode = 0xA0
|
||
// } else if (AppIdentityModeUtils.isTaxi(BuildConfig.APP_IDENTITY_MODE)) {
|
||
// FunctionBuildConfig.appIdentityMode = 0x00
|
||
// }
|
||
// }
|
||
// 不同身份对应不同的IP地址
|
||
FunctionBuildConfig.adasConnectIP = BuildConfig.ADAS_CONNECT_IP
|
||
// 是否开启secure校验
|
||
FunctionBuildConfig.isSecure = BuildConfig.secure
|
||
|
||
//是否开启卡顿检测
|
||
JunkConfig.isSupportJunkDetect = BuildConfig.IS_SUPPORT_JUNK_DETECT
|
||
}
|
||
|
||
private fun initDebugConfig() {
|
||
var mode = BuildConfig.NET_ENV
|
||
val envConfig = EnvChangeManager.getEnvConfig()
|
||
if (envConfig != null) {
|
||
mode = envConfig.netMode
|
||
}
|
||
DebugConfig.setNetMode(mode)
|
||
DebugConfig.setDebug(BuildConfig.DEBUG)
|
||
DebugConfig.setLauncher(BuildConfig.IS_LAUNCHER)
|
||
DebugConfig.setCarMachineType(BuildConfig.CAR_MACHINE_TYPE)
|
||
DebugConfig.setProductFlavor(BuildConfig.FLAVOR_product)
|
||
DebugConfig.setProjectFlavor(BuildConfig.FLAVOR_project)
|
||
DebugConfig.setSocketAppId(BuildConfig.SOCKET_APP_ID)
|
||
DebugConfig.setMapVersion(BuildConfig.MAP_SDK_VERSION)
|
||
DebugConfig.setMapOptVersion(BuildConfig.MAP_SDK_OPT_VERSION)
|
||
DebugConfig.setMultiDisplay(BuildConfig.IS_MULTI_DISPLAY)
|
||
DebugConfig.setCarModelChange(BuildConfig.IS_CAR_MODEL_CHANGE)
|
||
DebugConfig.setReplaceStatusview(BuildConfig.IS_REPLACE_STATUSVIEW)
|
||
}
|
||
|
||
private fun initOtherConfig(context: Context) {
|
||
if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.chuzuche
|
||
} else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.xiaoba
|
||
} else if (AppIdentityModeUtils.isSweeper(FunctionBuildConfig.appIdentityMode)) {
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.huanwei
|
||
}
|
||
if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)){
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.xiaoba
|
||
}
|
||
if (AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode)){
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.m1
|
||
}
|
||
if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) {
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.m2
|
||
}
|
||
|
||
if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) ||
|
||
AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)
|
||
|| AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode) ||
|
||
AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) {
|
||
//是否显示 限速UI
|
||
HmiBuildConfig.isShowLimitingVelocityView = false
|
||
//白天模式
|
||
FunctionBuildConfig.skinMode = 1
|
||
} else if (AppIdentityModeUtils.isCharter(FunctionBuildConfig.appIdentityMode)||
|
||
AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
|
||
//是否显示 限速UI
|
||
HmiBuildConfig.isShowLimitingVelocityView = false
|
||
//白天模式
|
||
FunctionBuildConfig.skinMode = 1
|
||
}
|
||
}
|
||
|
||
val mapParams = MapParams.init()
|
||
mapParams.setDebugMode(false)
|
||
// 1-使用本地地图数据,0-使用在线地图数据
|
||
// .setDataFileSource(1)
|
||
.setIsRecordLogs(false)
|
||
.setCoordinateType(MapParams.COORDINATETYPE_GCJ02)
|
||
MapAutoApi.init(context, mapParams)
|
||
|
||
}
|
||
} |