diff --git a/internal_filesystem/builtin/apps/com.micropythonos.wifi/assets/wifi.py b/internal_filesystem/builtin/apps/com.micropythonos.wifi/assets/wifi.py index 71238656..a59a156a 100644 --- a/internal_filesystem/builtin/apps/com.micropythonos.wifi/assets/wifi.py +++ b/internal_filesystem/builtin/apps/com.micropythonos.wifi/assets/wifi.py @@ -155,6 +155,7 @@ class WiFi(Activity): intent = Intent(activity_class=EditNetwork) intent.putExtra("selected_ssid", ssid) intent.putExtra("known_password", WifiService.get_network_password(ssid)) + intent.putExtra("hidden", WifiService.get_network_hidden(ssid)) self.startActivityForResult(intent, self.edit_network_result_callback) def edit_network_result_callback(self, result): @@ -228,6 +229,7 @@ class EditNetwork(Activity): password_page.set_flex_flow(lv.FLEX_FLOW.COLUMN) self.selected_ssid = self.getIntent().extras.get("selected_ssid") known_password = self.getIntent().extras.get("known_password") + known_hidden = self.getIntent().extras.get("hidden", False) # SSID: if self.selected_ssid is None: @@ -264,6 +266,8 @@ class EditNetwork(Activity): self.hidden_cb = lv.checkbox(password_page) self.hidden_cb.set_text("Hidden network (always try connecting)") self.hidden_cb.set_style_margin_left(5, lv.PART.MAIN) + if known_hidden: + self.hidden_cb.set_state(lv.STATE.CHECKED, True) # Action buttons: buttons = lv.obj(password_page) diff --git a/internal_filesystem/lib/mpos/battery_voltage.py b/internal_filesystem/lib/mpos/battery_voltage.py index 99991e29..c1615b8c 100644 --- a/internal_filesystem/lib/mpos/battery_voltage.py +++ b/internal_filesystem/lib/mpos/battery_voltage.py @@ -14,8 +14,7 @@ CACHE_DURATION_ADC1_MS = 30000 # 30 seconds (cheaper: no WiFi interference) CACHE_DURATION_ADC2_MS = 600000 # 600 seconds (expensive: requires WiFi disable) #CACHE_DURATION_ADC2_MS = CACHE_DURATION_ADC1_MS # trigger frequent disconnections for debugging OSUpdate resume # Or at runtime, do: -# import mpos.battery_voltage -# mpos.battery_voltage.CACHE_DURATION_ADC2_MS = 30000 +# import mpos.battery_voltage ; mpos.battery_voltage.CACHE_DURATION_ADC2_MS = 30000 def _is_adc2_pin(pin): diff --git a/internal_filesystem/lib/mpos/net/wifi_service.py b/internal_filesystem/lib/mpos/net/wifi_service.py index e3f43184..ef8ec2a0 100644 --- a/internal_filesystem/lib/mpos/net/wifi_service.py +++ b/internal_filesystem/lib/mpos/net/wifi_service.py @@ -461,6 +461,27 @@ class WifiService: return ap.get("password") return None + @staticmethod + def get_network_hidden(ssid): + """ + Get the hidden flag for a network. + + Args: + ssid: Network SSID + + Returns: + bool: True if network is hidden, False otherwise + """ + if not WifiService.access_points: + WifiService.access_points = mpos.config.SharedPreferences( + "com.micropythonos.system.wifiservice" + ).get_dict("access_points") + + ap = WifiService.access_points.get(ssid) + if ap: + return ap.get("hidden", False) + return False + @staticmethod def save_network(ssid, password, hidden=False): """