[dev_opt_2.15.0] 合并dev_arch_opt_3.0分支并解决冲突

This commit is contained in:
renwj
2023-03-17 11:55:37 +08:00
26 changed files with 420 additions and 209 deletions

View File

@@ -626,6 +626,9 @@ class MoGoAdasListenerImpl : OnAdasListener {
header: MessagePad.Header?,
bagManager: BagManagerOuterClass.BagManager?
) {
bagManager?.let {
CallerAutopilotRecordListenerManager.invokeBagManagerResult(it)
}
}
/**

View File

@@ -109,7 +109,6 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
override fun onCurrentVersion(version: MogoObuSystemBConfigData) {
CallerLogger.d("$M_OBU${MogoObuConst.TAG_UPGRADE_OBU}", "onCurrentVersion version = ${version.version}")
if (!version.version.isNullOrEmpty()) {
CallerObuInfoListenerManager.invokeObuVersionName(version.version)
CallerDevaToolsManager.queryObuUpgrade(version.version)
}
}
@@ -194,6 +193,15 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
}
}
/**
* OBU 系统状态
*
* @param data 系统状态
*/
override fun onObuSystemStatus(data: MogoObuSystemStatusData?) {
CallerObuInfoListenerManager.invokeGetObuInfo(data.toString())
}
/**
* HV车辆基础信息 gnssInfo
*/

View File

