147 lines
6.7 KiB
Kotlin
147 lines
6.7 KiB
Kotlin
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
|
||
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.deva.net.UrlConfig
|
||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||
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.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
|
||
|
||
object ConfigStartUp {
|
||
|
||
@JvmStatic
|
||
fun init(context: Context) {
|
||
initDebugConfig()
|
||
initBuildConfig()
|
||
initOtherConfig(context)
|
||
}
|
||
|
||
private fun initBuildConfig() {
|
||
// 初始化构建APP的时候的分支及提交HASH,用于辅助定位问题
|
||
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
|
||
// 演示模式,上一次勾选的数据
|
||
FunctionBuildConfig.isDemoMode = BuildConfig.IS_DEMO_MODE
|
||
// // app安装的身份信息
|
||
FunctionBuildConfig.appIdentityMode = BuildConfig.APP_IDENTITY_MODE
|
||
// 各个module需要的url
|
||
FunctionBuildConfig.urlJson = GsonUtils.fromJson(BuildConfig.URLs, UrlConfig::class.java)
|
||
|
||
Log.d("ConfigStartUp", "ProcessUtils.getCurrentProcessName():" + ProcessUtils.getCurrentProcessName())
|
||
|
||
// // 这里影响当前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
|
||
}
|
||
|
||
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.setSocketAppId(BuildConfig.SOCKET_APP_ID)
|
||
DebugConfig.setMapVersion(BuildConfig.MAP_SDK_VERSION)
|
||
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) {
|
||
// 配置BuglyAppID:MoGoEagleEye
|
||
CrashReportConstants.buglyAppID = "ac71228f85"
|
||
|
||
if (AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) {
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.chuzuche
|
||
} else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.xiaobache
|
||
} else if (AppIdentityModeUtils.isSweeper(FunctionBuildConfig.appIdentityMode)) {
|
||
HdMapBuildConfig.currentCarVrIconRes = R.raw.huanwei
|
||
}
|
||
|
||
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))
|
||
// .setZoom( 20 )
|
||
// .setPointToCenter( 0.734375f, 0.5f )
|
||
//todo 2D模式下需要注意ADAS部分遮挡
|
||
//.setPointToCenter(0.5f, 0.5f)
|
||
// 根据 FunctionBuildConfig 配置的皮肤样式设置题图的样式
|
||
|
||
if (FunctionBuildConfig.skinMode == 1) {
|
||
mapParams.setStyleMode(MapParams.MAP_STYLE_DAY_VR)
|
||
} else {
|
||
mapParams.setStyleMode(MapParams.MAP_STYLE_NIGHT_VR)
|
||
}
|
||
//todo 临时放在这 @梁利辉
|
||
if (AppIdentityModeUtils.isBusPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||
mapParams.setShadowEnable(false)
|
||
}
|
||
|
||
MapAutoApi.init(context, mapParams)
|
||
|
||
}
|
||
} |