[6.4.0][启自驾指引] 调用启自驾接口之前进行异常状态拦截,如果处于异常状态,进行toast和语音提示

This commit is contained in:
renwj
2024-04-18 17:11:56 +08:00
parent 033df02a24
commit 9087eb53ba
3 changed files with 54 additions and 5 deletions

View File

@@ -11,6 +11,8 @@ import chassis.Chassis.GearPosition.GEAR_N
import chassis.Chassis.GearPosition.GEAR_NONE
import chassis.Chassis.GearPosition.GEAR_P
import chassis.Chassis.GearPosition.GEAR_R
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_core_function_devatools.R
import com.zhjt.mogo_core_function_devatools.status.StatusManager
@@ -61,6 +63,7 @@ class AutoPilotLaunchBeforeView: LinearLayout, IStatusListener {
override fun onStatusChanged(data: List<Status>, hasException: Boolean) {
data.filter { it is IAutopilotPreLaunchStatus }.forEach { status ->
val isError = status.isException() && CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING
when(status) {
is GearStatus -> {
val position = try { GearPosition.valueOf(status.value) } catch (ignore: Throwable) { GEAR_NONE }
@@ -73,7 +76,6 @@ class AutoPilotLaunchBeforeView: LinearLayout, IStatusListener {
gear_d?.isEnabled = false
gear_d?.isSelected = false
if (position != GEAR_NONE) {
val isError = status.isError
when(position) {
GEAR_N -> if (isError) gear_n?.isEnabled = true else gear_n?.isSelected = true
GEAR_R -> if (isError) gear_r?.isEnabled = true else gear_r?.isSelected = true
@@ -84,23 +86,19 @@ class AutoPilotLaunchBeforeView: LinearLayout, IStatusListener {
}
}
is AcceleratorStatus -> {
val isError = status.isError
val angle = status.angle
iv_brake_or_accelerator?.isSelected = isError
tv_brake_or_accelerator?.text = "a:${angle.toInt()}"
}
is BrakeStatus -> {
val isError = status.isError
val angle = status.angle
iv_brake_or_accelerator?.isSelected = isError
tv_brake_or_accelerator?.text = "a:-${angle.toInt()}"
}
is DoubleFlashStatus -> {
val isError = status.isError
iv_double_flash?.isSelected = isError
}
is SteerStatus -> {
val isError = status.isError
iv_steer?.isSelected = isError
}
is SpeedStatus -> {