@@ -31,6 +31,15 @@ object MoGoObuListenerImpl : OnObuListener {
CallerObuConnectListenerManager.invokeObuConnectListener()
}
/**
* OBU 系统状态
*
* @param data 系统状态
*/
override fun onObuSystemStatus(data: MogoObuSystemStatusData?) {
}
/**
* HV车辆基础信息

View File

@@ -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.function.api.devatools.download.*
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
@@ -37,6 +38,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
@@ -50,7 +52,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
@@ -259,4 +263,5 @@ class DevaToolsProvider : IDevaToolsProvider {
override fun upgradeProvider(): IMoGoUpgradeProvider? {
return upgradeManager.upgradeProvider()
}
override fun strict(): IStrictModeProvider = strictModeProvider
}

View File

@@ -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()) }

View File

@@ -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())
}
}

View File

@@ -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
@@ -152,8 +151,7 @@ internal class DebugSettingView @JvmOverloads constructor(
//OBU连接状态
private var obuConnectStatus: Boolean = false
private var mObuVersionName: String = ""
private var mObuDeviceId: String = ""
private var mObuInfoStr: String = ""
//渠道包标签
private var onlineSelected: Boolean = true
@@ -575,7 +573,7 @@ internal class DebugSettingView @JvmOverloads constructor(
setLogCheckedChangeListener()
//OBU配置信息
tvObuInfo.text = CallerObuConnectListenerManager.getObuStatusInfoJsonString()
// tvObuInfo.text = CallerObuConnectListenerManager.getObuStatusInfoJsonString()
//工控机配置信息
tvAutopilotInfo.text =
@@ -633,6 +631,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
//雨天模式
@@ -1538,7 +1548,6 @@ internal class DebugSettingView @JvmOverloads constructor(
}"
)
tvServerSocketStatus.text = Html.fromHtml(
"服务器Socket状态${
if (MogoStatusManager.getInstance().isSocketOnLine) {
@@ -1643,15 +1652,12 @@ internal class DebugSettingView @JvmOverloads constructor(
mRouteInfoSize = 0
if (FunctionBuildConfig.isDemoMode) {
tbIsDemoMode.text = "关闭美化模式"
tbIsDemoMode?.text = "关闭美化模式"
} else {
tbIsDemoMode.text = "开启美化模式"
tbIsDemoMode?.text = "开启美化模式"
}
//obu TODO 后面会添加很多os那边需要显示的内容
obuVersionNameTv.text = Html.fromHtml(
"OBU版本号$mObuVersionName"
)
//obu信息排查obu相关问题使用
tvObuInfoContent.text = mObuInfoStr
obuConnectStatusTv.text = Html.fromHtml(
"OBU连接状态${
@@ -1670,7 +1676,7 @@ internal class DebugSettingView @JvmOverloads constructor(
*/
override fun onConnectStatus(obuStatusInfo: ObuStatusInfo) {
lifecycleOwner.lifecycleScope.launch {
tvObuInfo.text = GsonUtils.toJson(obuStatusInfo)
// tvObuInfo.text = GsonUtils.toJson(obuStatusInfo)
AppConfigInfo.obuSdkVersion = obuStatusInfo.obuSdkVersion
AppConfigInfo.isConnectObu = obuStatusInfo.obuStatus
@@ -2052,6 +2058,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()
}
@@ -2061,12 +2072,7 @@ internal class DebugSettingView @JvmOverloads constructor(
setLogCheckedChangeListener()
}
override fun onGetObuVersionName(obuVersionName: String) {
mObuVersionName = obuVersionName
override fun onGetObuInfo(obuInfoStr: String) {
mObuInfoStr = obuInfoStr
}
override fun onObuDeviceId(obuDeviceId: String) {
mObuDeviceId = obuDeviceId
}
}

View File

@@ -229,6 +229,18 @@
android:layout_height="1dp"
android:background="#F0F0F0" />
<ToggleButton
android:id="@+id/tbIsStrictMode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_10"
android:background="@drawable/radio_button_normal_background_right"
android:textColor="#000"
android:padding="@dimen/dp_20"
android:textOff="开启严格模式"
android:textOn="关闭严格模式"
android:textSize="@dimen/dp_24" />
<ToggleButton
android:id="@+id/tbIsDemoMode"
android:layout_width="match_parent"
@@ -1085,16 +1097,16 @@
android:background="#F0F0F0"
app:layout_constraintTop_toBottomOf="@id/btnSetObuIP" />
<TextView
android:id="@+id/tvObuInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_5"
android:minLines="4"
android:text="OBU配置信息"
android:textColor="#000"
android:textSize="@dimen/dp_24"
app:layout_constraintTop_toBottomOf="@id/obuDivider" />
<!-- <TextView-->
<!-- android:id="@+id/tvObuInfo"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_margin="@dimen/dp_5"-->
<!-- android:minLines="3"-->
<!-- android:text="OBU配置信息"-->
<!-- android:textColor="#000"-->
<!-- android:textSize="@dimen/dp_24"-->
<!-- app:layout_constraintTop_toBottomOf="@id/obuDivider" />-->
<LinearLayout
android:id="@+id/obuStatusCenterLayout"
@@ -1103,31 +1115,33 @@
android:orientation="vertical"
android:visibility="visible"
tools:visibility="visible"
app:layout_constraintTop_toBottomOf="@id/tvObuInfo"
app:layout_constraintTop_toBottomOf="@id/obuDivider"
tools:ignore="MissingConstraints">
<TextView
android:id="@+id/obuVersionNameTv"
style="@style/DebugSettingText"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#F0F0F0" />
<TextView
android:id="@+id/obuConnectStatusTv"
style="@style/DebugSettingText"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#F0F0F0" />
<TextView
android:id="@+id/obuConnectStatusTv"
style="@style/DebugSettingText"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#F0F0F0" />
<TextView
android:id="@+id/obuVersionNameTv"
style="@style/DebugSettingText"
android:text="OBU信息"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#F0F0F0" />
<TextView
android:id="@+id/tvObuInfoContent"
style="@style/DebugSettingText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minLines="3" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -125,7 +125,7 @@ public class TrackManager {
cellIdCaches.forcePut(uuid, trackObj.getCellIdPos());
mMarkersCaches.put(uuid, trackObj);
trafficDataUuid.add(uuid);
Log.i("costTime","" + (System.currentTimeMillis() - cost));
//Log.i("costTime","" + (System.currentTimeMillis() - cost));
}
return mFilterTrafficData;
}