From 2182be05eaa7b14a27d779395fd3fcc742156447 Mon Sep 17 00:00:00 2001 From: Amy Jeanes Date: Sun, 3 May 2026 21:52:35 +0200 Subject: [PATCH] ui: fix cellular toggles (#1810) UI: Fix ToggleSP._render() missing return value breaking toggle callbacks Co-authored-by: Jason Wen --- system/ui/sunnypilot/widgets/list_view.py | 2 +- system/ui/sunnypilot/widgets/toggle.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/system/ui/sunnypilot/widgets/list_view.py b/system/ui/sunnypilot/widgets/list_view.py index 1dd69c24c..89342572d 100644 --- a/system/ui/sunnypilot/widgets/list_view.py +++ b/system/ui/sunnypilot/widgets/list_view.py @@ -363,7 +363,7 @@ def simple_button_item_sp(button_text: str | Callable[[], str], callback: Callab def toggle_item_sp(title: str | Callable[[], str], description: str | Callable[[], str] | None = None, initial_state: bool = False, callback: Callable | None = None, icon: str = "", enabled: bool | Callable[[], bool] = True, param: str | None = None) -> ListItemSP: action = ToggleActionSP(initial_state=initial_state, enabled=enabled, callback=callback, param=param) - return ListItemSP(title=title, description=description, action_item=action, icon=icon, callback=callback) + return ListItemSP(title=title, description=description, action_item=action, icon=icon) def multiple_button_item_sp(title: str | Callable[[], str], description: str | Callable[[], str], buttons: list[str | Callable[[], str]], diff --git a/system/ui/sunnypilot/widgets/toggle.py b/system/ui/sunnypilot/widgets/toggle.py index 2924aec2b..fbb2ba40a 100644 --- a/system/ui/sunnypilot/widgets/toggle.py +++ b/system/ui/sunnypilot/widgets/toggle.py @@ -57,3 +57,7 @@ class ToggleSP(Toggle): knob_y = self._rect.y + style.TOGGLE_BG_HEIGHT / 2 rl.draw_circle(int(knob_x), int(knob_y), KNOB_RADIUS, knob_color) + + clicked = self._clicked + self._clicked = False + return clicked