From 0adf85f61f5fc12663856af3522b261ddfe6825a Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 14 Sep 2022 19:28:12 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=8A=B6=E6=80=81=E6=A0=8F]=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=BE=AA=E8=BF=B9/=E7=AE=97=E8=B7=AF=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../status/entity/Status.kt | 17 ++++++----------- .../status/flow/trace/TracingImpl.kt | 5 +++-- .../CallerAutoPilotStatusListenerManager.kt | 10 ++++++++++ 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt index 6639a3fb46..4e9b503deb 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/entity/Status.kt @@ -230,18 +230,13 @@ class TracingStatus(var state: Tracing = UNKNOWN): Status() { override fun isException(): Boolean = state.isException() } -fun String.toState(): Tracing? { - val ss = split("|") - var code = "" - if (ss.isNotEmpty()) { - code = ss[0] - } +fun String.toState(msg: String?): Tracing? { + val ss = msg?.split("|") var extra: Map? = null - if (ss.size > 1) { - + if (ss != null && ss.isNotEmpty()) { val sb = StringBuilder() - for (i in 1 until ss.size) { - sb.append(ss[i]) + for (element in ss) { + sb.append(element) sb.append(",") } if (sb.isNotEmpty()) { @@ -249,7 +244,7 @@ fun String.toState(): Tracing? { } extra = mutableMapOf("extra" to sb.toString()) } - return when(code) { + return when(this) { "IMAP_TRA_EXIST" -> TRACK_FINDED.apply { this.extra = extra } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/trace/TracingImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/trace/TracingImpl.kt index c44b3372dc..5c047e2b61 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/trace/TracingImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/trace/TracingImpl.kt @@ -21,7 +21,8 @@ internal class TracingImpl(ctx: Context): IFlow(ctx), IMoGoAutopi override fun onCreate() { val code = CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode() - val state = code.toState() ?: UNKNOWN + val msg = CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageContent() + val state = code.toState(msg) ?: UNKNOWN old = state send(TracingStatus(state)) CallerAutoPilotStatusListenerManager.addListener(TAG, this) @@ -31,7 +32,7 @@ internal class TracingImpl(ctx: Context): IFlow(ctx), IMoGoAutopi override fun onAutopilotGuardian(guardianInfo: MogoReportMessage?) { super.onAutopilotGuardian(guardianInfo) val current = guardianInfo?.code - val newState = current?.toState() + val newState = current?.toState(guardianInfo.msg) if (newState != null && newState != old) { send(TracingStatus(newState)) old = newState diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt index df63a364f3..0c915a5f31 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt @@ -1,10 +1,12 @@ package com.mogo.eagle.core.function.call.autopilot +import android.util.* import androidx.annotation.Nullable import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.base.CallerBase import com.mogo.eagle.core.utilcode.kotlin.* +import com.mogo.eagle.core.utilcode.mogo.logger.* import com.mogo.eagle.core.utilcode.util.GsonUtils import mogo.telematics.pad.MessagePad import mogo_msg.MogoReportMsg @@ -29,6 +31,10 @@ object CallerAutoPilotStatusListenerManager : CallerBase() { @Volatile private var autoPilotMessageCode: String = "" + + @Volatile + private var autoPilotMessageContent: String = "" + /** * 查询AutoPilot状态 */ @@ -45,6 +51,8 @@ object CallerAutoPilotStatusListenerManager : CallerBase() { fun getAutoPilotReportMessageCode(): String = autoPilotMessageCode + fun getAutoPilotReportMessageContent(): String = autoPilotMessageContent + /** * 通过Gnss定位更新来同步更新自动驾驶状态 */ @@ -171,6 +179,8 @@ object CallerAutoPilotStatusListenerManager : CallerBase() { M_AUTOPILOT_STATUS_LISTENERS.forEach { val listener = it.value autoPilotMessageCode = guardianInfo?.code ?: "" + autoPilotMessageContent = guardianInfo?.msg ?: "" + Logger.d("XXXXX", "code: ${guardianInfo?.code}, msg: ${guardianInfo?.msg}") listener.onAutopilotGuardian(guardianInfo) } }