[6.4.0][启自驾指引] 调用启自驾接口之前进行异常状态拦截,如果处于异常状态,进行toast和语音提示
This commit is contained in:
@@ -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 -> {
|
||||
|
||||
Reference in New Issue
Block a user