ui: [fix] only show driver state icon when no alert is display (#35508)

only show driver state icon when no alert is display
revert-fan
Dean Lee 4 months ago committed by GitHub
parent fc27423ac2
commit ffb677b53d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 5
      selfdrive/ui/onroad/alert_renderer.py
  2. 4
      selfdrive/ui/onroad/augmented_road_view.py
  3. 3
      selfdrive/ui/onroad/driver_state.py

@ -94,10 +94,10 @@ class AlertRenderer(Widget):
# Return current alert
return Alert(text1=ss.alertText1, text2=ss.alertText2, size=ss.alertSize, status=ss.alertStatus)
def _render(self, rect: rl.Rectangle) -> None:
def _render(self, rect: rl.Rectangle) -> bool:
alert = self.get_alert(ui_state.sm)
if not alert:
return
return False
alert_rect = self._get_alert_rect(rect, alert.size)
self._draw_background(alert_rect, alert)
@ -109,6 +109,7 @@ class AlertRenderer(Widget):
alert_rect.height - 2 * ALERT_PADDING
)
self._draw_text(text_rect, alert)
return True
def _get_alert_rect(self, rect: rl.Rectangle, size: int) -> rl.Rectangle:
if size == log.SelfdriveState.AlertSize.full:

@ -91,8 +91,8 @@ class AugmentedRoadView(CameraView):
# Draw all UI overlays
self.model_renderer.render(self._content_rect)
self._hud_renderer.render(self._content_rect)
self.alert_renderer.render(self._content_rect)
self.driver_state_renderer.render(self._content_rect)
if not self.alert_renderer.render(self._content_rect):
self.driver_state_renderer.render(self._content_rect)
# Custom UI extension point - add custom overlays here
# Use self._content_rect for positioning within camera bounds

@ -110,8 +110,7 @@ class DriverStateRenderer(Widget):
def _is_visible(self, sm):
"""Check if the visualization should be rendered."""
return (sm.recv_frame['driverStateV2'] > ui_state.started_frame and
sm.seen['driverMonitoringState'] and
sm['selfdriveState'].alertSize == 0)
sm.seen['driverMonitoringState'])
def _update_state(self, sm, rect):
"""Update the driver monitoring state based on model data"""

Loading…
Cancel
Save