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 b30e8d8f4a..25aec4fbfa 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 @@ -8,7 +8,7 @@ import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteStart import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing.* -sealed class Status { +sealed class Status(var rawData: Any? = null) { abstract fun isException(): Boolean @@ -34,7 +34,7 @@ class IpcStatus(val enabled: Boolean = false): Status() { } override fun toString(): String { - return "IpcStatus(enabled=$enabled)" + return "IpcStatus(enabled=$enabled, raw_data:$rawData)" } override fun isException(): Boolean = !enabled @@ -84,7 +84,7 @@ class GpsStatus(val enabled: Boolean = false, val isGranted: Boolean = false): S } override fun toString(): String { - return "GpsStatus(enabled=$enabled, isGranted=$isGranted)" + return "GpsStatus(enabled=$enabled, isGranted=$isGranted, raw_data:$rawData)" } override fun isException(): Boolean = !enabled || !isGranted @@ -114,7 +114,7 @@ class RTKStatus(var desc: String = "", var state: Int): Status() { } override fun toString(): String { - return "RTKStatus(desc='$desc', state=$state)" + return "RTKStatus(desc='$desc', state=$state, raw_data:$rawData)" } override fun isException(): Boolean = desc.isEmpty() || (desc == "RTK") && state != 0 @@ -137,7 +137,7 @@ class CanStatus(var enabled: Boolean = false): Status() { } override fun toString(): String { - return "CanStatus(enabled=$enabled)" + return "CanStatus(enabled=$enabled, raw_data:$rawData)" } override fun isException(): Boolean = !enabled @@ -211,7 +211,7 @@ class TracingStatus(var state: Tracing = UNKNOWN): Status() { } override fun toString(): String { - return "TracingStatus(state=$state)" + return "TracingStatus(state=$state, raw_data:$rawData)" } override fun equals(other: Any?): Boolean { @@ -246,7 +246,6 @@ class OverViewStatus(var hasException: Boolean = false): Status() { override fun hashCode(): Int { return 0 } - } fun String.toState(msg: String?): Tracing? { @@ -333,6 +332,12 @@ data class SteerStatus(val angle: Float, var isError: Boolean = false): Status() result = 31 * result + isError.hashCode() return result } + + override fun toString(): String { + return "SteerStatus(angle=$angle, isError=$isError, raw_data:$rawData)" + } + + } /** @@ -362,7 +367,9 @@ data class AcceleratorStatus(val angle: Float, var isError: Boolean = false): St return result } - + override fun toString(): String { + return "AcceleratorStatus(angle=$angle, isError=$isError, raw_data:$rawData)" + } } /** @@ -391,6 +398,10 @@ data class BrakeStatus(val angle: Float, var isError: Boolean = false): Status() result = 31 * result + isError.hashCode() return result } + + override fun toString(): String { + return "BrakeStatus(angle=$angle, isError=$isError, raw_data:$rawData)" + } } @@ -420,6 +431,12 @@ data class DoubleFlashStatus(val type: Int, var isError: Boolean = false): Statu result = 31 * result + isError.hashCode() return result } + + override fun toString(): String { + return "DoubleFlashStatus(type=$type, isError=$isError, raw_data:$rawData)" + } + + } /** @@ -448,6 +465,12 @@ data class GearStatus(val value: Int, var isError: Boolean = false): Status(), I result = 31 * result + isError.hashCode() return result } + + override fun toString(): String { + return "GearStatus(value=$value, isError=$isError, raw_data:$rawData)" + } + + } enum class RouteState { @@ -484,6 +507,10 @@ data class RouteDownloadStatus(val lineId: Long = -1, val state: RouteState = Ro result = 31 * result + state.hashCode() return result } + + override fun toString(): String { + return "RouteDownloadStatus(lineId=$lineId, state=$state, raw_data:$rawData)" + } } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/IFlow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/IFlow.kt index 7f81c1f4b2..c4cc97ccbe 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/IFlow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/IFlow.kt @@ -3,6 +3,7 @@ package com.zhjt.mogo_core_function_devatools.status.flow import android.content.* import android.util.* import androidx.annotation.* +import com.mogo.commons.utils.MogoAnalyticUtils import com.mogo.eagle.core.utilcode.kotlin.* import com.zhjt.mogo_core_function_devatools.status.entity.Status import kotlinx.coroutines.* @@ -32,6 +33,11 @@ internal abstract class IFlow< T : Status>(val ctx: Context) : CoroutineScope { } fun send(t: T) { + if (t.isException()) { + runCatching { + MogoAnalyticUtils.track("vehicle_state_exp", HashMap().also { it["data"] = t.toString() }) + } + } chl.trySend(t) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/AcceleratorImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/AcceleratorImpl.kt index 5a9d99b29d..2a0aadc1a6 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/AcceleratorImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/AcceleratorImpl.kt @@ -46,9 +46,15 @@ internal class AcceleratorImpl(ctx: Context): IFlow(ctx), IMo override fun onAutopilotAbility(isAutopilotAbility: Boolean, unableLaunchData: UnableLaunchData?, unableAutopilotReasons: ArrayList?) { Logger.d(TAG, "onAutopilotAbility->($isAutopilotAbility, $unableLaunchData, ${unableAutopilotReasons?.joinToString(",")}") - if (!isAutopilotAbility && unableAutopilotReasons != null && unableAutopilotReasons.find { it.unableType == CHASSIS_THROTTLE } != null) { - isError = true - send(AcceleratorStatus(last ?: 0.0f, true)) + if (!isAutopilotAbility) { + val target = unableAutopilotReasons?.find { it.unableType == CHASSIS_THROTTLE }?.also { + isError = true + send(AcceleratorStatus(last ?: 0.0f, true).also { it.rawData = it }) + } + if (target == null) { + isError = false + send(AcceleratorStatus(last ?: 0.0f, false)) + } } else { isError = false send(AcceleratorStatus(last ?: 0.0f, false)) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/BrakeImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/BrakeImpl.kt index 4843878981..5b64e04d79 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/BrakeImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/BrakeImpl.kt @@ -40,18 +40,23 @@ internal class BrakeImpl(ctx: Context): IFlow(ctx), IMoGoChassisBra override fun onAutopilotBrake(brake: Float) { super.onAutopilotBrake(brake) - if (last != brake) { - send(BrakeStatus(brake, isError)) + send(BrakeStatus(brake, isError).also { it.rawData = brake }) last = brake } } override fun onAutopilotAbility(isAutopilotAbility: Boolean, unableLaunchData: UnableLaunchData?, unableAutopilotReasons: ArrayList?) { Logger.d(TAG, "onAutopilotAbility->($isAutopilotAbility, $unableLaunchData, ${unableAutopilotReasons?.joinToString(",")}") - if (!isAutopilotAbility && unableAutopilotReasons != null && unableAutopilotReasons.find { it.unableType == CHASSIS_BRAKE } != null) { - isError = true - send(BrakeStatus(last, true)) + if (!isAutopilotAbility) { + val target = unableAutopilotReasons?.find { it.unableType == CHASSIS_BRAKE }?.also { + isError = true + send(BrakeStatus(last, true).also { it.rawData = it }) + } + if (target == null) { + isError = false + send(BrakeStatus(last, false)) + } } else { isError = false send(BrakeStatus(last, false)) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/DoubleFlashImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/DoubleFlashImpl.kt index ef573ff078..89d4121b21 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/DoubleFlashImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/DoubleFlashImpl.kt @@ -25,6 +25,9 @@ internal class DoubleFlashImpl(ctx: Context): IFlow(ctx), IMo @Volatile private var isError: Boolean = false + @Volatile + private var last: LightSwitch? = null + override fun onCreate() { CallerChassisLamplightListenerManager.addListener(TAG, this) CallerAutopilotActionsListenerManager.addListener(TAG, this) @@ -39,20 +42,29 @@ internal class DoubleFlashImpl(ctx: Context): IFlow(ctx), IMo override fun onAutopilotLightSwitchData(lightSwitch: LightSwitch?) { super.onAutopilotLightSwitchData(lightSwitch) Logger.d(TAG, "-- onAutopilotLightSwitchData --: $lightSwitch") - if (lightSwitch == LIGHT_FLASH) { - send(DoubleFlashStatus(lightSwitch.number, isError)) + if (last != lightSwitch) { + last = lightSwitch + if (lightSwitch == LIGHT_FLASH) { + send(DoubleFlashStatus(lightSwitch.number, isError)) + } } } override fun onAutopilotAbility(isAutopilotAbility: Boolean, unableLaunchData: UnableLaunchData?, unableAutopilotReasons: ArrayList?) { Logger.d(TAG, "onAutopilotAbility->($isAutopilotAbility, $unableLaunchData, ${unableAutopilotReasons?.joinToString(",")}") - if (!isAutopilotAbility && unableAutopilotReasons != null && unableAutopilotReasons.find { it.unableType == CHASSIS_HAZARD_LIGHTS } != null) { - isError = true - send(DoubleFlashStatus(LIGHT_FLASH.number, true)) + if (!isAutopilotAbility) { + val target = unableAutopilotReasons?.find { it.unableType == CHASSIS_HAZARD_LIGHTS }?.also { + isError = true + send(DoubleFlashStatus(last?.number ?: Int.MIN_VALUE, true).also { it.rawData = last to it }) + } + if (target == null) { + isError = false + send(DoubleFlashStatus(last?.number ?: Int.MIN_VALUE, false).also { it.rawData = last }) + } } else { isError = false - send(DoubleFlashStatus(LIGHT_FLASH.number, false)) + send(DoubleFlashStatus(last?.number ?: Int.MIN_VALUE, false).also { it.rawData = last }) } } } \ 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/status/flow/autopilot/GearImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/GearImpl.kt index 75edfd15a1..083f1d9233 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/GearImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/GearImpl.kt @@ -12,6 +12,7 @@ import com.zhjt.mogo.adas.data.bean.UnableLaunchData import com.zhjt.mogo.adas.data.bean.UnableLaunchReason import com.zhjt.mogo.adas.data.bean.UnableLaunchReason.UnableType.CHASSIS_GEAR import com.zhjt.mogo_core_function_devatools.status.entity.GearStatus +import com.zhjt.mogo_core_function_devatools.status.entity.SteerStatus import com.zhjt.mogo_core_function_devatools.status.flow.IFlow internal class GearImpl(ctx: Context): IFlow(ctx), IMoGoChassisGearStateListener, IMoGoAutopilotActionsListener { @@ -39,16 +40,22 @@ internal class GearImpl(ctx: Context): IFlow(ctx), IMoGoChassisGearS override fun onAutopilotGearData(gear: GearPosition) { if (last != gear) { - send(GearStatus(gear.number, isError)) + send(GearStatus(gear.number, isError).also { it.rawData = gear }) last = gear } } override fun onAutopilotAbility(isAutopilotAbility: Boolean, unableLaunchData: UnableLaunchData?, unableAutopilotReasons: ArrayList?) { Logger.d(TAG, "onAutopilotAbility->($isAutopilotAbility, $unableLaunchData, ${unableAutopilotReasons?.joinToString(",")}") - if (!isAutopilotAbility && unableAutopilotReasons != null && unableAutopilotReasons.find { it.unableType == CHASSIS_GEAR } != null) { - isError = true - send(GearStatus(last.number, true)) + if (!isAutopilotAbility) { + val target = unableAutopilotReasons?.find { it.unableType == CHASSIS_GEAR }?.also { + isError = true + send(GearStatus(last.number, true).also { it.rawData = last to it }) + } + if (target == null) { + isError = false + send(GearStatus(last.number, false)) + } } else { isError = false send(GearStatus(last.number, false)) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/RouteDownloadImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/RouteDownloadImpl.kt index d99aecb0c7..ee070847f2 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/RouteDownloadImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/RouteDownloadImpl.kt @@ -4,10 +4,12 @@ import android.content.Context import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters.AutoPilotLine import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.zhjt.mogo.adas.data.bean.MogoReport import com.zhjt.mogo_core_function_devatools.status.entity.RouteDownloadStatus import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteComplete import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteFailed +import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteNone import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteStart import com.zhjt.mogo_core_function_devatools.status.flow.IFlow import mogo_msg.MogoReportMsg.MogoReportMessage @@ -21,7 +23,7 @@ internal class RouteDownloadImpl(ctx: Context): IFlow(ctx), } @Volatile - private var toDownloadLineId: Long = Long.MIN_VALUE + private var toDownloadData: AutoPilotLine? = null override fun onCreate() { CallerAutoPilotStatusListenerManager.addListener(TAG, this) @@ -34,20 +36,25 @@ internal class RouteDownloadImpl(ctx: Context): IFlow(ctx), override fun onAutopilotTrajectoryDownloadReq(autoPilotLine: AutoPilotLine, downloadType: Int) { super.onAutopilotTrajectoryDownloadReq(autoPilotLine, downloadType) + Logger.d(TAG, "--- onAutopilotTrajectoryDownloadReq --: 1:$autoPilotLine, 2:$downloadType") if (downloadType == 0) { - toDownloadLineId = autoPilotLine.lineId + toDownloadData = autoPilotLine + val lineId = autoPilotLine.lineId + send(RouteDownloadStatus(lineId = lineId, state = RouteNone).also { it.rawData = toDownloadData }) } } override fun onAutopilotGuardian(guardianInfo: MogoReportMessage?) { super.onAutopilotGuardian(guardianInfo) var lineId = -1L + Logger.d(TAG, "--- onAutopilotGuardian -- 1 --: ${ guardianInfo?.code }") if (MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_START == guardianInfo?.code || MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_SUCCESS == guardianInfo?.code || MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_FAILURE == guardianInfo?.code || MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_WARNING == guardianInfo?.code || MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_TIMEOUT == guardianInfo?.code ) { + Logger.d(TAG, "--- onAutopilotGuardian -- 2 --") val msg = guardianInfo.msg try { val regex = Regex("lineid:(\\d+)") @@ -66,24 +73,24 @@ internal class RouteDownloadImpl(ctx: Context): IFlow(ctx), } catch (ignore: Exception) { } } } - - if (toDownloadLineId != lineId) { + Logger.d(TAG, "--- onAutopilotGuardian -- 3 --:lineId => ${toDownloadData?.lineId}, parse_line_id: $lineId") + if (toDownloadData?.lineId != lineId) { return } - CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters() if (guardianInfo == null || !guardianInfo.hasCode()) return + Logger.d(TAG, "--- onAutopilotGuardian -- 4 --:line_id => $lineId, code: ${guardianInfo.code}") when (guardianInfo.code) { "ISYS_INIT_TRAJECTORY_START" -> { // 1. 轨迹管理_轨迹开始下载(本地已有对应轨迹也触发) - send(RouteDownloadStatus(lineId, RouteStart)) + send(RouteDownloadStatus(lineId, RouteStart).also { it.rawData = toDownloadData to guardianInfo }) } "ISYS_INIT_TRAJECTORY_SUCCESS" -> { // 2. 轨迹管理_轨迹下载成功(本地已有对应轨迹也触发) - send(RouteDownloadStatus(lineId, RouteComplete)) - toDownloadLineId = Long.MIN_VALUE + send(RouteDownloadStatus(lineId, RouteComplete).also { it.rawData = toDownloadData to guardianInfo }) + toDownloadData = null } "ISYS_INIT_TRAJECTORY_FAILURE" -> { // 3. 轨迹管理_轨迹下载失败,本地无对应轨迹 - send(RouteDownloadStatus(lineId, RouteFailed)) - toDownloadLineId = Long.MIN_VALUE + send(RouteDownloadStatus(lineId, RouteFailed).also { it.rawData = toDownloadData to guardianInfo }) + toDownloadData = null } } } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/SteerImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/SteerImpl.kt index d82f7d1e72..bca29d79e9 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/SteerImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/autopilot/SteerImpl.kt @@ -21,6 +21,9 @@ internal class SteerImpl(ctx: Context): IFlow(ctx), IMoGoChassisSte @Volatile private var last: Float = 0f + @Volatile + private var isError: Boolean = false + override fun onCreate() { CallerChassisSteeringStateListenerManager.addListener(TAG, this) CallerAutopilotActionsListenerManager.addListener(TAG, this) @@ -34,17 +37,25 @@ internal class SteerImpl(ctx: Context): IFlow(ctx), IMoGoChassisSte override fun onAutopilotSteeringData(steering: Float) { if (last != steering) { - send(SteerStatus(steering)) + send(SteerStatus(steering, isError).also { it.rawData = steering }) last = steering } } override fun onAutopilotAbility(isAutopilotAbility: Boolean, unableLaunchData: UnableLaunchData?, unableAutopilotReasons: ArrayList?) { Logger.d(TAG, "onAutopilotAbility->($isAutopilotAbility, $unableLaunchData, ${unableAutopilotReasons?.joinToString(",")}") - if (!isAutopilotAbility && unableAutopilotReasons != null && unableAutopilotReasons.find { it.unableType == CHASSIS_STEERING } != null) { - send(SteerStatus(last, true)) + if (!isAutopilotAbility) { + val target = unableAutopilotReasons?.find { it.unableType == CHASSIS_STEERING }?.also { + isError = true + send(SteerStatus(last, true).also { it.rawData = last to it }) + } + if (target == null) { + isError = false + send(SteerStatus(last, false).also { it.rawData = last }) + } } else { - send(SteerStatus(last, false)) + isError = false + send(SteerStatus(last, false).also { it.rawData = last }) } } } \ 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/status/ui/AutoPilotLaunchBeforeView.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/AutoPilotLaunchBeforeView.kt index 7f23e434a1..a2ae7d1377 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/AutoPilotLaunchBeforeView.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/AutoPilotLaunchBeforeView.kt @@ -48,6 +48,8 @@ class AutoPilotLaunchBeforeView: LinearLayout, IStatusListener { constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) { LayoutInflater.from(context).inflate(R.layout.layout_autopilot_launch_before, this, true) background = ContextCompat.getDrawable(context, R.drawable.icon_bg_autopilot_status) + clipChildren = false + clipToPadding = false setPadding(AutoSizeUtils.dp2px(context, 29f), AutoSizeUtils.dp2px(context, 35f), AutoSizeUtils.dp2px(context, 30f), AutoSizeUtils.dp2px(context, 30f)) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_autopilot_launch_before.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_autopilot_launch_before.xml index 9cd6f3bd5c..6dc9b0d95c 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_autopilot_launch_before.xml +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_autopilot_launch_before.xml @@ -9,7 +9,9 @@ tools:paddingTop="@dimen/dp_35" tools:paddingBottom="@dimen/dp_30" tools:paddingStart="@dimen/dp_29" - tools:paddingEnd="@dimen/dp_30"> + tools:paddingEnd="@dimen/dp_30" + tools:clipToPadding="false" + tools:clipChildren="false"> + android:paddingEnd="@dimen/dp_34" + android:clipChildren="false" + android:clipToPadding="false"> + android:layout_marginTop="@dimen/dp_23" + android:paddingEnd="-30dp" + android:clipToPadding="false" + android:clipChildren="false"> + android:text="a:-"/> \ 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/widget/StatusBarView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt index 557c9007bc..e186dd5241 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt @@ -65,6 +65,9 @@ class StatusBarView @JvmOverloads constructor( CallerDevaToolsManager.registerRouteDownloadListener(TAG) { state -> routeDownloadStatusRoot?.visibility = View.VISIBLE when(state) { + 0 -> { + routeDownloadStatusRoot?.visibility = View.GONE + } 1 -> { routeDownloadStatus?.background = ContextCompat.getDrawable(context, R.drawable.bg_autopilot_route_download_start) routeDownloadFailMark?.visibility = View.GONE