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 595a145733..4229be3ef9 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 @@ -12,6 +12,7 @@ import com.mogo.eagle.core.data.deva.scene.SceneTAG import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider import com.zhjt.mogo_core_function_devatools.badcase.BadCaseManager import com.zhjt.mogo_core_function_devatools.funcconfig.FuncConfigCenter.Companion.bizConfigCenter +import com.zhjt.mogo_core_function_devatools.funcconfig.FuncConfigImpl import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchManager import com.zhjt.mogo_core_function_devatools.monitor.MonitorManager import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager @@ -35,6 +36,7 @@ class DevaToolsProvider : IDevaToolsProvider { override fun initBiz() { bizConfigCenter.init(mContext!!) + FuncConfigImpl.init() traceManager.init(mContext!!) MogoLogCatchManager.init(mContext!!) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigCenter.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigCenter.kt index f98df12c09..2f8e8fdc5f 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigCenter.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigCenter.kt @@ -36,8 +36,13 @@ class FuncConfigCenter : IMogoOnMessageListener { .registerOnMessageListener(FUNC_CONFIG_TYPE, this) UiThreadHandler.postDelayed({ funcConfigNetWorkModel.requestFuncConfig({ - SPUtils.getInstance("biz_config").put("config", GsonUtils.toJson(it)) - refreshConfig(it) +// SPUtils.getInstance("biz_config").put("config", GsonUtils.toJson(it)) +// refreshConfig(it) + + //todo test + val bizJson = SPUtils.getInstance("biz_config") + .getString("config", GsonUtils.toJson(defaultFuncConfig())) + refreshConfig(GsonUtils.fromJson(bizJson, FuncConfig::class.java)) }, { val bizJson = SPUtils.getInstance("biz_config") .getString("config", GsonUtils.toJson(defaultFuncConfig())) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigConst.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigConst.kt index ce91130545..b071595ab0 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigConst.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigConst.kt @@ -35,6 +35,8 @@ import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2N import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2V import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.AppUtils +import com.zhjt.mogo_core_function_devatools.BuildConfig +import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager import com.zhjt.service_biz.Business import com.zhjt.service_biz.FuncConfig import com.zhjt.service_biz.SubBiz @@ -77,18 +79,26 @@ class FuncConfigConst { businessList.add(Business(V2V,v2vSubList)) val foundationSubList = mutableListOf() - foundationSubList.add(SubBiz(BIZ_BEAUTY_MODE, lock = false, state = false, dependNode = "", data = "")) - foundationSubList.add(SubBiz(BIZ_RAIN_MODE, lock = false, state = false, dependNode = "", data = "")) + foundationSubList.add(SubBiz(BIZ_BEAUTY_MODE, lock = true, state = false, dependNode = "", data = "")) + foundationSubList.add(SubBiz(BIZ_RAIN_MODE, lock = true, state = false, dependNode = "", data = "")) foundationSubList.add(SubBiz(BIZ_FULL_LOG, lock = false, state = false, dependNode = "", data = "")) foundationSubList.add(SubBiz(BIZ_TRACE_LOG, lock = false, state = true, dependNode = "", data = "")) - foundationSubList.add(SubBiz(BIZ_BAG_RECORD, lock = false, state = true, dependNode = "", data = "")) - foundationSubList.add(SubBiz(BIZ_WARNING_UPLOAD, lock = false, state = true, dependNode = "", data = "")) + foundationSubList.add(SubBiz(BIZ_BAG_RECORD, lock = true, state = true, dependNode = "", data = "")) + foundationSubList.add(SubBiz(BIZ_WARNING_UPLOAD, lock = true, state = true, dependNode = "", data = "")) foundationSubList.add(SubBiz(BIZ_LIMIT_SPEED_SET, lock = false, state = true, dependNode = "", data = "")) foundationSubList.add(SubBiz(BIZ_BYPASS, lock = false, state = true, dependNode = "", data = "")) foundationSubList.add(SubBiz(BIZ_AUTOPILOT_LANE_SELECTION, lock = false, state = true, dependNode = "", data = "")) businessList.add(Business(FOUNDATION,foundationSubList)) - return FuncConfig(0, AppUtils.getAppVersionCode(), getChannelCode(), AppUtils.getAppVersionCode(), businessList) + return FuncConfig(0, AppUtils.getAppVersionCode(), getChannelCode(), getEnv(), businessList) + } + + private fun getEnv():Int{ + return if(EnvChangeManager.getEnvConfig()!= null){ + EnvChangeManager.getEnvConfig()!!.netMode + }else { + 0 + } } // todo 新增车型需要更新(清扫车) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigImpl.kt new file mode 100644 index 0000000000..6f3d0524bd --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigImpl.kt @@ -0,0 +1,30 @@ +package com.zhjt.mogo_core_function_devatools.funcconfig + +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_BEAUTY_MODE +import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_RAIN_MODE +import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_WARNING_UPLOAD +import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.FOUNDATION +import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsFuncConfigListenerManager + +object FuncConfigImpl : IMoGoDevaToolsFuncConfigListener { + + private const val TAG = "FuncConfigImpl" + + fun init() { + CallerDevaToolsFuncConfigListenerManager.registerDevaToolsFuncConfigListener( + FOUNDATION, + TAG, + this + ) + } + + override fun updateBizData(type: String, state: Boolean, lock: Boolean, data: String?) { + when (type) { + BIZ_BEAUTY_MODE -> FunctionBuildConfig.isDemoMode = state + BIZ_RAIN_MODE -> FunctionBuildConfig.isRainMode = state + BIZ_WARNING_UPLOAD -> FunctionBuildConfig.isReportWarning = state + } + } +} \ 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 c76a2008e8..69c8390db5 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 @@ -27,8 +27,11 @@ import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.autopilot.* import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.constants.MoGoConfig +import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig +import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_BAG_RECORD import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_BEAUTY_MODE import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_RAIN_MODE +import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_WARNING_UPLOAD import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.data.deva.scene.SceneModule import com.mogo.eagle.core.data.enums.TrafficTypeEnum @@ -193,8 +196,11 @@ class DebugSettingView @JvmOverloads constructor( CallerAutopilotVehicleStateListenerManager.addListener(TAG, this) //添加 业务配置监听 - CallerDevaToolsFuncConfigListenerManager.registerDevaToolsFuncConfigListener(BIZ_BEAUTY_MODE,TAG,this) - CallerDevaToolsFuncConfigListenerManager.registerDevaToolsFuncConfigListener(BIZ_RAIN_MODE,TAG,this) + CallerDevaToolsFuncConfigListenerManager.registerDevaToolsFuncConfigListener( + FuncBizConfig.FOUNDATION, + TAG, + this + ) if (logInfoView != null) { logInfoView!!.onEnterForeground() @@ -569,7 +575,7 @@ class DebugSettingView @JvmOverloads constructor( // 演示模式 tbIsDemoMode.setOnCheckedChangeListener { _, isChecked -> CallerAutoPilotManager.setDemoMode(isChecked) - if(!isChecked){ + if (!isChecked) { //关闭美化模式时,通知工控机 CallerAutoPilotManager.setIPCDemoMode(isChecked) } @@ -582,7 +588,7 @@ class DebugSettingView @JvmOverloads constructor( } //只在司机端设置美化模式开关功能 - if(AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){ + if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { tbIsDemoMode.visibility = View.GONE } @@ -818,20 +824,21 @@ class DebugSettingView @JvmOverloads constructor( } //状态中心-后台优化状态 - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){ + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { val backgroundStatus = "后台运行:" + if (BackgrounderPermission.getInstance() .isPermissionLongBackgroundRunning(context) ) "已优化" else "未优化" tvBackgroundOperation.text = Html.fromHtml(backgroundStatus, Html.FROM_HTML_MODE_LEGACY) tvBackgroundOperation.setOnClickListener { - BackgrounderPermission.getInstance().showPermissionLongBackgroundRunningDialog(context) + BackgrounderPermission.getInstance() + .showPermissionLongBackgroundRunningDialog(context) } BackgrounderPermission.getInstance().setListener { val str = "后台运行:" + if (it) "已优化" else "未优化" tvBackgroundOperation.text = Html.fromHtml(str, Html.FROM_HTML_MODE_LEGACY) } - }else { + } else { tvBackgroundOperation.visibility = GONE } //设置工控机连接状态 @@ -841,7 +848,8 @@ class DebugSettingView @JvmOverloads constructor( /** * 设置鹰眼本地参数配置监听 */ - @SuppressLint("SetTextI18n") private fun setEagleEyeConfigListener() { + @SuppressLint("SetTextI18n") + private fun setEagleEyeConfigListener() { //初始化刹车加速度阈值信息 val brakeThreshold = SharedPrefsMgr.getInstance(context) .getFloat(MoGoConfig.BRAKE_ACCELERATION_THRESHOLD, -2.5F) @@ -893,7 +901,7 @@ class DebugSettingView @JvmOverloads constructor( FunctionBuildConfig.isReportWarning = isChecked } //异常上报开关只在司机端展示 - if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){ + if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { tbReportWarning.visibility = GONE } @@ -904,7 +912,7 @@ class DebugSettingView @JvmOverloads constructor( p.menuInflater.inflate(R.menu.menu_env_pop, p.menu) MenuCompat.setGroupDividerEnabled(p.menu, true) p.setOnMenuItemClickListener { item -> - when(item.itemId) { + when (item.itemId) { R.id.group_hy -> { return@setOnMenuItemClickListener false } @@ -1112,7 +1120,10 @@ class DebugSettingView @JvmOverloads constructor( accelerationIsShow = isChecked } - tbRouteDynamicEffect.isChecked = AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) && !AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) + tbRouteDynamicEffect.isChecked = + AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) && !AppIdentityModeUtils.isBus( + FunctionBuildConfig.appIdentityMode + ) tbRouteDynamicEffect.setOnCheckedChangeListener { _, isChecked -> if (isChecked) { @@ -1795,8 +1806,8 @@ class DebugSettingView @JvmOverloads constructor( /** * 设置工控机连接状态 */ - private fun setAutopilotConnectStatus(){ - ThreadUtils.runOnUiThread{ + private fun setAutopilotConnectStatus() { + ThreadUtils.runOnUiThread { tvAutopilotConnectStatus.text = Html.fromHtml( "工控机连接状态:${ if (AppConfigInfo.isConnectAutopilot) { @@ -1842,13 +1853,18 @@ class DebugSettingView @JvmOverloads constructor( } } - override fun updateBizData(type: String,state: Boolean, lock: Boolean, data: String?) { - when(type){ - BIZ_BEAUTY_MODE -> { - - } - BIZ_RAIN_MODE -> { - + override fun updateBizData(type: String, state: Boolean, lock: Boolean, data: String?) { + when (type) { + BIZ_BEAUTY_MODE -> tbIsDemoMode.isClickable = !lock + BIZ_RAIN_MODE -> tbIsRainMode.isClickable = !lock + BIZ_WARNING_UPLOAD -> tbReportWarning.isClickable = !lock + BIZ_BAG_RECORD -> { + if(lock){ + btnRecordBag.isClickable = false + }else{ + btnRecordBag.isClickable = true + btnRecordBag.requestFocus() + } } } } @@ -2038,7 +2054,8 @@ class DebugSettingView @JvmOverloads constructor( private fun toastMsg(msg: String) { //当司机屏处于美化(演示)模式、msg为空时不弹吐司 if (!FunctionBuildConfig.isDemoMode && msg.isNotEmpty() - && AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + && AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) + ) { ToastUtils.showLong(msg) } } diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/bizconfig/FuncBizConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/bizconfig/FuncBizConfig.kt index 05d5f8a61c..13a79e48b7 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/bizconfig/FuncBizConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/bizconfig/FuncBizConfig.kt @@ -35,7 +35,7 @@ class FuncBizConfig { const val BIZ_RAIN_MODE = "BIZ_RAIN_MODE" // 雨天模式 const val BIZ_FULL_LOG = "BIZ_FULL_LOG" // 全量日志 todo const val BIZ_TRACE_LOG = "BIZ_TRACE_LOG" // 链路日志 todo - const val BIZ_BAG_RECORD = "BIZ_BAG_RECORD" // Bag录制 todo + const val BIZ_BAG_RECORD = "BIZ_BAG_RECORD" // Bag录制 const val BIZ_WARNING_UPLOAD = "BIZ_WARNING_UPLOAD" // 异常上报 todo const val BIZ_LIMIT_SPEED_SET = "BIZ_LIMIT_SPEED_SET" // 限速设置 todo const val BIZ_BYPASS = "BIZ_BYPASS" // 绕障 todo 暂未实现 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsFuncConfigListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsFuncConfigListenerManager.kt index 7c5de4c3f3..d847a8f288 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsFuncConfigListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsFuncConfigListenerManager.kt @@ -1,5 +1,6 @@ package com.mogo.eagle.core.function.call.devatools +import android.util.Log import androidx.annotation.Nullable import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener import com.zhjt.service_biz.SubBiz @@ -10,6 +11,8 @@ object CallerDevaToolsFuncConfigListenerManager { private val M_DEVA_TOOLS_FUNC_CONFIG_LISTENER: ConcurrentHashMap = ConcurrentHashMap() + private val cacheMap = mutableMapOf>() + /** * 添加监听 * @param tag 标记,用来注销监听使用 @@ -24,6 +27,10 @@ object CallerDevaToolsFuncConfigListenerManager { return } M_DEVA_TOOLS_FUNC_CONFIG_LISTENER["$biz'_'$tag"] = listener + + cacheMap[biz]?.let { + invokeDevaToolsFuncConfigBizUpdate(biz,it) + } } /** @@ -56,6 +63,7 @@ object CallerDevaToolsFuncConfigListenerManager { * 由订阅方判断Type类型,聚合一些 */ fun invokeDevaToolsFuncConfigBizUpdate(biz: String, list: MutableList) { + cacheMap[biz] = list M_DEVA_TOOLS_FUNC_CONFIG_LISTENER.forEach { val key = it.key if (key.contains(biz)) { diff --git a/gradle.properties b/gradle.properties index ab9b6e8ea8..e160b93985 100644 --- a/gradle.properties +++ b/gradle.properties @@ -59,8 +59,8 @@ bytex.ASM_API=ASM7 HOOK_LOG_VERSION=1.6.1 SERVICE_CHAIN_VERSION=1.1.0 -BIZCONFIG_VERSION=1.1.4 -SERVICE_BIZ_VERSION=1.1.12 +BIZCONFIG_VERSION=1.2.7 +SERVICE_BIZ_VERSION=1.2.0 ################ 外部依赖引用 ################ # loglib LOGLIB_VERSION=1.3.38