From 090641f250a1b7f929606ad25269cf9f1568f408 Mon Sep 17 00:00:00 2001 From: aibingbing Date: Tue, 24 Sep 2024 13:56:41 +0800 Subject: [PATCH] =?UTF-8?q?[6.7.0][=E5=B7=A5=E5=85=B7=E7=AE=B1]=20fix:=20?= =?UTF-8?q?=E6=BC=AB=E6=B8=B8=20=E6=8C=89=E9=92=AE=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E5=88=A4=E6=96=AD=E6=97=B6=E6=9C=BA=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/hmi/bone/tab/ToolKitTabView.kt | 2 ++ .../hmi/bone/toolkit/ToolKitDataManager.kt | 33 ++++++++++++++----- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/ToolKitTabView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/ToolKitTabView.kt index 2ea2e4f7ef..2c56875901 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/ToolKitTabView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/ToolKitTabView.kt @@ -51,6 +51,8 @@ class ToolKitTabView @JvmOverloads constructor( } private fun initView() { + context?.also { ToolKitDataManager.checkAndAddRomaItem(it) } + // 设置布局管理器为GridLayoutManager,每行3列 recyclerView.layoutManager = GridLayoutManager(context, 3) val adapter = ToolKitListAdapter(ToolKitDataManager.toolList) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/toolkit/ToolKitDataManager.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/toolkit/ToolKitDataManager.kt index 74d246b4dd..b71bcc3c9c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/toolkit/ToolKitDataManager.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/toolkit/ToolKitDataManager.kt @@ -100,16 +100,9 @@ object ToolKitDataManager : IToolKitItemClickListener { ToolTypeEnum.AI_REPORT.name, getDefaultItemView(ctx, "上报", R.drawable.icon_toolkit_item_ai_report) ) - // 按照目前RomaTaxiView添加限制:bus业务司机端,taxi业务司机端 展示漫游按钮 - if (AppIdentityModeUtils.isBusDriver(FunctionBuildConfig.appIdentityMode) - || AppIdentityModeUtils.isTaxiDriver(FunctionBuildConfig.appIdentityMode) - ) { - it += ToolKitBean( - ToolTypeEnum.ROMA.name, - getRoamItemView(ctx) - ) - } } + // 漫游 + checkAndAddRomaItem(ctx) addListener(TAG, this) kotlin.runCatching { @@ -211,6 +204,28 @@ object ToolKitDataManager : IToolKitItemClickListener { } } + /** + * ToolKitDataManager基于调用方调用时机可能会很早,FunctionBuildConfig里数据可能还没设置好,在view加载 + * 时在检查一次 + */ + fun checkAndAddRomaItem(ctx: Context) { + if (toolList.map { it.toolTag }.contains(ToolTypeEnum.ROMA.name)) { + Logger.i(TAG, "checkAndAddRomaItem 已经添加跳过") + return + } + synchronized(toolList) { + // 按照目前RomaTaxiView添加限制:bus业务司机端,taxi业务司机端 展示漫游按钮 + if (AppIdentityModeUtils.isBusDriver(FunctionBuildConfig.appIdentityMode) + || AppIdentityModeUtils.isTaxiDriver(FunctionBuildConfig.appIdentityMode) + ) { + toolList += ToolKitBean( + ToolTypeEnum.ROMA.name, + getRoamItemView(ctx) + ) + } + } + } + fun invokeItemClick(toolTag: String, ctx: Context?) { listeners.values.forEach { itx -> itx.onItemClick(toolTag, ctx)