From 339ef5d52d1d55bc54bd7c488acd176aaf53a8d1 Mon Sep 17 00:00:00 2001 From: MVL Date: Thu, 26 Mar 2026 08:00:41 -0400 Subject: [PATCH 1/2] Branch switcher --- selfdrive/ui/mici/layouts/settings/device.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/selfdrive/ui/mici/layouts/settings/device.py b/selfdrive/ui/mici/layouts/settings/device.py index 3c165b5bb35b6b..31ddc11c996067 100644 --- a/selfdrive/ui/mici/layouts/settings/device.py +++ b/selfdrive/ui/mici/layouts/settings/device.py @@ -9,7 +9,7 @@ from openpilot.common.time_helpers import system_time_valid from openpilot.system.ui.widgets.scroller import NavRawScrollPanel, NavScroller from openpilot.selfdrive.ui.mici.widgets.button import BigButton, BigCircleButton -from openpilot.selfdrive.ui.mici.widgets.dialog import BigDialog, BigConfirmationDialog +from openpilot.selfdrive.ui.mici.widgets.dialog import BigDialog, BigConfirmationDialog, BigInputDialog from openpilot.selfdrive.ui.mici.widgets.pairing_dialog import PairingDialog from openpilot.selfdrive.ui.mici.onroad.driver_camera_dialog import DriverCameraDialog from openpilot.selfdrive.ui.mici.layouts.onboarding import TrainingGuide, TermsPage @@ -337,9 +337,25 @@ def uninstall_openpilot_callback(): terms_btn = BigButton("terms &\nconditions", "", gui_app.texture("icons_mici/settings/device/info.png", 64, 64)) terms_btn.set_click_callback(lambda: gui_app.push_widget(ReviewTermsPage())) + def switch_branch_handle_selection(new_branch: str): + if new_branch: + ui_state.params.put("UpdaterTargetBranch", new_branch) + os.system("pkill -SIGUSR1 -f system.updated.updated") + + def switch_branch_clicked(): + current_branch = ui_state.params.get("GitBranch") or "" + dlg = BigInputDialog("enter mvl_boston/", current_branch, minimum_length=1, + confirm_callback=switch_branch_handle_selection) + gui_app.push_widget(dlg) + return + + switch_branch_btn = BigButton("switch branch", "", gui_app.texture("icons_mici/settings/device/update.png", 64, 64)) + switch_branch_btn.set_click_callback(switch_branch_clicked) + self._scroller.add_widgets([ DeviceInfoLayoutMici(), UpdateOpenpilotBigButton(), + switch_branch_btn, PairBigButton(), review_training_guide_btn, driver_cam_btn, From 88f2e296356cd527774ff00433090982c20e76ab Mon Sep 17 00:00:00 2001 From: MVL Date: Fri, 27 Mar 2026 20:55:19 -0400 Subject: [PATCH 2/2] generic branch name prompt --- selfdrive/ui/mici/layouts/settings/device.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/selfdrive/ui/mici/layouts/settings/device.py b/selfdrive/ui/mici/layouts/settings/device.py index 31ddc11c996067..abc7c0b507c374 100644 --- a/selfdrive/ui/mici/layouts/settings/device.py +++ b/selfdrive/ui/mici/layouts/settings/device.py @@ -344,7 +344,7 @@ def switch_branch_handle_selection(new_branch: str): def switch_branch_clicked(): current_branch = ui_state.params.get("GitBranch") or "" - dlg = BigInputDialog("enter mvl_boston/", current_branch, minimum_length=1, + dlg = BigInputDialog("enter branch name:", current_branch, minimum_length=1, confirm_callback=switch_branch_handle_selection) gui_app.push_widget(dlg) return