1
0
forked from IQ.Lvbs/IQ.Pilot
Files
IQ.Pilot/selfdrive/ui/mici/layouts/settings/dashcam.py
2026-08-22 23:42:42 -05:00

38 lines
1.5 KiB
Python

"""
Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed under https://konn3kt.com/tos/
"""
from openpilot.system.ui.widgets.scroller import NavScroller
from openpilot.selfdrive.ui.mici.widgets.stock_button import BigParamControl
from openpilot.selfdrive.ui.layouts.settings.common import restart_needed_callback
from openpilot.selfdrive.ui.ui_state import ui_state
class DashcamLayoutMici(NavScroller):
def __init__(self):
super().__init__()
self._dashcam = BigParamControl("enable dashcam", "DashcamEnabled", toggle_callback=restart_needed_callback)
self._record_front = BigParamControl("record driver camera", "RecordFront", toggle_callback=restart_needed_callback)
self._record_audio = BigParamControl("record microphone audio", "RecordAudio", toggle_callback=restart_needed_callback)
self._scroller.add_widgets([self._dashcam, self._record_front, self._record_audio])
self._refresh_toggles = (
("DashcamEnabled", self._dashcam),
("RecordFront", self._record_front),
("RecordAudio", self._record_audio),
)
self._record_front.set_enabled(False if ui_state.params.get_bool("RecordFrontLock") else (lambda: not ui_state.engaged))
self._record_audio.set_enabled(lambda: not ui_state.engaged)
ui_state.add_engaged_transition_callback(self._update_toggles)
def show_event(self):
super().show_event()
self._update_toggles()
def _update_toggles(self):
ui_state.update_params()
for key, item in self._refresh_toggles:
item.set_checked(ui_state.params.get_bool(key))