| 
					
				 | 
			
			
				@@ -33,29 +33,38 @@ static void timer_cb(lv_timer_t *t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (s_wf_in_out_power->bg == NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (in_out_value_show_flag != aem_in_out_value_show()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lv_obj_t *par = lv_obj_get_parent(s_wf_in_out_power->bg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (par == NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bool b_temp_flag = aem_in_out_value_show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (in_out_value_show_flag != b_temp_flag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         lv_timer_pause(s_wf_in_out_power->timer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //os_printk("[timer_cb] in_out_value_show_flag:%d\n", in_out_value_show_flag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        in_out_value_show_flag = b_temp_flag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (s_wf_in_out_power->bg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        uint8_t *ext_data = lv_obj_get_user_data(s_wf_in_out_power->bg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ext_data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            aem_in_out_power_screen_del(s_wf_in_out_power->bg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            aem_input_power_screen_del(s_wf_in_out_power->bg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //lv_obj_del(s_wf_in_out_power->bg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //s_wf_in_out_power->bg = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            lv_mem_free(ext_data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ext_data = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            lv_obj_set_user_data(s_wf_in_out_power->bg, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        in_out_value_show_flag = aem_in_out_value_show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //os_printk("widget in out power [timer_cb] in_out_value_show_flag:%d\n", in_out_value_show_flag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        lv_obj_del(s_wf_in_out_power->bg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        s_wf_in_out_power->bg = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (in_out_value_show_flag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            s_wf_in_out_power->bg = aem_in_out_power_screen_create(s_wf_in_out_power->bg, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            s_wf_in_out_power->bg = aem_in_out_power_screen_create(par, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            s_wf_in_out_power->bg = aem_input_power_screen_create(s_wf_in_out_power->bg, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            s_wf_in_out_power->bg = aem_input_power_screen_create(par, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         lv_timer_resume(s_wf_in_out_power->timer); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -73,15 +82,6 @@ static void timer_cb(lv_timer_t *t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-static int32_t keypad_evt_handler(aem_key_evt_info_t *evt_info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-static const aem_sys_evt_ops_t ops = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    .key_evt_func = keypad_evt_handler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static lv_obj_t *on_start(lv_obj_t *par) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (s_wf_in_out_power == NULL) 
			 |