@@ -31,6 +31,7 @@ class WiFi(Activity):
3131 keep_running = True
3232 busy_scanning = False
3333 busy_connecting = False
34+ error_timer = None
3435
3536 # Widgets:
3637 aplist = None
@@ -43,7 +44,7 @@ def onCreate(self):
4344 main_screen .set_style_pad_all (15 , 0 )
4445 print ("create_ui: Creating list widget" )
4546 self .aplist = lv .list (main_screen )
46- self .aplist .set_size (lv .pct (100 ),lv .pct (80 ))
47+ self .aplist .set_size (lv .pct (100 ),lv .pct (75 ))
4748 self .aplist .align (lv .ALIGN .TOP_MID ,0 ,0 )
4849 print ("create_ui: Creating error label" )
4950 self .error_label = lv .label (main_screen )
@@ -64,24 +65,30 @@ def onResume(self, screen):
6465 global access_points
6566 access_points = mpos .config .SharedPreferences ("com.micropythonos.system.wifiservice" ).get_dict ("access_points" )
6667 self .keep_running = True
67- if mpos . wifi . WifiService . wifi_busy == False :
68- mpos .wifi .WifiService .wifi_busy = True
69- if len ( self . ssids ) == 0 :
68+ if len ( self . ssids ) == 0 :
69+ if mpos .wifi .WifiService .wifi_busy == False :
70+ mpos . wifi . WifiService . wifi_busy = True
7071 self .start_scan_networks ()
71- else :
72- self .show_error ("Wifi is busy, please try again later." )
72+ else :
73+ self .show_error ("Wifi is busy, please try again later." )
7374
7475 def onStop (self , screen ):
7576 self .keep_running = False
77+ if self .error_timer :
78+ self .error_timer .delete ()
7679
7780 def show_error (self , message ):
7881 if self .keep_running : # called from slow threads so might already have stopped
7982 # Schedule UI updates because different thread
8083 print (f"show_error: Displaying error: { message } " )
8184 lv .async_call (lambda l : self .error_label .set_text (message ), None )
8285 lv .async_call (lambda l : self .error_label .remove_flag (lv .obj .FLAG .HIDDEN ), None )
83- timer = lv .timer_create (lambda t : self .error_label .add_flag (lv .obj .FLAG .HIDDEN ),5000 ,None )
84- timer .set_repeat_count (1 )
86+ self .error_timer = lv .timer_create (self .hide_error ,5000 ,None )
87+ self .error_timer .set_repeat_count (1 )
88+
89+ def hide_error (self , timer ):
90+ if self .keep_running :
91+ self .error_label .add_flag (lv .obj .FLAG .HIDDEN )
8592
8693 def scan_networks_thread (self ):
8794 global have_network
@@ -268,12 +275,16 @@ def onCreate(self):
268275 self .keyboard = lv .keyboard (password_page )
269276 self .keyboard .align (lv .ALIGN .BOTTOM_MID ,0 ,0 )
270277 self .keyboard .set_textarea (self .password_ta )
278+ self .keyboard .set_style_min_height (160 , 0 )
271279 self .keyboard .add_event_cb (lambda * args : mpos .ui .anim .smooth_hide (self .keyboard ), lv .EVENT .READY , None )
272280 self .keyboard .add_event_cb (lambda * args : mpos .ui .anim .smooth_hide (self .keyboard ), lv .EVENT .CANCEL , None )
273281 self .keyboard .add_flag (lv .obj .FLAG .HIDDEN )
274282 print ("PasswordPage: Loading password page" )
275283 self .setContentView (password_page )
276284
285+ def onStop (self , screen ):
286+ mpos .ui .anim .smooth_hide (self .keyboard )
287+
277288 def connect_cb (self , event ):
278289 global access_points
279290 print ("connect_cb: Connect button clicked" )
0 commit comments