From 1b426a31608a1d7aeec35a4ac76055a4b952f470 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Fri, 13 Feb 2026 16:15:59 -0800 Subject: [PATCH] wifi button shows connecting (#37202) * connecting wifi button * use real wifi strength * simplify * meh cursor brought up edge case --- .../mici/layouts/settings/network/__init__.py | 28 +++++++++++-------- system/ui/lib/wifi_manager.py | 4 +++ 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/selfdrive/ui/mici/layouts/settings/network/__init__.py b/selfdrive/ui/mici/layouts/settings/network/__init__.py index 7de9b5227..3a0da36bb 100644 --- a/selfdrive/ui/mici/layouts/settings/network/__init__.py +++ b/selfdrive/ui/mici/layouts/settings/network/__init__.py @@ -160,18 +160,24 @@ class NetworkLayoutMici(NavWidget): # Update wi-fi button with ssid and ip address # TODO: make sure we handle hidden ssids + connecting_ssid = self._wifi_manager.connecting_to_ssid connected_network = next((network for network in networks if network.is_connected), None) - self._wifi_button.set_text(normalize_ssid(connected_network.ssid) if connected_network is not None else "wi-fi") - self._wifi_button.set_value(self._wifi_manager.ipv4_address or "not connected") - if connected_network is not None: - strength = WifiIcon.get_strength_icon_idx(connected_network.strength) - if strength == 2: - strength_icon = self._wifi_full_txt - elif strength == 1: - strength_icon = self._wifi_medium_txt - else: - strength_icon = self._wifi_low_txt - self._wifi_button.set_icon(strength_icon) + if connecting_ssid: + display_network = next((n for n in networks if n.ssid == connecting_ssid), None) + self._wifi_button.set_text(normalize_ssid(connecting_ssid)) + self._wifi_button.set_value("connecting...") + elif connected_network is not None: + display_network = connected_network + self._wifi_button.set_text(normalize_ssid(connected_network.ssid)) + self._wifi_button.set_value(self._wifi_manager.ipv4_address or "not connected") + else: + display_network = None + self._wifi_button.set_text("wi-fi") + self._wifi_button.set_value("not connected") + + if display_network is not None: + strength = WifiIcon.get_strength_icon_idx(display_network.strength) + self._wifi_button.set_icon(self._wifi_full_txt if strength == 2 else self._wifi_medium_txt if strength == 1 else self._wifi_low_txt) else: self._wifi_button.set_icon(self._wifi_slash_txt) diff --git a/system/ui/lib/wifi_manager.py b/system/ui/lib/wifi_manager.py index 72373ecbe..2dfbe63cc 100644 --- a/system/ui/lib/wifi_manager.py +++ b/system/ui/lib/wifi_manager.py @@ -233,6 +233,10 @@ class WifiManager: def current_network_metered(self) -> MeteredType: return self._current_network_metered + @property + def connecting_to_ssid(self) -> str: + return self._connecting_to_ssid + @property def tethering_password(self) -> str: return self._tethering_password