package com.mogo.launcher; import com.auto.zhidao.logsdk.CrashSystem; 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.constants.MoGoConfig; import com.mogo.eagle.core.function.call.analytics.AnalyticsManager; 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.mogo.storage.SharedPrefsMgr; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; import com.mogo.test.crashreport.CrashReportConstants; /** * @author congtaowang * @since 2019-12-18 *

* Launcher application */ public class MogoApplication extends MainMoGoApplication { @Override protected void initCrashConfig() { CrashSystem crashSystem = CrashSystem.getInstance(this); crashSystem.init(); //设置debug模式,日志不上传 crashSystem.setDebug(BuildConfig.DEBUG); } @Override protected void initAnalyticsConfig() { // 初始化埋点 AnalyticsManager.INSTANCE.init(this, DebugConfig.isDebug()); } @Override protected void initLogConfig() { super.initLogConfig(); Logger.init(BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF); } @Override protected void initCloudClientConfig() { // 使用旧Socket链路 true = 旧链路,false = 新链路 if (DebugConfig.getProductFlavor().equals("fPadLenovoOchTaxi") || DebugConfig.getProductFlavor().equals("fPadLenovoOchBus") || DebugConfig.getProductFlavor().equals("fPadLenovoOchTaxiPassenger") || DebugConfig.getProductFlavor().equals("fPadLenovoOchBusPassenger")) { clientConfig.setUseOriginSocket(true); } } @Override protected void initBuildConfig() { DebugConfig.setNetMode(BuildConfig.NET_ENV); DebugConfig.setDebug(BuildConfig.DEBUG); DebugConfig.setLaunchLocationService(BuildConfig.LAUNCH_LOCATION_SERVICE); DebugConfig.setLauncher(BuildConfig.IS_LAUNCHER); DebugConfig.setUseMockObuData(false); DebugConfig.setCarMachineType(BuildConfig.CAR_MACHINE_TYPE); DebugConfig.setProductFlavor(BuildConfig.FLAVOR_product); DebugConfig.setSocketAppId(BuildConfig.SOCKET_APP_ID); 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(this).getInt("OBU_TYPE", DebugConfig.OBU_TYPE_CIDI)); // 初始化构建APP的时候的分支及提交HASH,用于辅助定位问题 AppConfigInfo.INSTANCE.setWorkingBranchName(BuildConfig.WORKING_BRANCH_NAME); AppConfigInfo.INSTANCE.setWorkingBranchHash(BuildConfig.WORKING_BRANCH_HASH); AppConfigInfo.INSTANCE.setAppBuildTime(BuildConfig.APP_BUILD_TIME); // 使用与渠道配置一样的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; // 不同身份对应不同的IP地址 FunctionBuildConfig.adasConnectIP = BuildConfig.ADAS_CONNECT_IP; // 配置BuglyAppID:MoGoEagleEye CrashReportConstants.buglyAppID = "ac71228f85"; if (DebugConfig.getProductFlavor().equals("fPadLenovoOchTaxi") || DebugConfig.getProductFlavor().equals("fPadLenovoOchBus") || DebugConfig.getProductFlavor().equals("fPadLenovoOchTaxiPassenger") || DebugConfig.getProductFlavor().equals("fPadLenovoOchBusPassenger")) { //控制HMI展示元素 将不用手动调用setXXXXXViewVisibility HmiBuildConfig.isShowSpeedView = false; HmiBuildConfig.isShowAutopilotStatusView = false; HmiBuildConfig.isShowPerspectiveSwitchView = false; HmiBuildConfig.isShowToolsView = false; HmiBuildConfig.isShowBadCaseView = false; HmiBuildConfig.isShowUpgradeTipsView = false; //业务端可以根据需要控制是否展示刹车和转向灯的ui // HmiBuildConfig.isShowBrakeLightView = false; // HmiBuildConfig.isShowTurnLightView = false; } if (DebugConfig.getProductFlavor().equals("fPadLenovoOchTaxi") || DebugConfig.getProductFlavor().equals("fPadLenovoOchTaxiPassenger")) { HdMapBuildConfig.currentCarVrIconRes = R.raw.chuzuche; } else if (DebugConfig.getProductFlavor().equals("fPadLenovoOchBus") || DebugConfig.getProductFlavor().equals("fPadLenovoOchBusPassenger")) { HdMapBuildConfig.currentCarVrIconRes = R.raw.xiaobache; HmiBuildConfig.isShowBrakeLightView = false; HmiBuildConfig.isShowTurnLightView = false; } if (DebugConfig.getProductFlavor().equals("fPadLenovoOchTaxiPassenger")) { //是否显示 红绿等 HmiBuildConfig.isShowTrafficLightView = false; //是否显示 限速UI HmiBuildConfig.isShowLimitingVelocityView = false; //是否显示 路侧监控 HmiBuildConfig.isShowCameraView = false; } else if (DebugConfig.getProductFlavor().equals("fPadLenovoOchBusPassenger")) { //是否显示 红绿等 HmiBuildConfig.isShowTrafficLightView = false; //是否显示 限速UI HmiBuildConfig.isShowLimitingVelocityView = false; //是否显示 路侧监控 HmiBuildConfig.isShowCameraView = false; //白天模式 FunctionBuildConfig.skinMode = 1; } //och模块 MogoModulePaths.addModuleFunction(new MogoModule("/och/api", "IMoGoFunctionProvider")); } @Override protected void initConfigWithSP() { // 是否是演示(美化)模式,会存在SP中,方便做现场恢复 FunctionBuildConfig.isDemoMode = SharedPrefsMgr.getInstance(this).getBoolean(MoGoConfig.IS_DEMO_MODE, false); } }