From 8988688660fce8ae3020ec56491e50101106de6a Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 16 Mar 2023 19:09:21 +0800 Subject: [PATCH 1/4] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=B8=A5=E6=A0=BC=E6=A8=A1=E5=BC=8F=EF=BC=8C=E6=96=B9?= =?UTF-8?q?=E4=BE=BF=E6=A3=80=E6=B5=8B=E4=B8=BB=E7=BA=BF=E7=A8=8B=E8=80=97?= =?UTF-8?q?=E6=97=B6=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/launcher/MogoApplication.java | 16 +++++++++ .../DevaToolsProvider.kt | 7 +++- .../apm/ApmEnvProviderImpl.kt | 4 +-- .../strict/StrictModeProviderImpl.kt | 34 +++++++++++++++++++ .../hmi/ui/setting/DebugSettingView.kt | 29 ++++++++++++---- .../main/res/layout/view_debug_setting.xml | 12 +++++++ .../api/devatools/IDevaToolsProvider.kt | 3 ++ .../devatools/strict/IStrictModeProvider.kt | 10 ++++++ .../call/devatools/CallerDevaToolsManager.kt | 3 ++ 9 files changed, 108 insertions(+), 10 deletions(-) create mode 100644 core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/strict/StrictModeProviderImpl.kt create mode 100644 core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/strict/IStrictModeProvider.kt diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index a833aaaafd..f35d8258c0 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -1,9 +1,13 @@ package com.mogo.launcher; +import com.mogo.commons.debug.DebugConfig; +import com.mogo.eagle.core.function.api.devatools.strict.IStrictModeProvider; +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.startup.CallerStartUpManager; 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.util.SharedPrefs; import com.mogo.launcher.crash.CrashSystem; import com.mogo.launcher.startup.ARouterStartUp; import com.mogo.launcher.startup.ConfigStartUp; @@ -21,9 +25,21 @@ public class MogoApplication extends MainMoGoApplication { ARouterStartUp.init(this); ConfigStartUp.init(this); CallerStartUpManager.initStageOne(); + tryEnableStrictMode(); super.onCreate(); } + private void tryEnableStrictMode() { + IStrictModeProvider strict = CallerDevaToolsManager.INSTANCE.strict(); + if (DebugConfig.isDebug() && strict != null) { + boolean enabled = SharedPrefs.getInstance(this).getBoolean("MOGO_STRICT_MODE_ENABLED", false); + Logger.e("StrictMode", "isEnabled:" + enabled); + if (enabled) { + strict.enable(); + } + } + } + @Override protected void initCrashConfig() { CrashSystem crashSystem = CrashSystem.getInstance(this); diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index c653f4bca4..1401d33981 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -16,6 +16,7 @@ import com.mogo.eagle.core.data.deva.scene.SceneTAG import com.mogo.eagle.core.data.msgbox.MsgBoxBean import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider import com.mogo.eagle.core.function.api.devatools.apm.* +import com.mogo.eagle.core.function.api.devatools.strict.* import com.mogo.eagle.core.function.call.map.* import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.zhjt.mogo_core_function_devatools.apm.* @@ -35,6 +36,7 @@ import com.zhjt.mogo_core_function_devatools.report.IPCReportManager import com.zhjt.mogo_core_function_devatools.report.IPCReportManager.Companion.iPCReportManager import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager import com.zhjt.mogo_core_function_devatools.status.StatusManager +import com.zhjt.mogo_core_function_devatools.strict.* import com.zhjt.mogo_core_function_devatools.trace.TraceManager.Companion.traceManager import com.zhjt.mogo_core_function_devatools.tts.TtsManager.Companion.ttsManager import com.zhjt.mogo_core_function_devatools.upgrade.UpgradeManager.Companion.upgradeManager @@ -48,7 +50,9 @@ class DevaToolsProvider : IDevaToolsProvider { private var mContext: Context? = null - private val apmEnvProvider by lazy { ApmEnvProviderImpl } + private val apmEnvProvider by lazy { ApmEnvProviderImpl() } + + private val strictModeProvider by lazy { StrictModeProviderImpl() } @Volatile private var mDockerVersion: String? = null @@ -253,4 +257,5 @@ class DevaToolsProvider : IDevaToolsProvider { override fun queryObuUpgrade(obuVersionName: String) { bindingCarManager.queryObuUpgrade(obuVersionName) } + override fun strict(): IStrictModeProvider = strictModeProvider } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/apm/ApmEnvProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/apm/ApmEnvProviderImpl.kt index 146ce9adc3..ddc8257335 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/apm/ApmEnvProviderImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/apm/ApmEnvProviderImpl.kt @@ -17,9 +17,9 @@ import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicReference import kotlin.coroutines.* -object ApmEnvProviderImpl: IApmEnvProvider, CoroutineScope { +class ApmEnvProviderImpl: IApmEnvProvider, CoroutineScope { - private const val TAG = "ApmEnvProvider" + private val TAG = "ApmEnvProvider" private val scope by lazy { CoroutineScope(Dispatchers.IO + SupervisorJob()) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/strict/StrictModeProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/strict/StrictModeProviderImpl.kt new file mode 100644 index 0000000000..b364363093 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/strict/StrictModeProviderImpl.kt @@ -0,0 +1,34 @@ +package com.zhjt.mogo_core_function_devatools.strict + +import android.os.* +import android.os.StrictMode.ThreadPolicy.Builder +import android.os.StrictMode.VmPolicy +import com.mogo.eagle.core.function.api.devatools.strict.* + +/** + * 严格模式功能管理 + * 1. 监测主线程磁盘读写 + * 2. 监测主线程网络请求 + * 3. 监测磁盘输入输出流使用异常(未及时关闭) + * 4. 监测数据库查询操作异常(cursor使用未关闭) + * 5. 监测资源类型不匹配(TypedValue) + * 6. 监测文件读写未使用Buffer(增加buffer可以减少系统调用,降低性能损耗) + */ +class StrictModeProviderImpl: IStrictModeProvider { + + + override fun enable() { + StrictMode.setThreadPolicy( + Builder() + .detectAll() + .penaltyLog() + .penaltyDropBox() + .build()) + StrictMode.setVmPolicy( + VmPolicy.Builder() + .detectAll() + .penaltyLog() + .penaltyDropBox() + .build()) + } +} \ No newline at end of file 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 eba7451134..c32a366d08 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 @@ -7,6 +7,7 @@ import android.content.ClipboardManager import android.content.Context import android.graphics.Color import android.os.Build +import android.os.Process import android.text.Html import android.util.AttributeSet import android.util.Log @@ -64,9 +65,7 @@ import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.ui.logcatch.ILogViewListener import com.mogo.eagle.core.function.hmi.ui.logcatch.LogInfoView import com.mogo.eagle.core.function.hmi.ui.widget.DemoModeView -import com.mogo.eagle.core.utilcode.kotlin.currentPadding -import com.mogo.eagle.core.utilcode.kotlin.lifecycleOwner -import com.mogo.eagle.core.utilcode.kotlin.onClick +import com.mogo.eagle.core.utilcode.kotlin.* import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.LogLevel @@ -81,7 +80,7 @@ import com.mogo.map.uicontroller.VisualAngleMode.* import kotlinx.android.synthetic.main.view_debug_setting.view.* import kotlinx.android.synthetic.main.view_debug_setting.view.tbRouteDynamicEffect import kotlinx.android.synthetic.main.view_sop_setting.view.* -import kotlinx.coroutines.launch +import kotlinx.coroutines.* import mogo.telematics.pad.MessagePad import mogo_msg.MogoReportMsg import java.text.SimpleDateFormat @@ -621,6 +620,18 @@ internal class DebugSettingView @JvmOverloads constructor( tbIsDemoMode.visibility = View.GONE } + tbIsStrictMode?.also { + it.isChecked = SharedPrefs.getInstance(Utils.getApp()).getBoolean("MOGO_STRICT_MODE_ENABLED", false) + it.setOnCheckedChangeListener { _, isChecked -> + SharedPrefs.getInstance(Utils.getApp()).putBoolean("MOGO_STRICT_MODE_ENABLED", isChecked) + scope.launch { + ToastUtils.showShort("配置生效, 2秒后重启应用...") + delay(2000) + restartApp() + } + } + } + // 雨天模式,上一次勾选的数据 tbIsRainMode.isChecked = FunctionBuildConfig.isRainMode //雨天模式 @@ -1628,11 +1639,10 @@ internal class DebugSettingView @JvmOverloads constructor( mRouteInfoSize = 0 if (FunctionBuildConfig.isDemoMode) { - tbIsDemoMode.text = "关闭美化模式" + tbIsDemoMode?.text = "关闭美化模式" } else { - tbIsDemoMode.text = "开启美化模式" + tbIsDemoMode?.text = "开启美化模式" } - //obu信息,排查obu相关问题使用 tvObuInfoContent.text = mObuInfoStr @@ -2035,6 +2045,11 @@ internal class DebugSettingView @JvmOverloads constructor( } } + private fun restartApp() { + Utils.getApp().startActivity(Utils.getApp().packageManager.getLaunchIntentForPackage(Utils.getApp().packageName)) + Process.killProcess(Process.myPid()) + } + override fun fwThreadClose() { refreshTraceInfo() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml index 20f98d2738..fbd4be94fa 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml @@ -229,6 +229,18 @@ android:layout_height="1dp" android:background="#F0F0F0" /> + + Date: Fri, 17 Mar 2023 18:00:04 +0800 Subject: [PATCH 2/4] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[=201?= =?UTF-8?q?=E3=80=81=E4=BF=AE=E5=A4=8D=E5=9C=A8=E6=96=91=E9=A9=AC=E7=BA=BF?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E9=AB=98=E5=BE=B7=E5=9D=90=E6=A0=87?= =?UTF-8?q?=E7=B3=BB=E7=9A=84=E8=87=AA=E8=BD=A6=E4=BD=8D=E7=BD=AE=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=EF=BC=8C=E5=85=B6=E5=AE=83=E5=9C=B0=E6=96=B9=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E5=BC=82=E5=B8=B8=E3=80=82=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../eagle/core/data/map/MogoLocation.java | 44 ++++++++++++ ...llerChassisLocationGCJ02ListenerManager.kt | 68 +++++++++---------- ...llerChassisLocationWGS84ListenerManager.kt | 2 +- .../java/com/mogo/map/AMapViewWrapper.java | 24 +------ 4 files changed, 80 insertions(+), 58 deletions(-) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/MogoLocation.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/MogoLocation.java index 03a70a4bbc..33c4fb5091 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/MogoLocation.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/map/MogoLocation.java @@ -324,6 +324,50 @@ public class MogoLocation implements Cloneable { return this; } + public MogoLocation copy(MogoLocation lastLocation, double longitude, double latitude) { + MogoLocation mogoLocation = new MogoLocation(); + mogoLocation.accuracy = lastLocation.accuracy; + mogoLocation.adCode = lastLocation.adCode; + mogoLocation.address = lastLocation.address; + mogoLocation.aoiName = lastLocation.aoiName; + mogoLocation.buildingId = lastLocation.buildingId; + mogoLocation.cityCode = lastLocation.cityCode; + mogoLocation.cityName = lastLocation.cityName; + mogoLocation.description = lastLocation.description; + mogoLocation.district = lastLocation.district; + mogoLocation.errorCode = lastLocation.errorCode; + mogoLocation.errorInfo = lastLocation.errorInfo; + mogoLocation.floor = lastLocation.floor; + mogoLocation.gpsAccuracyStatus = lastLocation.gpsAccuracyStatus; + mogoLocation.lastReceiveTime = lastLocation.lastReceiveTime; + mogoLocation.locationDetail = lastLocation.locationDetail; + mogoLocation.locType = lastLocation.locType; + mogoLocation.poiName = lastLocation.poiName; + mogoLocation.provider = lastLocation.provider; + mogoLocation.province = lastLocation.province; + mogoLocation.satellite = lastLocation.satellite; + mogoLocation.street = lastLocation.street; + mogoLocation.streetNum = lastLocation.streetNum; + + MessagePad.GnssInfo gnssInfo = + MessagePad.GnssInfo.newBuilder() + .setLongitude(longitude) //经度 + .setLatitude(latitude)//纬度 + .setAltitude(lastLocation.gnssInfo.getAltitude()) //海拔 + .setHeading(lastLocation.gnssInfo.getHeading()) //航向角 + .setAcceleration(lastLocation.gnssInfo.getAcceleration()) //加速度 + .setYawRate(lastLocation.gnssInfo.getYawRate()) //曲率 + .setGnssSpeed(lastLocation.gnssInfo.getGnssSpeed()) //惯导车速 m/s + .setVehicleSpeed(lastLocation.gnssInfo.getVehicleSpeed()) //车辆车速 m/s + .setSatelliteTime(lastLocation.gnssInfo.getSatelliteTime()) //gps时间 单位:秒s + .setSystemTime(lastLocation.gnssInfo.getSystemTime()) //系统时间 单位:秒s + .build(); + + mogoLocation.gnssInfo = gnssInfo; + return mogoLocation; + } + + public long getLastReceiveTime() { return lastReceiveTime; } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt index 13693d165d..36261501a1 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt @@ -18,7 +18,7 @@ object CallerChassisLocationGCJ02ListenerManager : CallerBaseGCJ02 坐标 val gcj20Location = CoordinateTransform.WGS84ToGCJ02(gnssInfo.longitude, gnssInfo.latitude) - mGnssInfo?.let { - mGnssInfo!!.longitude = gcj20Location[0] - mGnssInfo!!.latitude = gcj20Location[1] + // 克隆定位数据,防止原数据被篡改导致位置跳变 + mGnssInfo = gnssInfo.copy(gnssInfo, gcj20Location[0], gcj20Location[1]) - M_LISTENERS.forEach { - val tag = it.key - // 获取数据监听需要的HZ - val hz = M_LISTENERS_HZ[tag] - if (hz != null && hz > 0) { - val hzTime = (1.0 / hz.toDouble()) * 1000 - // 获取最后一次回调的时间 - val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] - if (hzLastSendTime != null && hzLastSendTime > 0) { - // 计算是否进入下一次回调周期 - val nowTime = TimeUtils.getNowMills() - if (nowTime - hzLastSendTime > hzTime) { - syncLocationCallback(tag, it, mGnssInfo!!, sourceType) - } - } else { - syncLocationCallback(tag, it, mGnssInfo!!, sourceType) + M_LISTENERS.forEach { + val tag = it.key + // 获取数据监听需要的HZ + val hz = M_LISTENERS_HZ[tag] + if (hz != null && hz > 0) { + val hzTime = (1.0 / hz.toDouble()) * 1000 + // 获取最后一次回调的时间 + val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] + if (hzLastSendTime != null && hzLastSendTime > 0) { + // 计算是否进入下一次回调周期 + val nowTime = TimeUtils.getNowMills() + if (nowTime - hzLastSendTime > hzTime) { + syncLocationCallback(tag, it, mGnssInfo, sourceType) } } else { - //Logger.d(TAG, "没设置监听频率,使用默认5HZ") - val hzTime = (1.0 / 5) * 1000 - // 获取最后一次回调的时间 - val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] - if (hzLastSendTime != null && hzLastSendTime > 0) { - // 计算是否进入下一次回调周期 - val nowTime = TimeUtils.getNowMills() - if (nowTime - hzLastSendTime > hzTime) { - syncLocationCallback(tag, it, mGnssInfo!!, sourceType) - } - } else { - syncLocationCallback(tag, it, mGnssInfo!!, sourceType) + syncLocationCallback(tag, it, mGnssInfo, sourceType) + } + } else { + //Logger.d(TAG, "没设置监听频率,使用默认5HZ") + val hzTime = (1.0 / 5) * 1000 + // 获取最后一次回调的时间 + val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] + if (hzLastSendTime != null && hzLastSendTime > 0) { + // 计算是否进入下一次回调周期 + val nowTime = TimeUtils.getNowMills() + if (nowTime - hzLastSendTime > hzTime) { + syncLocationCallback(tag, it, mGnssInfo, sourceType) } + } else { + syncLocationCallback(tag, it, mGnssInfo, sourceType) } } } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt index 7c38e0fad2..6c2465f0d9 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt @@ -17,7 +17,7 @@ object CallerChassisLocationWGS84ListenerManager : CallerBase 0) { ArrayList points = stopLine.points; if (carLoc != null) { - /** - * //地图组提供的高德坐标切到WGS84坐标系 - * var cal = LonLatPoint(point!!.lon, point!!.lat) - * if(!point!!.provider.equals(MapAutoApi.GPS_FLAG)){ - * cal = MapTools.switchLonLatWGS84(cal) - * } - */ - String provider = carLoc.getProvider(); - //CallerLogger.INSTANCE.d(M_MAP + TAG, "car_loc: " + carLoc + ""); - if (!MapAutoApi.GPS_FLAG.equals(provider)) { - //CallerLogger.INSTANCE.d(M_MAP + TAG, "convert before: car_loc: {lon: " + carLoc.getLongitude() + ", lat: " + carLoc.getLatitude() + "}"); - LonLatPoint p = new LonLatPoint(carLoc.getLongitude(), carLoc.getLatitude()); - p = MapTools.INSTANCE.switchLonLatWGS84(p); - carLoc.setLongitude(p.longitude); - carLoc.setLatitude(p.latitude); - //CallerLogger.INSTANCE.d(M_MAP + TAG, "convert after: car_loc: {lon: " + carLoc.getLongitude() + ", lat: " + carLoc.getLatitude() + "}"); - } - //CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo:stop_line" + stopLine + ", car_loc:{lon: " + carLoc.getLatitude() + ", lat: " + carLoc.getLongitude() + "}"); +// //CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo:stop_line" + stopLine + ", car_loc:{lon: " + carLoc.getLatitude() + ", lat: " + carLoc.getLongitude() + "}"); MapRoadInfo.StopLine stopInfo = convert(stopLine); LonLatPoint p1 = points.get(0); LonLatPoint p2 = points.get(points.size() - 1); From ecb357ff29b1fff7902b0d53a98d33770fb8aed0 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Mon, 20 Mar 2023 15:58:02 +0800 Subject: [PATCH 3/4] [2.13.0-arch-opt] cherry pick system version view --- .../eagle/core/function/hmi/ui/widget/SystemVersionView.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt index 52281e673c..1418bac233 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt @@ -141,7 +141,12 @@ class SystemVersionView @JvmOverloads constructor( } } - updateHDDataCacheStatus(CallerMapUIServiceManager.isCityDataCached()) + ThreadUtils.getIoPool().execute { + val isCached = CallerMapUIServiceManager.isCityDataCached() + UiThreadHandler.post { + updateHDDataCacheStatus(isCached) + } + } if(AdUpgradeStateHelper.isConfirmUpgrade()){ //将角标改为“下载中” From 969d0db95991f77b2f623e91f086b76b5714e94f Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Mon, 20 Mar 2023 17:13:13 +0800 Subject: [PATCH 4/4] =?UTF-8?q?[obu]=E5=8D=87=E7=BA=A7OBU=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.gradle b/config.gradle index dc2bd1e3d3..c2c71ebf9c 100644 --- a/config.gradle +++ b/config.gradle @@ -93,7 +93,7 @@ ext { // obu sdk obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3", - mogoobu : 'com.mogo.support.obu:mogo-obu:1.1.0_beta4', + mogoobu : 'com.mogo.support.obu:mogo-obu:1.1.0_beta5', // google googlezxing : "com.google.zxing:core:3.3.3",