From d342784146b76442d46e3b5f9e181163d6dd2cae Mon Sep 17 00:00:00 2001 From: donghongyu Date: Mon, 10 Jan 2022 14:28:18 +0800 Subject: [PATCH] =?UTF-8?q?[Add]=20DebugView=E5=A2=9E=E5=8A=A0=E5=88=86?= =?UTF-8?q?=E6=94=AF=E5=90=8D=E7=A7=B0=E5=92=8CHASH=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=EF=BC=8C=E6=96=B9=E4=BE=BF=E8=B7=9F=E8=B8=AA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- app/build.gradle | 28 +++++++++++++++ .../com/mogo/launcher/MogoApplication.java | 5 +++ .../hmi/ui/setting/DebugSettingView.kt | 35 +++++++++---------- .../mogo/eagle/core/data/app/AppConfigInfo.kt | 30 +++++++++++++++- 4 files changed, 79 insertions(+), 19 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c090a7d221..9a7c3373f3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -106,6 +106,8 @@ android { // 是否作为 launcher 运行 buildConfigField 'boolean', 'IS_LAUNCHER', 'true' buildConfigField 'String', 'SOCKET_APP_ID', '\"com.mogo.launcher\"' + buildConfigField 'String', 'WORKING_BRANCH_NAME', getWorkingBranchName() + buildConfigField 'String', 'WORKING_BRANCH_HASH', getWorkingBranchHash() // 是否支持目的地导航策略 buildConfigField 'boolean', 'IS_SUPPORT_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH', 'false' } @@ -296,3 +298,29 @@ android.applicationVariants.all { variant -> } apply from: "./regroup.gradle" + +/** + * @return 获取当前分支名称 + */ +def getWorkingBranchName() { + def workingBranchName = "" + def proc = "git rev-parse --abbrev-ref HEAD".execute() + proc.in.eachLine { line -> workingBranchName = line } + proc.err.eachLine { line -> println line } + proc.waitFor() + workingBranchName = "\"${workingBranchName}\"" + println "Working branch name: " + workingBranchName + return workingBranchName +} +/** + * @return 获取当前分支hash + */ +def getWorkingBranchHash() { + def workingBranchHash = "" + def proc = "git log -n1 --format=format:\"%h\"".execute() + proc.in.eachLine { line -> workingBranchHash = line } + proc.err.eachLine { line -> println line } + proc.waitFor() + println "Working branch hash: " + workingBranchHash + return workingBranchHash +} diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 8f6f7d701a..21f685837a 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -9,6 +9,7 @@ import com.bytedance.apm.insight.ApmInsight; import com.bytedance.apm.insight.ApmInsightInitConfig; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; 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.function.main.MainMoGoApplication; import com.mogo.module.v2x.utils.ObuConfig; @@ -156,6 +157,10 @@ public class MogoApplication extends MainMoGoApplication { 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); + ObuConfig.useObuLocation = false; // 使用与渠道配置一样的gps提供者提供的数据,app/productFlavors/fPadLenovo.gradle GPS_PROVIDER 0-Android系统,1-工控机,2-OBU FunctionBuildConfig.gpsProvider = BuildConfig.GPS_PROVIDER; diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index 7e113ceeea..41e64f7ef2 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -58,8 +58,6 @@ class DebugSettingView @JvmOverloads constructor( IMoGoAutopilotStatusListener, IMoGoAutopilotCarStateListener, IMoGoMapLocationListener { private val TAG = "DebugSettingView" - // 初始化App 配置信息 - val mAppConfigInfo = AppConfigInfo() init { LayoutInflater.from(context).inflate(R.layout.view_debug_setting, this, true) @@ -283,20 +281,21 @@ class DebugSettingView @JvmOverloads constructor( * 绘制应用基本 */ private fun drawAppInfo() { - - mAppConfigInfo.appName = AppUtils.getAppName() - mAppConfigInfo.appVersionCode = AppUtils.getAppVersionCode() - mAppConfigInfo.appVersionName = AppUtils.getAppVersionName() - mAppConfigInfo.appPackageName = AppUtils.getAppPackageName() - mAppConfigInfo.uniqueDeviceId = DeviceIdUtils.getDeviceId(AbsMogoApplication.getApp()) - mAppConfigInfo.mogoSN = MoGoAiCloudClient.getInstance().aiCloudClientConfig.sn - mAppConfigInfo.mogoToken = MoGoAiCloudClient.getInstance().aiCloudClientConfig.token - mAppConfigInfo.mapSdkVersion = MogoMap.getInstance().mogoMap.mapVersion - mAppConfigInfo.isConnectNet = NetworkUtils.isConnected(context) - mAppConfigInfo.isConnectSocket = DebugConfig.isDownloadSnapshot() + AppConfigInfo.appName = AppUtils.getAppName() + AppConfigInfo.appName = AppUtils.getAppName() + AppConfigInfo.appVersionCode = AppUtils.getAppVersionCode() + AppConfigInfo.appVersionName = AppUtils.getAppVersionName() + AppConfigInfo.appPackageName = AppUtils.getAppPackageName() + AppConfigInfo.uniqueDeviceId = DeviceIdUtils.getDeviceId(AbsMogoApplication.getApp()) + AppConfigInfo.mogoSN = MoGoAiCloudClient.getInstance().aiCloudClientConfig.sn + AppConfigInfo.mogoToken = MoGoAiCloudClient.getInstance().aiCloudClientConfig.token + AppConfigInfo.netMode = DebugConfig.getNetMode() + AppConfigInfo.mapSdkVersion = MogoMap.getInstance().mogoMap.mapVersion + AppConfigInfo.isConnectNet = NetworkUtils.isConnected(context) + AppConfigInfo.isConnectSocket = DebugConfig.isDownloadSnapshot() // 将数据绘制 - tvAppInfo.text = mAppConfigInfo.toString() + tvAppInfo.text = AppConfigInfo.toString() } /** @@ -306,8 +305,8 @@ class DebugSettingView @JvmOverloads constructor( UiThreadHandler.post { tvObuInfo.text = GsonUtils.toJson(obuStatusInfo) - mAppConfigInfo.obuSdkVersion = obuStatusInfo.obuSdkVersion - mAppConfigInfo.isConnectObu = obuStatusInfo.obuStatus + AppConfigInfo.obuSdkVersion = obuStatusInfo.obuSdkVersion + AppConfigInfo.isConnectObu = obuStatusInfo.obuStatus drawAppInfo() } } @@ -320,8 +319,8 @@ class DebugSettingView @JvmOverloads constructor( tvAutopilotInfo.post { tvAutopilotInfo.text = GsonUtils.toJson(autoPilotStatusInfo) - mAppConfigInfo.adasSdkVersion = autoPilotStatusInfo.version - mAppConfigInfo.isConnectAutopilot = autoPilotStatusInfo.connectStatus + AppConfigInfo.adasSdkVersion = autoPilotStatusInfo.version + AppConfigInfo.isConnectAutopilot = autoPilotStatusInfo.connectStatus drawAppInfo() } } diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt index dd63a99845..a786bdad16 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt @@ -5,7 +5,10 @@ package com.mogo.eagle.core.data.app * @date 2021/10/12 2:46 下午 * 当前应用的配置信息 */ -class AppConfigInfo { +object AppConfigInfo { + /*应用构建基本信息*/ + var workingBranchName: String? = null + var workingBranchHash: String? = null /*应用基本信息*/ var appName: String? = null @@ -22,6 +25,13 @@ class AppConfigInfo { var mogoToken: String? = null var mogoSN: String? = null + /** + * debug 测试环境--2 + * release 生产环境--3 + * demo 演示环境--4 + */ + var netMode: Int = 3 + // 是否可以网络连接 var isConnectNet: Boolean = false @@ -55,6 +65,8 @@ class AppConfigInfo { return "应用名称:${appName}\n" + "应用版本:${appVersionCode}\n" + "应用版本名称:${appVersionName}\n" + + "Git分支名称:${workingBranchName}\n" + + "Git分支HASH:${workingBranchHash}\n" + "HD-MAP-SDK版本:${mapSdkVersion}\n" + "ADAS-SDK版本:${adasSdkVersion}\n" + "OBU-SDK版本:${obuSdkVersion}\n" + @@ -62,6 +74,22 @@ class AppConfigInfo { //"mogoToken:${mogoToken}\n"+ "中台分配的SN:${mogoSN}\n" + "网络是否正常:${isConnectNet}\n" + + "当前网络服务连接:${netMode} -- ${ + (when (netMode) { + 2 -> { + "测试环境" + } + 3 -> { + "生产环境" + } + 4 -> { + "演示环境" + } + else -> { + "未知环境" + } + }) + }\n" + "Socket是否正常:${isConnectSocket}\n" + "ADAS连接是否正常:${isConnectAutopilot}\n" + "OBU连接是否正常:${isConnectObu}\n"