ui: override default interactive timeout (#36898)

* impl

* fix one place

* don't need in setup

* fix onboarding

* need here too
This commit is contained in:
Shane Smiskol
2025-12-16 19:31:49 -08:00
committed by GitHub
parent c69c076acb
commit a112e6e882
4 changed files with 36 additions and 16 deletions
+16 -2
View File
@@ -96,7 +96,6 @@ class TrainingGuideDMTutorial(Widget):
# Wrap the continue callback to restore settings
def wrapped_continue_callback():
device.set_offroad_brightness(None)
device.reset_interactive_timeout()
continue_callback()
self._dialog = DriverCameraSetupDialog(wrapped_continue_callback)
@@ -112,7 +111,6 @@ class TrainingGuideDMTutorial(Widget):
self._dialog.show_event()
device.set_offroad_brightness(100)
device.reset_interactive_timeout(300) # 5 minutes
def _update_state(self):
super()._update_state()
@@ -223,6 +221,14 @@ class TrainingGuide(Widget):
TrainingGuideRecordFront(continue_callback=on_continue),
]
def show_event(self):
super().show_event()
device.set_override_interactive_timeout(300)
def hide_event(self):
super().hide_event()
device.set_override_interactive_timeout(None)
def _advance_step(self):
if self._step < len(self._steps) - 1:
self._step += 1
@@ -319,6 +325,14 @@ class OnboardingWindow(Widget):
self._training_guide = TrainingGuide(completed_callback=self._on_completed_training)
self._decline_page = DeclinePage(back_callback=self._on_decline_back)
def show_event(self):
super().show_event()
device.set_override_interactive_timeout(300)
def hide_event(self):
super().hide_event()
device.set_override_interactive_timeout(None)
@property
def completed(self) -> bool:
return self._accepted_terms and self._training_done
@@ -51,14 +51,14 @@ class DriverCameraDialog(NavWidget):
super().show_event()
ui_state.params.put_bool("IsDriverViewEnabled", True)
self._publish_alert_sound(None)
device.reset_interactive_timeout(300)
device.set_override_interactive_timeout(300)
ui_state.params.remove("DriverTooDistracted")
self._pm = messaging.PubMaster(['selfdriveState'])
def hide_event(self):
super().hide_event()
ui_state.params.put_bool("IsDriverViewEnabled", False)
device.reset_interactive_timeout()
device.set_override_interactive_timeout(None)
def _handle_mouse_release(self, _):
ui_state.params.remove("DriverTooDistracted")