Skip to content

Commit 517f56a

Browse files
WiFi app: add "forget" button to delete networks
1 parent be99f6e commit 517f56a

File tree

1 file changed

+36
-20
lines changed
  • internal_filesystem/builtin/apps/com.micropythonos.wifi/assets

1 file changed

+36
-20
lines changed

internal_filesystem/builtin/apps/com.micropythonos.wifi/assets/wifi.py

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ def add_network_callback(self, event):
152152
print(f"add_network_callback clicked")
153153
intent = Intent(activity_class=EditNetwork)
154154
intent.putExtra("selected_ssid", None)
155-
self.startActivityForResult(intent, self.password_page_result_cb)
155+
self.startActivityForResult(intent, self.edit_network_result_callback)
156156

157157
def scan_cb(self, event):
158158
print("scan_cb: Scan button clicked, refreshing list")
@@ -163,23 +163,29 @@ def select_ssid_cb(self,ssid):
163163
intent = Intent(activity_class=EditNetwork)
164164
intent.putExtra("selected_ssid", ssid)
165165
intent.putExtra("known_password", self.findSavedPassword(ssid))
166-
self.startActivityForResult(intent, self.password_page_result_cb)
166+
self.startActivityForResult(intent, self.edit_network_result_callback)
167167

168-
def password_page_result_cb(self, result):
168+
def edit_network_result_callback(self, result):
169169
print(f"EditNetwork finished, result: {result}")
170170
if result.get("result_code") is True:
171171
data = result.get("data")
172172
if data:
173173
ssid = data.get("ssid")
174-
password = data.get("password")
175-
hidden = data.get("hidden")
176-
self.setPassword(ssid, password, hidden)
177174
global access_points
178-
print(f"connect_cb: Updated access_points: {access_points}")
179175
editor = mpos.config.SharedPreferences("com.micropythonos.system.wifiservice").edit()
180-
editor.put_dict("access_points", access_points)
181-
editor.commit()
182-
self.start_attempt_connecting(data.get("ssid"), data.get("password"))
176+
forget = data.get("forget")
177+
if forget:
178+
del access_points[ssid]
179+
editor.put_dict("access_points", access_points)
180+
editor.commit()
181+
self.refresh_list()
182+
else: # save or update
183+
password = data.get("password")
184+
hidden = data.get("hidden")
185+
self.setPassword(ssid, password, hidden)
186+
editor.put_dict("access_points", access_points)
187+
editor.commit()
188+
self.start_attempt_connecting(ssid, password)
183189

184190
def start_attempt_connecting(self, ssid, password):
185191
print(f"start_attempt_connecting: Attempting to connect to SSID '{ssid}' with password '{password}'")
@@ -310,22 +316,28 @@ def onCreate(self):
310316
buttons.set_height(lv.SIZE_CONTENT)
311317
buttons.set_style_bg_opa(lv.OPA.TRANSP, 0)
312318
buttons.set_style_border_width(0, lv.PART.MAIN)
313-
# Connect button
314-
self.connect_button = lv.button(buttons)
315-
self.connect_button.set_size(100,40)
316-
self.connect_button.align(lv.ALIGN.LEFT_MID, 0, 0)
317-
self.connect_button.add_event_cb(self.connect_cb,lv.EVENT.CLICKED,None)
318-
label=lv.label(self.connect_button)
319-
label.set_text("Connect")
320-
label.center()
319+
# Delete button
320+
if self.selected_ssid:
321+
self.forget_button=lv.button(buttons)
322+
self.forget_button.align(lv.ALIGN.LEFT_MID, 0, 0)
323+
self.forget_button.add_event_cb(self.forget_cb, lv.EVENT.CLICKED, None)
324+
label=lv.label(self.forget_button)
325+
label.set_text("Forget")
326+
label.center()
321327
# Close button
322328
self.cancel_button=lv.button(buttons)
323-
self.cancel_button.set_size(100,40)
324-
self.cancel_button.align(lv.ALIGN.RIGHT_MID, 0, 0)
329+
self.cancel_button.center()
325330
self.cancel_button.add_event_cb(lambda *args: self.finish(), lv.EVENT.CLICKED, None)
326331
label=lv.label(self.cancel_button)
327332
label.set_text("Close")
328333
label.center()
334+
# Connect button
335+
self.connect_button = lv.button(buttons)
336+
self.connect_button.align(lv.ALIGN.RIGHT_MID, 0, 0)
337+
self.connect_button.add_event_cb(self.connect_cb,lv.EVENT.CLICKED,None)
338+
label=lv.label(self.connect_button)
339+
label.set_text("Connect")
340+
label.center()
329341

330342
self.setContentView(password_page)
331343

@@ -348,3 +360,7 @@ def connect_cb(self, event):
348360
hidden_checked = True if self.hidden_cb.get_state() & lv.STATE.CHECKED else False
349361
self.setResult(True, {"ssid": self.selected_ssid, "password": pwd, "hidden": hidden_checked})
350362
self.finish()
363+
364+
def forget_cb(self, event):
365+
self.setResult(True, {"ssid": self.selected_ssid, "forget": True})
366+
self.finish()

0 commit comments

Comments
 (0)