141 lines
6.7 KiB
Kotlin
141 lines
6.7 KiB
Kotlin
package com.mogo.launcher.startup
|
||
|
||
import android.content.Context
|
||
import com.google.gson.reflect.TypeToken
|
||
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.eagle.core.utilcode.util.StringUtils
|
||
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 = "Product_${BuildConfig.APP_IDENTITY_MODE_BODY}_${BuildConfig.APP_IDENTITY_MODE_TAIL}"
|
||
// 支持的业务类型
|
||
if(!StringUtils.isEmpty(BuildConfig.supportBusiness)&&BuildConfig.supportBusiness!="null"){
|
||
FunctionBuildConfig.supportBusiness = GsonUtils.fromJson(BuildConfig.supportBusiness, object : TypeToken<MutableList<String>>() {}.type)
|
||
}
|
||
// 各个module需要的url
|
||
FunctionBuildConfig.urlJson = GsonUtils.fromJson(BuildConfig.URLs, UrlConfig::class.java)
|
||
//不能启动自动驾驶的档位
|
||
FunctionBuildConfig.launchAutopilotGear = BuildConfig.LAUNCH_AUTOPILOT_GEAR
|
||
// 各车型宣传视频本地配置json
|
||
FunctionBuildConfig.mediaUrlConfig = BuildConfig.mediaUrlConfig
|
||
FunctionBuildConfig.musicUrlConfig = BuildConfig.musicUrlConfig
|
||
|
||
//是否支持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
|
||
// 清扫车 默认业务模式
|
||
FunctionBuildConfig.sweeperDefaultMode = BuildConfig.SWEEPER_DEFAULT_MODE
|
||
// 清扫车 是否能切换当前业务模式
|
||
FunctionBuildConfig.sweeperCanSwitchMode = BuildConfig.SWEEPER_CAN_SWITCH_MODE
|
||
|
||
//是否开启卡顿检测
|
||
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)
|
||
// todo 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.setCarModelChange(BuildConfig.IS_CAR_MODEL_CHANGE)
|
||
}
|
||
|
||
private fun initOtherConfig(context: Context) {
|
||
if (AppIdentityModeUtils.isB1(FunctionBuildConfig.appIdentityMode)){
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.xiaoba
|
||
}
|
||
if (AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)) {
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.m2
|
||
}
|
||
if (AppIdentityModeUtils.isC1(FunctionBuildConfig.appIdentityMode)){
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.huanwei
|
||
}
|
||
if (AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode)){
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.m1
|
||
}
|
||
if (AppIdentityModeUtils.isT1T2(FunctionBuildConfig.appIdentityMode)){
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.chuzuche
|
||
}
|
||
if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||
//是否显示 限速UI
|
||
HmiBuildConfig.isShowLimitingVelocityView = false
|
||
//白天模式
|
||
FunctionBuildConfig.skinMode = 1
|
||
}
|
||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||
|
||
}
|
||
|
||
val mapParams = MapParams.init()
|
||
mapParams.setDebugMode(false)
|
||
// 1-使用本地地图数据,0-使用在线地图数据
|
||
// .setDataFileSource(1)
|
||
.setIsRecordLogs(false)
|
||
.setCoordinateType(MapParams.COORDINATETYPE_GCJ02)
|
||
MapAutoApi.init(context, mapParams)
|
||
|
||
}
|
||
} |