调整UI:
authordxy15521469561 <1731678236@qq.com>
Fri, 7 Jun 2024 09:58:00 +0000 (17:58 +0800)
committerdxy15521469561 <1731678236@qq.com>
Fri, 7 Jun 2024 09:58:00 +0000 (17:58 +0800)
12 files changed:
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/motor.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ai.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/alarm.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appAlipay.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appFactoryMode.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appWechat.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/mgr.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/motor.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_health.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_setting.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_video.py

index cd31639..efada6f 100644 (file)
@@ -99,6 +99,8 @@ class motorEventManager(Abstract):#马达事件
 
     def close_motor_infor(self,event,msg):
         print("close_motor_infor!!!")
+        if self.motor_enable == 0:#未使能马达定时器
+            return
         close_motor()
         self.motor_enable = 0#马达使能
         self.motor_total_time = 0#总的时间
index ceac157..d9c9b19 100644 (file)
@@ -62,18 +62,6 @@ style_common_bg_rect_btn_pressed.set_bg_opa(100)
 style_common_bg_rect_btn_pressed.set_border_width(0)
 style_common_bg_rect_btn_pressed.set_shadow_opa(0)
 
-# style_font_20_ai_green = lv.style_t()
-# style_font_20_ai_green.init()
-# style_font_20_ai_green.set_text_color(lv.color_make(0x00, 0xf0, 0x00))
-# style_font_20_ai_green.set_bg_color(lv.color_make(0x00, 0xff, 0x2a))
-# style_font_20_ai_green.set_text_font_v2("font_28.bin",28,0)
-
-# style_font_20_ai_white = lv.style_t()
-# style_font_20_ai_white.init()
-# style_font_20_ai_white.set_text_color(lv.color_make(0x00, 0xf0, 0x00))
-# style_font_20_ai_white.set_bg_color(lv.color_make(0xff, 0xff, 0xff))
-# style_font_20_ai_white.set_text_font_v2("font_28.bin",28,0)
-
 style_font_20_ai_white = lv.style_t()
 style_font_20_ai_white.init()
 style_font_20_ai_white.set_radius(0)
@@ -192,7 +180,8 @@ class AIScreen(Screen):#AI_GUI
         AI_press_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.talking_cb(e)),
                                       lv.EVENT.RELEASED, None)
     def initialization(self):
-
+        AI_label.set_text(" ")
+        AI_press_label_countdown.set_text(" ")
         self.aud.setVolume(11)#设置最大声录音
         self.AI_audio_queue = Queue(100)
         self.AI_audio_queue_thread_id = _thread.start_new_thread(self.AI_audio_queue_thread, ())
@@ -214,19 +203,6 @@ class AIScreen(Screen):#AI_GUI
             print('audio-play start.')
         elif event == 7:
             self.audio_play_state = 0
-            # if self.AI_audio_queue.size() > 0:
-            #     data = self.AI_audio_queue.get()
-            #     print("audio_queue:data:{}".format(len(data)))
-            #     if len(data) > 1:
-            #         try:
-            #             # while self.audio_play_state :
-            #             #     utime.sleep_ms(1)
-            #             EventMesh.publish("system_sleep_rest")#防止黑屏
-            #             tmp=self.aud.playStream(3, data)#播放音频流文件
-            #             self.audio_play_state =1
-            #             print("playStream:{}".format(tmp))
-            #         except Exception as e:
-            #             usys.print_exception(e)    
             print('audio-play finish.')
             
     #按下录音
@@ -571,13 +547,6 @@ class AIScreen(Screen):#AI_GUI
             
             if data != None:
                 try:
-                    #data["func"](data["data"])
-                    # self.record.stop()
-                    # self.aud.playStream(4, data)
-                    # self.record.stream_start(audio.Record.AMRNB, 8000, 60)
-                    # 发送数据
-                    #bytes_data = bytes(data[1])
-                    #data[0].send(data[1])
                     if data[0] == self.AI_client_chat_num:
                         if self.AI_client_chat_isconnect == 0:
                             self.websocket_connect_chat()
@@ -698,6 +667,7 @@ class AIScreen(Screen):#AI_GUI
         pass
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         pass
 
@@ -806,6 +776,7 @@ class AINoSimScreen(Screen):#
         EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("return_prev_screen")
 al_talk_screen = None
 al_talk_screen_title1 = None
@@ -887,6 +858,7 @@ class AITalkScreen(Screen):#
         EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("return_prev_screen")
 
 
@@ -983,6 +955,7 @@ class AIListenScreen(Screen):#
         # EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+
         pass
         # EventMesh.publish("return_prev_screen")
 
index cc93540..844b289 100644 (file)
@@ -875,6 +875,7 @@ class PopupAlarmScreen(Screen):
 
     def btn8_press(self):
         self.close_timer()
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("return_prev_screen")
 
 ALARM_LIST_SIZE = 70
@@ -891,11 +892,15 @@ class ClkListScreen(Screen):
         #                              lv.EVENT.PRESSED, None)
         self.weekdays_list = ["日","一","二","三","四","五","六"]
         EventMesh.subscribe("push_update_alarm_show", self.update_show_info)
+        clk_list_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_alarm(e)),
+                                        lv.EVENT.GESTURE, None)
         self.alarm_show_list = lv.obj(clk_list_screen)
         self.alarm_show_list.set_pos(0, 60)
         self.alarm_show_list.set_size(240, LCD_SIZE_H-60)
         self.alarm_show_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
         self.alarm_show_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+        self.alarm_show_list.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_alarm(e)),
+                                        lv.EVENT.GESTURE, None)
         self.timer=osTimer()
         for i in range(self.MXA_clk_num):
         
@@ -1012,6 +1017,15 @@ class ClkListScreen(Screen):
             self.alarm_show_list.add_flag(lv.obj.FLAG.HIDDEN)
             
     def edit_alarm(self, e):#暂时屏蔽
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("return_prev_screen")
+        elif  code == lv.EVENT.SHORT_CLICKED:
+            pass 
         return
         idx = int(e.get_target().get_child(0).get_text())
         print("edit!!!!!!!!!!!!:",idx)
@@ -1052,9 +1066,6 @@ class ClkListScreen(Screen):
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "toolbox"})
 
-    def done_left_to_right(self):
-        EventMesh.publish("return_prev_screen")
-
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
@@ -1098,6 +1109,7 @@ class NewEditClk(Screen):
         EventMesh.publish("load_screen", {"screen": "clk_list"})
 
     def btn8_press(self):
+
         EventMesh.publish("load_screen", {"screen": "clk_list"})
 
 class CLKTimeScreen(Screen):
index f79360d..11e5d02 100644 (file)
@@ -513,15 +513,16 @@ class Alipay_1_1(Screen):
         super().__init__()
         self.timer = osTimer()
         self.meta = alipay_1_1_screen
+        alipay_1_1_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e,1)), lv.EVENT.GESTURE, None)
         #付款码
-        alipay_imgbtn_3.add_event_cb(lambda e: EventMesh.callback_wrapper(self.alipay_paycode(e)),
-                                     lv.EVENT.PRESSED, None)
+        alipay_imgbtn_3.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e,2)),
+                                     lv.EVENT.SHORT_CLICKED, None)
         #收钱
-        alipay_imgbtn_2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.alipay_collect(e)),
-                                     lv.EVENT.PRESSED, None) 
+        alipay_imgbtn_2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e,3)),
+                                     lv.EVENT.SHORT_CLICKED, None) 
         #家长设置
-        alipay_imgbtn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.alipay_parent(e)),
-                                     lv.EVENT.PRESSED, None)
+        alipay_imgbtn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e,4)),
+                                     lv.EVENT.SHORT_CLICKED, None)
        
     def initialization(self):
         EventMesh.publish("set_Alipay_Ui_isOpen",1)
@@ -529,9 +530,33 @@ class Alipay_1_1(Screen):
     def Close(self):
         EventMesh.publish("set_Alipay_Ui_isOpen",0)
         pass
-        
+    
+    def calling_cb(self,e,msg):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "main_menu"})
+        elif  code == lv.EVENT.SHORT_CLICKED:   
+            if msg == 2:
+                self.timer.start(1*1000,1,self.fun)   
+            elif msg == 3:
+                EventMesh.publish("get_collect_code")
+            elif msg == 4:
+                EventMesh.publish("get_parent_code")
+
     def alipay_paycode(self,e):
-        self.timer.start(1*1000,1,self.fun)
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "main_menu"})
+        elif  code == lv.EVENT.SHORT_CLICKED:   
+            self.timer.start(1*1000,1,self.fun)
         # Alipay.alipay.msg_send(3,"","") #发送获取付款码消息
         
     def fun(self,*agrc):
@@ -547,13 +572,30 @@ class Alipay_1_1(Screen):
         # EventMesh.publish("get_payment_code")
 
     def alipay_collect(self,e):
-        EventMesh.publish("get_collect_code")
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "main_menu"})
+        elif  code == lv.EVENT.SHORT_CLICKED:   
+           
+            EventMesh.publish("get_collect_code")
         # EventMesh.publish("load_screen", {"screen": "alipay_collect"})
     def Close(self):
         self.timer.stop()
 
     def alipay_parent(self,e):
-        EventMesh.publish("get_parent_code")
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "main_menu"})
+        elif  code == lv.EVENT.SHORT_CLICKED:   
+            EventMesh.publish("get_parent_code")
 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
@@ -905,6 +947,7 @@ class Alipay_paycode(Screen):
     def __init__(self):
         super().__init__()
         self.meta = alipay_paycode_screen
+        alipay_paycode_screen.add_event_cb(lambda e:EventMesh.callback_wrapper(self.fun_bt(e)), lv.EVENT.GESTURE, None)
         self.timer = osTimer()
         EventMesh.subscribe("set_alipay_code",self.set_alipay_code)
         EventMesh.subscribe("get_alipay_code",self.get_alipay_code)
@@ -921,6 +964,15 @@ class Alipay_paycode(Screen):
         alipay_paycode_alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data))
         self.update_page_state = code_128_generate_barcode1(alipay_paycode_screen,self.alipay_qr_data,240,100)
 
+    def fun_bt(self,e):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "alipay_1_1"})
+        
     def initialization(self):
         print("alipay_paycode:initialization")
         self.count = 0
@@ -974,6 +1026,8 @@ class Alipay_paycode(Screen):
         EventMesh.publish("get_payment_code")
         EventMesh.publish("publish_message_event_ui",{"func":self.update_show,"data":0})
 
+    # def done_left_to_right(self):
+        
 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "alipay_1_1"})
@@ -982,6 +1036,7 @@ class Alipay_paycode(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
@@ -1051,6 +1106,7 @@ class Alipay_pay_success(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 alipay_collect_screen = lv.obj()
@@ -1083,7 +1139,7 @@ class Alipay_collect(Screen):
     def __init__(self):
         super().__init__()
         self.meta = alipay_collect_screen
-        
+        alipay_collect_screen.add_event_cb(lambda e:EventMesh.callback_wrapper(self.fun(e)), lv.EVENT.GESTURE, None)
 
   
     def initialization(self):
@@ -1097,6 +1153,14 @@ class Alipay_collect(Screen):
     def Close(self):
         EventMesh.publish("set_Alipay_Ui_isOpen",0)
         pass
+    def fun(self,e):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "alipay_1_1"})
 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "alipay_1_1"})
@@ -1105,6 +1169,7 @@ class Alipay_collect(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 alipay_parent_screen = lv.obj()
@@ -1150,7 +1215,7 @@ alipay_parent_bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
 alipay_parent_fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
 
 alipay_parent_alipay_qr = lv.qrcode(alipay_parent_screen, 150, alipay_parent_fg_color, alipay_parent_bg_color)
-alipay_parent_alipay_qr.set_pos(45,171)
+alipay_parent_alipay_qr.set_pos(45,120)
 # Add a border with bg_color
 alipay_parent_alipay_qr.set_style_border_color(alipay_parent_bg_color, 0)
 alipay_parent_alipay_qr.set_style_border_width(5, 0)
@@ -1162,10 +1227,11 @@ class Alipay_parent(Screen):
     def __init__(self):
         super().__init__()
         self.meta = alipay_parent_screen
-        
+        alipay_parent_screen.add_event_cb(lambda e:EventMesh.callback_wrapper(self.fun(e)), lv.EVENT.GESTURE, None)
 
    
     def initialization(self):
+        
         EventMesh.publish("set_Alipay_Ui_isOpen",1)
    
     def post_processor_after_initialization(self):
@@ -1175,7 +1241,15 @@ class Alipay_parent(Screen):
     
     def Close(self):
         EventMesh.publish("set_Alipay_Ui_isOpen",0)
-        pass
+
+    def fun(self,e):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "alipay_1_1"})
                 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "alipay_1_1"})
@@ -1184,4 +1258,5 @@ class Alipay_parent(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
\ No newline at end of file
index 79513fb..fa7cd47 100644 (file)
@@ -192,6 +192,7 @@ class FactoryModeScreen(Screen):
         EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 #显示txt日志
@@ -301,6 +302,7 @@ class FactoryModeLogScreen(Screen):
         EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 #显示x y z 三轴数据
 FactoryModestep_screen = lv.obj()
@@ -369,6 +371,7 @@ class FactoryModestepScreen(Screen):
         EventMesh.publish("return_prev_screen")
         
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
@@ -483,6 +486,7 @@ class FactoryModeHsensorTestScreen(Screen):
         EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
@@ -533,6 +537,7 @@ class FactoryModeBatTestScreen(Screen):
         EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
@@ -575,6 +580,7 @@ class FactoryModeAlipayInitScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "factorymode"})
         
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 FactoryModeLocation_screen = lv.obj()
@@ -714,4 +720,5 @@ class FactoryModeLocationScreen(Screen):
     def done_left_to_right(self):
         EventMesh.publish("return_prev_screen")
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
\ No newline at end of file
index b572074..b74df56 100644 (file)
@@ -649,6 +649,7 @@ class NewWechatPopupScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
index fdac57f..22a2f0b 100644 (file)
@@ -210,14 +210,13 @@ class CountdownManager(Abstract):
             print("self.time_cb:{} self.time_play:{} self.total:{} self.total_sec:{}".format(self.time_cb,self.time_play, self.total,self.total_sec))
             self.total = self.total - reduce
             if self.total <= 0:
+                EventMesh.publish("load_screen", {"screen": "countdown_end"})
                 self.total = 0
                 self.time_cb = 0
                 self.time_play = 0
                 self.sec = 0
                 self.min = 0
-                self.hour = 0
-                
-                EventMesh.publish("load_screen", {"screen": "countdown_end"})
+                self.hour = 0  
                 return
             self.total_sec = time_tmp
 
index cd31639..efada6f 100644 (file)
@@ -99,6 +99,8 @@ class motorEventManager(Abstract):#马达事件
 
     def close_motor_infor(self,event,msg):
         print("close_motor_infor!!!")
+        if self.motor_enable == 0:#未使能马达定时器
+            return
         close_motor()
         self.motor_enable = 0#马达使能
         self.motor_total_time = 0#总的时间
index 304ddf3..8e89a23 100644 (file)
@@ -1134,6 +1134,7 @@ class CallLogScreen(Screen):
     #     EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
@@ -1991,6 +1992,7 @@ class NewMessageScreen(Screen):
         EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 remove_message_popup_screen = None
@@ -2053,6 +2055,7 @@ class RemoveMessageScreen(Screen):#删除短信弹窗框
         EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 message_full_screen = None 
 message_full_label = None 
@@ -2157,6 +2160,7 @@ class MessageFullScreen(Screen):
         EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 ############短信###############################
 MSG_FLAG = 0
@@ -2599,6 +2603,7 @@ class PopupScreen(Screen):
     #     EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
@@ -2671,6 +2676,7 @@ class MsgDetailScreen(Screen):
         EventMesh.publish("return_prev_screen")
         
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "popup"})
 
 
@@ -2851,7 +2857,8 @@ class ToolboxScreen(Screen):
                 EventMesh.publish("load_screen", {"screen": "main_menu"})
 
         elif  code == lv.EVENT.SHORT_CLICKED:
-            EventMesh.publish("load_screen",  {"screen": "{}".format(msg)})
+            if msg != "void":
+                EventMesh.publish("load_screen",  {"screen": "{}".format(msg)})
 
     def done_DOWN(self):#下滑
         scroll_y = toolbox_cont.get_scroll_y()
@@ -3779,6 +3786,7 @@ class StepScreen(Screen):
             step_screen = lv.obj()
             print("step_screen")
             step_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+            step_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e)), lv.EVENT.GESTURE, None)
 
             step_label = lv.label(step_screen)
             step_label.set_pos(10, 30)
@@ -3815,7 +3823,14 @@ class StepScreen(Screen):
     def Close(self):
         self.timer.stop()
 
-    
+    def fun(self, e):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("return_prev_screen")
         # EventMesh.publish("load_screen", {"screen": "toolbox"})
 
     # def done_return(self):
@@ -3824,10 +3839,6 @@ class StepScreen(Screen):
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "toolbox"})
 
-    def done_left_to_right(self):
-        
-        EventMesh.publish("return_prev_screen")
-
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
@@ -3859,6 +3870,7 @@ class WeatherScreen(Screen):
             weather_screen = lv.obj()
             print("weather_screen")
             weather_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+            weather_screen.add_event_cb(lambda e:EventMesh.callback_wrapper(self.fun(e)), lv.EVENT.GESTURE, None)
 
             weather_img = lv.img(weather_screen)
             weather_img.set_pos(10, 10)
@@ -3982,16 +3994,17 @@ class WeatherScreen(Screen):
                 no_connect_label.set_text("找不到服务器")
                 no_connect_label1.set_text("请联网后重试")
 
-   
-
-    # def done_return(self):
-    #     EventMesh.publish("load_screen", {"screen": "toolbox"})
-
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "toolbox"})
 
-    def done_left_to_right(self):
-        EventMesh.publish("return_prev_screen")
+    def fun(self, e):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("return_prev_screen")
         
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -4299,7 +4312,9 @@ class CountdownScreen(Screen):
             countdown_screen = lv.obj()
             print("countdown_screen")
             countdown_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+            countdown_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,1)),
+                                        lv.EVENT.GESTURE, None)
+            
             countdown_title = lv.label(countdown_screen)
             countdown_title.set_pos(0, 20)
             countdown_title.set_size(LCD_SIZE_W, 20)
@@ -4354,6 +4369,7 @@ class CountdownScreen(Screen):
             countdown_hour_up.set_size(34, 30)
             countdown_hour_up.set_pos(36, 90)
             countdown_hour_up.set_src("E:/static/time_up.png")
+            countdown_hour_up.add_flag(lv.obj.FLAG.CLICKABLE)
             countdown_hour_up.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
 
             countdown_hour_up_btn= lv.img(countdown_screen)
@@ -4406,6 +4422,7 @@ class CountdownScreen(Screen):
             countdown_sec_up.set_size(34, 30)
             countdown_sec_up.set_pos(165, 90)
             countdown_sec_up.set_src("E:/static/time_up.png")
+            countdown_sec_up.add_flag(lv.obj.FLAG.CLICKABLE)
             countdown_sec_up.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
 
             countdown_sec_up_btn = lv.img(countdown_screen)
@@ -4429,6 +4446,7 @@ class CountdownScreen(Screen):
             countdown_reset_img = lv.img(countdown_screen)
             countdown_reset_img.set_size(99, 36)
             countdown_reset_img.set_src("E:/static/stopwatch_reset.png")
+            countdown_reset_img.add_flag(lv.obj.FLAG.CLICKABLE)
             countdown_reset_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
             countdown_reset_img.set_pos(10, 230)
 
@@ -4443,6 +4461,7 @@ class CountdownScreen(Screen):
             countdown_start_img = lv.img(countdown_screen)
             countdown_start_img.set_size(99, 36)
             countdown_start_img.set_src("E:/static/stopwatch_play.png")
+            countdown_start_img.add_flag(lv.obj.FLAG.CLICKABLE)
             countdown_start_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
             countdown_start_img.set_pos(120, 230)
 
@@ -4467,103 +4486,94 @@ class CountdownScreen(Screen):
 
             self.meta = countdown_screen
 
-            countdown_sec_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.sec_up(e)),
+            countdown_sec_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,2)),
                                         lv.EVENT.SHORT_CLICKED, None)
-            countdown_sec_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.sec_down(e)),
+            countdown_sec_up.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,2)),
                                         lv.EVENT.SHORT_CLICKED, None)
-            countdown_min_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.min_up(e)),
+            countdown_sec_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,3)),
                                         lv.EVENT.SHORT_CLICKED, None)
-            countdown_min_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.min_down(e)),
+            countdown_sec_down.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,3)),
                                         lv.EVENT.SHORT_CLICKED, None)
-            countdown_hour_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hour_up(e)),
+            
+            countdown_min_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,4)),
                                         lv.EVENT.SHORT_CLICKED, None)
-            countdown_hour_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hour_down(e)),
+            countdown_min_up.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,4)),
                                         lv.EVENT.SHORT_CLICKED, None)
-            countdown_start_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
+            
+            countdown_min_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,5)),
                                         lv.EVENT.SHORT_CLICKED, None)
-            countdown_reset_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reset(e)),
+            countdown_min_down.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,5)),
+                                        lv.EVENT.SHORT_CLICKED, None)
+            
+            countdown_hour_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,6)),
+                                        lv.EVENT.SHORT_CLICKED, None)
+            countdown_hour_up.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,6)),
+                                        lv.EVENT.SHORT_CLICKED, None)
+            
+            countdown_hour_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,7)),
+                                        lv.EVENT.SHORT_CLICKED, None)
+            countdown_hour_down.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,7)),
+                                        lv.EVENT.SHORT_CLICKED, None)
+            
+            countdown_start_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,8)),
+                                        lv.EVENT.SHORT_CLICKED, None)
+            countdown_start_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,8)),
+                                        lv.EVENT.SHORT_CLICKED, None)
+            
+            countdown_reset_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,9)),
+                                        lv.EVENT.SHORT_CLICKED, None)
+            countdown_reset_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_bt(e,9)),
                                         lv.EVENT.SHORT_CLICKED, None)
-            countdown_start_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
-                                        lv.EVENT.PRESSING, None)
-            countdown_reset_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reset(e)),
-                                        lv.EVENT.PRESSING, None)
-            # countdown_stop_imgbtn.add_event_cb(lambda e: self.stop(e),
-            #                              lv.EVENT.CLICKED, None)  
-        # date_tmp = utime.localtime()
-        # self.time_tmp = utime.mktime(date_tmp) 
-        
-            #EventMesh.publish("reset_time_countdown")
-        # if self.g_state == 0:
-        #     self.g_end = 0
-        #     self.total = 0
-        #     self.hour = 0
-        #     self.min = 0
-        #     self.sec = 0
         self.show_value()
   
-        
-    # def sattic_show(self):
-    #     global countdown_screen ,countdown_title,countdown_hour ,countdown_mao ,countdown_mao ,countdown_mao1 ,\
-    #     countdown_sec ,countdown_hour_up ,countdown_hour_up_btn ,countdown_hour_down ,countdown_hour_down_btn ,\
-    #     countdown_min_up,countdown_min_up_btn ,countdown_min_down,countdown_min_down_btn,countdown_sec_up ,\
-    #     countdown_sec_up_btn,countdown_sec_down ,countdown_sec_down_btn ,countdown_reset_img ,countdown_reset_imgbtn ,\
-    #     countdown_start_img,countdown_start_imgbtn,countdown_stop_img ,countdown_min 
-        
-        
-
-    def sec_up(self,e):
-        if self.sec < 59:
-            self.sec = self.sec + 1
-        print("sec_up:",self.sec)
-        self.show_value()
 
-    def sec_down(self,e):
-        if self.sec > 0:
-            self.sec = self.sec - 1
-        print("sec_down:",self.sec)
-        self.show_value()
-
-    def min_up(self,e):
-        if self.min < 59:
-            self.min = self.min + 1
-        print("min_up:",self.min)
-        self.show_value()
-
-    def min_down(self,e):
-        if self.min > 0:
-            self.min = self.min - 1
-        print("min_down:",self.min)
-        self.show_value()
-
-    def hour_up(self,e):
-        if self.hour < 99:
-            self.hour = self.hour + 1
-         
-        print("hour_up:",self.hour)
-        self.show_value()
-
-    def hour_down(self,e):
-        if self.hour > 0:
-            self.hour = self.hour - 1
-        print("hour_down:",self.hour)
-        self.show_value()
-    
-    def start(self,e):
-        global countdown_screen ,countdown_title,countdown_hour ,countdown_mao ,countdown_mao ,countdown_mao1 ,\
-            countdown_sec ,countdown_hour_up ,countdown_hour_up_btn ,countdown_hour_down ,countdown_hour_down_btn ,\
-            countdown_min_up,countdown_min_up_btn ,countdown_min_down,countdown_min_down_btn,countdown_sec_up ,\
-            countdown_sec_up_btn,countdown_sec_down ,countdown_sec_down_btn ,countdown_reset_img ,countdown_reset_imgbtn ,\
-            countdown_start_img,countdown_start_imgbtn,countdown_stop_img ,countdown_min 
+        
+    def fun_bt(self,e,msg):
         code = e.get_code()
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding += 1
-
-        elif  code == lv.EVENT.SHORT_CLICKED:
-            #utime.sleep_ms(10)
-            print("1self.is_sliding",self.is_sliding)
-            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding =0
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("return_prev_screen")
+        elif code == lv.EVENT.SHORT_CLICKED:
+            if msg == 2:
+                if self.sec < 59:
+                    self.sec = self.sec + 1
+                print("sec_up:",self.sec)
+                self.show_value()
+                pass
+            elif msg == 3:
+                if self.sec > 0:
+                    self.sec = self.sec - 1
+                print("sec_down:",self.sec)
+                self.show_value()
+                pass
+            elif msg == 4:
+                if self.min < 59:
+                    self.min = self.min + 1
+                print("min_up:",self.min)
+                self.show_value()
+                pass
+            elif msg == 5:
+                if self.min > 0:
+                    self.min = self.min - 1
+                print("min_down:",self.min)
+                self.show_value()
+                pass
+            elif msg == 6:
+                if self.hour < 99:
+                    self.hour = self.hour + 1
+                
+                print("hour_up:",self.hour)
+                self.show_value()
+                pass
+            elif msg == 7:
+                if self.hour > 0:
+                    self.hour = self.hour - 1
+                print("hour_down:",self.hour)
+                self.show_value()
+            elif msg == 8:
                 self.total = self.hour*60*60 + self.min*60 + self.sec
                 print("--00:",self.total,self.hour,self.min,self.sec,self.g_state)
                 if self.g_state == 1:
@@ -4586,7 +4596,30 @@ class CountdownScreen(Screen):
                         #countdown_hour_up_btn.add_flag(lv.obj.FLAG.HIDDEN)
                         
                 EventMesh.publish("set_countdown_off_state", [0,self.g_state])
-            self.is_sliding =0
+                pass
+            elif msg == 9:
+                self.timer.stop()
+                self.hour = 0
+                self.min = 0
+                self.sec = 0
+                self.g_state = 0
+                self.g_end = 0
+                self.total = 0
+                EventMesh.publish("set_countdown_off_state", [0,self.g_state])
+                EventMesh.publish("reset_time_countdown")
+                countdown_start_img.clear_flag(lv.obj.FLAG.HIDDEN)
+                countdown_stop_img.add_flag(lv.obj.FLAG.HIDDEN)
+                countdown_reset_img.clear_flag(lv.obj.FLAG.HIDDEN)
+
+                countdown_hour_up.clear_flag(lv.obj.FLAG.HIDDEN)
+                countdown_hour_down.clear_flag(lv.obj.FLAG.HIDDEN)
+                countdown_min_up.clear_flag(lv.obj.FLAG.HIDDEN)
+                countdown_min_down.clear_flag(lv.obj.FLAG.HIDDEN)
+                countdown_sec_up.clear_flag(lv.obj.FLAG.HIDDEN)
+                countdown_sec_down.clear_flag(lv.obj.FLAG.HIDDEN)
+                self.show_value()
+                pass
+        
     def stop(self):
         global countdown_screen ,countdown_title,countdown_hour ,countdown_mao ,countdown_mao ,countdown_mao1 ,\
             countdown_sec ,countdown_hour_up ,countdown_hour_up_btn ,countdown_hour_down ,countdown_hour_down_btn ,\
@@ -4594,13 +4627,21 @@ class CountdownScreen(Screen):
             countdown_sec_up_btn,countdown_sec_down ,countdown_sec_down_btn ,countdown_reset_img ,countdown_reset_imgbtn ,\
             countdown_start_img,countdown_start_imgbtn,countdown_stop_img ,countdown_min 
         print("in stop")
-        
+        countdown_hour_up.add_flag(lv.obj.FLAG.HIDDEN)
+        countdown_hour_down.add_flag(lv.obj.FLAG.HIDDEN)
+        countdown_hour_up.add_flag(lv.obj.FLAG.HIDDEN)
+        countdown_hour_down.add_flag(lv.obj.FLAG.HIDDEN)
+        countdown_min_up.add_flag(lv.obj.FLAG.HIDDEN)
+        countdown_min_down.add_flag(lv.obj.FLAG.HIDDEN)
+        countdown_sec_up.add_flag(lv.obj.FLAG.HIDDEN)
+        countdown_sec_down.add_flag(lv.obj.FLAG.HIDDEN)
+        countdown_start_img.clear_flag(lv.obj.FLAG.HIDDEN)
+        countdown_stop_img.add_flag(lv.obj.FLAG.HIDDEN)
+        countdown_reset_img.clear_flag(lv.obj.FLAG.HIDDEN)
         
         self.g_end = 0
         self.timer.stop()
-        self.show_value()
-        # EventMesh.publish("load_screen", {"screen": "countdown"})
-    
+
     def fun(self,e):
         if self.g_state == 1:
             date_tmp = utime.localtime()
@@ -4618,19 +4659,20 @@ class CountdownScreen(Screen):
             
 
             # print("self.total:{} self.time_tmp:{} self.timeSecond:{} test_hour:{} test_min:{} test_sec:{}".format(self.total,self.time_tmp,self.timeSecond,test_hour,test_min,test_sec))
-            self.show_value()  
+             
             # print("Close self.timeSecond:22")
             #EventMesh.publish("set_countdown_all_time", [self.total,self.timeSecond])
             if self.total <= 0:
+                self.timer.stop()
+                EventMesh.publish("load_screen", {"screen": "countdown_end"})
                 self.g_state = 0
                 self.g_end = 1
                 self.hour = 0
                 self.min = 0
                 self.sec = 0
-                #EventMesh.publish("set_countdown_off_state", [0,self.g_state])
-                self.timer.stop()
+            else:
+
                 self.show_value()
-                EventMesh.publish("load_screen", {"screen": "countdown_end"})
         
         # self.total = self.total - 1
         
@@ -4654,42 +4696,36 @@ class CountdownScreen(Screen):
         #     self.g_state = msg_tmp[1]
         #     EventMesh.publish("set_countdown_off_state", [0,self.g_state]) 
     def close_count_show_info(self, event, msg):
-        self.reset(0)
+        self.reset()
 
-    def reset(self,e):
+    def reset(self):
         global countdown_screen ,countdown_title,countdown_hour ,countdown_mao ,countdown_mao ,countdown_mao1 ,\
             countdown_sec ,countdown_hour_up ,countdown_hour_up_btn ,countdown_hour_down ,countdown_hour_down_btn ,\
             countdown_min_up,countdown_min_up_btn ,countdown_min_down,countdown_min_down_btn,countdown_sec_up ,\
             countdown_sec_up_btn,countdown_sec_down ,countdown_sec_down_btn ,countdown_reset_img ,countdown_reset_imgbtn ,\
             countdown_start_img,countdown_start_imgbtn,countdown_stop_img ,countdown_min 
-        code = lv.EVENT.SHORT_CLICKED
-        if type(e) != int:
-            code = e.get_code()
-
-
-        #print("code!!!!!!!!",code,msg)
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding += 1
+        # print("in reset")
+        self.timer.stop()
+        self.hour = 0
+        self.min = 0
+        self.sec = 0
+        self.g_state = 0
+        self.g_end = 0
+        self.total = 0
+        EventMesh.publish("set_countdown_off_state", [0,self.g_state])
+        EventMesh.publish("reset_time_countdown")
+        countdown_start_img.clear_flag(lv.obj.FLAG.HIDDEN)
+        countdown_stop_img.add_flag(lv.obj.FLAG.HIDDEN)
+        countdown_reset_img.clear_flag(lv.obj.FLAG.HIDDEN)
+
+        countdown_hour_up.clear_flag(lv.obj.FLAG.HIDDEN)
+        countdown_hour_down.clear_flag(lv.obj.FLAG.HIDDEN)
+        countdown_min_up.clear_flag(lv.obj.FLAG.HIDDEN)
+        countdown_min_down.clear_flag(lv.obj.FLAG.HIDDEN)
+        countdown_sec_up.clear_flag(lv.obj.FLAG.HIDDEN)
+        countdown_sec_down.clear_flag(lv.obj.FLAG.HIDDEN)
+        self.show_value()
 
-        elif  code == lv.EVENT.SHORT_CLICKED:
-            #utime.sleep_ms(10)
-            print("1self.is_sliding",self.is_sliding)
-            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding =0
-                # print("in reset")
-                self.timer.stop()
-                self.hour = 0
-                self.min = 0
-                self.sec = 0
-                self.g_state = 0
-                self.g_end = 0
-                self.total = 0
-                #EventMesh.publish("set_countdown_off_state", [0,self.g_state])
-                #EventMesh.publish("reset_time_countdown")
-                self.show_value()
-                
-            self.is_sliding =0
         
     
 
@@ -4826,8 +4862,8 @@ class CountdownScreen(Screen):
             self.timer.stop()
         EventMesh.publish("load_screen", {"screen": "toolbox"})
 
-    def done_left_to_right(self):
-        EventMesh.publish("return_prev_screen")
+    # def done_left_to_right(self):
+    #     EventMesh.publish("return_prev_screen")
         
     def btn8_press(self):
         if self.g_state == 0:
@@ -4926,6 +4962,7 @@ class CountdownEndScreen(Screen):
 
     def btn8_press(self):
         self.stop_FIND()
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 # -------------------------------------------stopwatch screen----------------------------------------------------------
@@ -4959,12 +4996,13 @@ class StopwatchScreen(Screen):
         
     def initialization(self): 
         global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
-            stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,topwatch_reset_imgbtn ,stopwatch_start_img ,\
+            stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,stopwatch_reset_imgbtn ,stopwatch_start_img ,\
             stopwatch_start_imgbtn, stopwatch_stop_img  
         if  stopwatch_screen == None :
             stopwatch_screen = lv.obj()
             print("stopwatch_screen")
             stopwatch_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+            stopwatch_screen.add_event_cb(lambda e:EventMesh.callback_wrapper(self.fun_btn(e,1)), lv.EVENT.GESTURE, None)
 
             stopwatch_title = lv.label(stopwatch_screen)
             stopwatch_title.set_pos(0, 20)
@@ -5050,10 +5088,10 @@ class StopwatchScreen(Screen):
             stopwatch_stop_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
             stopwatch_stop_img.set_pos(120, 210)
             stopwatch_stop_img.add_flag(lv.obj.FLAG.HIDDEN)
-            stopwatch_start_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
+            stopwatch_start_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_btn(e,2)),
                                      lv.EVENT.SHORT_CLICKED, None)
         
-            stopwatch_reset_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reset(e)),
+            stopwatch_reset_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun_btn(e,3)),
                                      lv.EVENT.SHORT_CLICKED, None)
             self.meta = stopwatch_screen
 
@@ -5074,36 +5112,9 @@ class StopwatchScreen(Screen):
                 self.timer.start(100,1,self._fun)
             
 
-    def start(self, e):      
-        global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
-            stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,topwatch_reset_imgbtn ,stopwatch_start_img ,\
-            stopwatch_start_imgbtn, stopwatch_stop_img 
-        print("stopwatch start:{}".format(self.s_state))
-        #self.timer.start(100, 1, self._fun)  
-        
-        if self.s_state == 1:
-            self.s_state = 2
-            self.paused()
-        elif self.s_state == 2:
-            self.s_state = 1
-        if self.s_state != 2:
-            self.s_state = 1
-            if self.total_time >= 99*60:
-                self.ms_value = 0   
-                self.sec_value = 0
-                self.min_value = 0
-                self.total_time = 0
-            self.show_value()
-            self.timer.start(100,1,self._fun)
-            stopwatch_stop_img.clear_flag(lv.obj.FLAG.HIDDEN)
-            stopwatch_start_img.add_flag(lv.obj.FLAG.HIDDEN)
-            # print("ms_value start:{} {} {}".format(self.ms_value,self.sec_value,self.min_value))
-           
-        
-
     def paused(self):        
         global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
-            stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,topwatch_reset_imgbtn ,stopwatch_start_img ,\
+            stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,stopwatch_reset_imgbtn ,stopwatch_start_img ,\
             stopwatch_start_imgbtn, stopwatch_stop_img 
         print("stopwatch pause")
         stopwatch_start_img.clear_flag(lv.obj.FLAG.HIDDEN)
@@ -5113,7 +5124,7 @@ class StopwatchScreen(Screen):
 
     def reset(self,e):
         global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
-            stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,topwatch_reset_imgbtn ,stopwatch_start_img ,\
+            stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,stopwatch_reset_imgbtn ,stopwatch_start_img ,\
             stopwatch_start_imgbtn, stopwatch_stop_img 
         print("stopwatch reset")        
 
@@ -5127,25 +5138,80 @@ class StopwatchScreen(Screen):
         self.timer.stop()
         self.show_value()
 
+    def fun_btn(self, e,msg):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                if self.s_state == 0:
+                    self.timer.stop()
+                EventMesh.publish("return_prev_screen")
+        elif code == lv.EVENT.SHORT_CLICKED:
+            if msg == 2:
+                global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
+                stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,stopwatch_reset_imgbtn ,stopwatch_start_img ,\
+                stopwatch_start_imgbtn, stopwatch_stop_img 
+                print("stopwatch start:{}".format(self.s_state))
+                #self.timer.start(100, 1, self._fun)  
+                
+                if self.s_state == 1:
+                    self.s_state = 2
+                    self.paused()
+                elif self.s_state == 2:
+                    self.s_state = 1
+                if self.s_state != 2:
+                    self.s_state = 1
+                    if self.total_time >= 99*60:
+                        self.ms_value = 0   
+                        self.sec_value = 0
+                        self.min_value = 0
+                        self.total_time = 0
+                    self.show_value()
+                    self.timer.start(100,1,self._fun)
+                    stopwatch_stop_img.clear_flag(lv.obj.FLAG.HIDDEN)
+                    stopwatch_start_img.add_flag(lv.obj.FLAG.HIDDEN)
+                    # print("ms_value start:{} {} {}".format(self.ms_value,self.sec_value,self.min_value))
+                pass
+            elif msg == 3:
+                global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
+                stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,stopwatch_reset_imgbtn ,stopwatch_start_img ,\
+                stopwatch_start_imgbtn, stopwatch_stop_img 
+                print("stopwatch reset")        
+                self.timer.stop()
+                self.sec_value = 0
+                self.min_value = 0
+                self.ms_value = 0
+                self.s_state = 0
+                self.total_time = 0
+                stopwatch_start_img.clear_flag(lv.obj.FLAG.HIDDEN)
+                stopwatch_stop_img.add_flag(lv.obj.FLAG.HIDDEN)
+                
+                self.show_value()
+                pass
+        
+
     def _fun(self,e):
-        self.ms_value += 1
-        if self.ms_value > 9:
-            self.ms_value = 0   
-            self.sec_value += 1
-            self.total_time+=1
-        if self.sec_value > 59:
-            self.sec_value = 0
-        if self.total_time > 99*60:
-            self.total_time = 99*60
-            self.timer.stop()
-            stopwatch_start_img.clear_flag(lv.obj.FLAG.HIDDEN)
-            stopwatch_stop_img.add_flag(lv.obj.FLAG.HIDDEN)
+        if self.s_state != 0:
+            self.ms_value += 1
+            if self.ms_value > 9:
+                self.ms_value = 0   
+                self.sec_value += 1
+                self.total_time+=1
+            if self.sec_value > 59:
+                self.sec_value = 0
+            if self.total_time > 99*60:
+                self.total_time = 99*60
+                self.timer.stop()
+                stopwatch_start_img.clear_flag(lv.obj.FLAG.HIDDEN)
+                stopwatch_stop_img.add_flag(lv.obj.FLAG.HIDDEN)
         
-        self.show_value()
+            self.show_value()
 
     def show_value(self):
         global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
-            stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,topwatch_reset_imgbtn ,stopwatch_start_img ,\
+            stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,stopwatch_reset_imgbtn ,stopwatch_start_img ,\
             stopwatch_start_imgbtn, stopwatch_stop_img 
         if self.total_time >= 99*60:
             self.total_time = 99*60
@@ -5210,11 +5276,11 @@ class StopwatchScreen(Screen):
             self.timer.stop()
         EventMesh.publish("load_screen", {"screen": "toolbox"})
     
-    def done_left_to_right(self):
-        if self.s_state == 0:
-            self.timer.stop()
+    # def done_left_to_right(self):
+    #     if self.s_state == 0:
+    #         self.timer.stop()
         
-        EventMesh.publish("return_prev_screen")
+    #     EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
         if self.s_state == 0:
@@ -5354,6 +5420,7 @@ class LowPowerScreen(Screen):
         EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 LowOnePower_screen = None
@@ -5431,6 +5498,7 @@ class LowOnePowerScreen(Screen): #0%的电池电量
         EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
@@ -6247,6 +6315,7 @@ class sosrecvScreen(Screen):#设备接收平台发送的
 
     def btn8_press(self):
         EventMesh.publish("set_UI_high_priority",0)
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 #from usr.ui_WatchFaceScreen import WatchFaceScreen
index 1eca55e..47efa6e 100644 (file)
@@ -244,7 +244,9 @@ class TemperatureScreen(Screen):
             temperature_screen = lv.obj()
             print("temp_screen")
             temperature_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+            temperature_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e,1)),
+                lv.EVENT.GESTURE, None)
+            
             temperature_label = lv.label(temperature_screen)
             temperature_label.set_pos(0, 10)
             temperature_label.set_size(LCD_SIZE_W, 40)
@@ -346,10 +348,8 @@ class TemperatureScreen(Screen):
 
 
             self.meta = temperature_screen
-            temp_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
+            temp_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e,2)),
                 lv.EVENT.SHORT_CLICKED, None)
-            temp_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
-                lv.EVENT.PRESSING, None)
         temperature_bpm_label.set_text("- -℃")
         temperature_start_label.set_text("正在测量中.")
         
@@ -358,42 +358,47 @@ class TemperatureScreen(Screen):
         self.is_sliding =0
         self.start_init()
 
-    def restart_up(self,e):
+    def restart_up(self,e,msg):
 
         global temperature_done_label,temperature_keep_label,temperature_bpm_label,temperature_start_label,temp_reset_btn_img
         code = e.get_code()
-
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding += 1
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("return_prev_screen")
 
         elif  code == lv.EVENT.SHORT_CLICKED:
-            #utime.sleep_ms(10)
-            print("1self.is_sliding",self.is_sliding)
-            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding =0
-                temperature_bpm_label.set_text("- -℃")
+            if msg == 2:
+                if temperature_bpm_label != None:
+                    temperature_bpm_label.set_text("- -℃")
                 
                 # temperature_keep_label.set_text("未出值")
-                temp_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
+                if temp_reset_btn_img != None:
+                    temp_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
                 self.point = 0
-                temperature_bpm_label.set_text("- -℃")
-                temperature_start_label.set_text("正在测量中.")
+                if temperature_bpm_label != None:
+                    temperature_bpm_label.set_text("- -℃")
+                if temperature_start_label != None:
+                    temperature_start_label.set_text("正在测量中.")
                 EventMesh.publish("set_temp_state",1)
                 EventMesh.publish(constants.EVENT.START_TEMP)
                 EventMesh.publish("show_history_temp_data")
                 self.temp_data_old = 0
                 self.timer.start(1*500, 1, self.start_measure)
-                
-            self.is_sliding =0
         
     def start_init(self):
-        temperature_bpm_label.set_text("- -℃")
+        if temperature_bpm_label != None:
+            temperature_bpm_label.set_text("- -℃")
         # temperature_keep_label.set_text("未出值")
-        temp_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
+        if temp_reset_btn_img != None:
+            temp_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
         self.point = 0
-        temperature_bpm_label.set_text("- -℃")
-        temperature_start_label.set_text("正在测量中.")
+        if temperature_bpm_label != None:
+            temperature_bpm_label.set_text("- -℃")
+        if temperature_start_label != None:
+            temperature_start_label.set_text("正在测量中.")
         EventMesh.publish("set_temp_state",1)
         EventMesh.publish(constants.EVENT.START_TEMP)
         EventMesh.publish("show_history_temp_data")
@@ -731,7 +736,9 @@ class Spo2Screen(Screen):
             spo2_screen = lv.obj()
             print("spo2_screen")
             spo2_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+            spo2_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e,1)),
+                lv.EVENT.GESTURE, None)
+            
             spo2_label = lv.label(spo2_screen)
             spo2_label.set_pos(0, 10)
             spo2_label.set_size(LCD_SIZE_W, 40)
@@ -816,10 +823,8 @@ class Spo2Screen(Screen):
 
 
             self.meta = spo2_screen
-            spo2_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
+            spo2_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e,2)),
                 lv.EVENT.SHORT_CLICKED, None)
-            spo2_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
-                lv.EVENT.PRESSING, None)
 
     def post_processor_after_initialization(self):
         self.point = 0
@@ -828,32 +833,31 @@ class Spo2Screen(Screen):
         EventMesh.publish("show_history_spo2_data")
         self.start_init()
         
-    def restart_up(self,e):
+    def restart_up(self,e,msg):
 
         global spo2_value_label,heartrate_bpm_label,spo2_start_label,spo2_reset_btn_img
-        code = e.get_code()
 
-        #print("code!!!!!!!!",code,msg)
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding += 1
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("return_prev_screen")
 
         elif  code == lv.EVENT.SHORT_CLICKED:
-            #utime.sleep_ms(10)
-            print("1self.is_sliding",self.is_sliding)
-            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding = 0
+            if msg == 2:
                 self.point = 0
                 self.timer.start(1*500, 1, self.start_measure)
                 if spo2_reset_btn_img != None:
                     spo2_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
                 
-                
-                spo2_value_label.set_text("- -%")
-                spo2_start_label.set_text("正在测量中.")
+                if spo2_value_label != None:
+                    spo2_value_label.set_text("- -%")
+                if spo2_start_label != None:
+                    spo2_start_label.set_text("正在测量中.")
                 EventMesh.publish("set_spo2_state",1)#2代表后台进入血氧测试
                 EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)
-            self.is_sliding =0
        
     def start_init(self):
         self.point = 0
@@ -1086,7 +1090,9 @@ class HeartrateScreen(Screen):
             heartrate_screen = lv.obj()
             print("heartrate_screen")
             heartrate_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+            heartrate_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e,1)),
+                lv.EVENT.GESTURE, None)
+            
             heartrate_label = lv.label(heartrate_screen)
             heartrate_label.set_pos(0, 10)
             heartrate_label.set_size(LCD_SIZE_W, 40)
@@ -1177,10 +1183,8 @@ class HeartrateScreen(Screen):
             heartrate_done_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
 
             self.meta = heartrate_screen
-            heartrate_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
+            heartrate_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e,2)),
                 lv.EVENT.SHORT_CLICKED, None)
-            heartrate_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
-                lv.EVENT.PRESSING, None)
             
         heartrate_done_label.set_text(" ")
         heartrate_bpm_label.set_text("-- bpm")
@@ -1197,35 +1201,36 @@ class HeartrateScreen(Screen):
         # self.show_history_data()
         self.start_init()
 
-    def restart_up(self,e):
+    def restart_up(self,e,msg):
         global heartrate_done_label,heartrate_bpm_label,heartrate_start_label,heartrate_reset_btn_img
-
         code = e.get_code()
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding += 1
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("return_prev_screen")
 
         elif  code == lv.EVENT.SHORT_CLICKED:
-            #utime.sleep_ms(10)
-            print("1self.is_sliding",self.is_sliding)
-            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding =0
+            if msg == 2:
                 self.point = 0
+                self.heart_value = 0
                 self.timer.start(1*500, 1, self.start_measure)
-                heartrate_bpm_label.set_text("-- bpm")
+                if heartrate_bpm_label != None:
+                    heartrate_bpm_label.set_text("-- bpm")
                 if heartrate_reset_btn_img != None:
                     heartrate_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
-                
-                self.heart_value = 0
-                
-                heartrate_done_label.set_text(" ")
-                heartrate_bpm_label.set_text("-- bpm")
-                heartrate_start_label.set_text("正在测量中.")
+
+                if heartrate_done_label != None:
+                    heartrate_done_label.set_text(" ")
+                if heartrate_bpm_label != None:
+                    heartrate_bpm_label.set_text("-- bpm")
+                if heartrate_start_label != None:
+                    heartrate_start_label.set_text("正在测量中.")
                 EventMesh.publish("set_hr_state",1)#1代表手动进入测试界面
                 
                 EventMesh.publish(constants.EVENT.START_HEART)
-                        
-            self.is_sliding =0
+
     def start_init(self):
         self.point = 0
         self.timer.start(1*500, 1, self.start_measure)
@@ -1262,19 +1267,19 @@ class HeartrateScreen(Screen):
                         if value <= 60:#18 36.6 -18 = 18
                             line_value = int((value-30)*0.6)#
                         elif value <= 90:
-                            line_value = int((value-60)*0.6)+18#127+15+1
+                            line_value = int((value-60)*0.6)+18*1#127+15+1
                         elif value < 120:
-                            line_value = int((value-90)*0.55)+18+18
+                            line_value = int((value-90)*0.55)+18*2
                         elif value == 120:
-                            line_value = int((value-90)*0.6)+18+18
+                            line_value = int((value-90)*0.6)+18*2
                         elif value < 150:
-                            line_value = int((value-120)*0.55)+18+18+18
+                            line_value = int((value-120)*0.55)+18*3
                         elif value == 150:
-                            line_value = int((value-120)*0.6)+18+18+18
+                            line_value = int((value-120)*0.6)+18*3
                         elif value < 180:
-                            line_value = int((value-150)*0.56)+18+18+18+18
+                            line_value = int((value-150)*0.56)+18*4
                         elif value == 180:
-                            line_value = int((value-150)*0.6)+18+18+18+18
+                            line_value = int((value-150)*0.6)+18*4
                         #print("hr hist",line_value)
                         hr_line_points = [{"x":0,"y":0},{"x":0,"y":line_value}]
                         if i == 0:
@@ -1379,8 +1384,8 @@ class HeartrateScreen(Screen):
         print("stop debug10")
         EventMesh.publish(constants.EVENT.STOP_HEART)
     
-    def done_left_to_right(self):
-        EventMesh.publish("return_prev_screen")
+    # def done_left_to_right(self):
+        # EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -1459,7 +1464,9 @@ class bloodpressureScreen(Screen):
             blood_pressure_screen = lv.obj()
             print("blood_pressure_screen")
             blood_pressure_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+            blood_pressure_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e,1)),
+                lv.EVENT.GESTURE, None)
+            
             blood_pressure_label = lv.label(blood_pressure_screen)
             blood_pressure_label.set_pos(0, 10)
             blood_pressure_label.set_size(LCD_SIZE_W, 40)
@@ -1608,10 +1615,8 @@ class bloodpressureScreen(Screen):
             blood_pressure_done_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
 
             self.meta = blood_pressure_screen
-            blood_pressure_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
+            blood_pressure_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e,2)),
                 lv.EVENT.SHORT_CLICKED, None)
-            blood_pressure_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
-                lv.EVENT.PRESSING, None)
             
         blood_pressure_done_label.set_text(" ")
         blood_pressure_bpm_label.set_text("--/--")
@@ -2125,19 +2130,18 @@ class bloodpressureScreen(Screen):
 
 
 
-    def restart_up(self,e):
+    def restart_up(self,e,msg):
         global blood_pressure_done_label,blood_pressure_bpm_label,blood_pressure_start_label,blood_pressure_reset_btn_img
-
         code = e.get_code()
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding += 1
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("return_prev_screen")
 
         elif  code == lv.EVENT.SHORT_CLICKED:
-            #utime.sleep_ms(10)
-            print("1self.is_sliding",self.is_sliding)
-            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding =0
+            if msg == 2:
                 self.point = 0
                 self.blood_Maxvalue = 0
                 self.blood_Minvalue = 0
@@ -2149,14 +2153,16 @@ class bloodpressureScreen(Screen):
                 
                 self.heart_value = 0
                 
-                blood_pressure_done_label.set_text(" ")
-                blood_pressure_bpm_label.set_text("--/--")
-                blood_pressure_start_label.set_text("正在测量中.")
+                if blood_pressure_done_label != None:
+                    blood_pressure_done_label.set_text(" ")
+                if blood_pressure_bpm_label != None:
+                    blood_pressure_bpm_label.set_text("--/--")
+                if blood_pressure_start_label != None:
+                    blood_pressure_start_label.set_text("正在测量中.")
                 EventMesh.publish("set_bp_state",1)#3代表单次测量
                 
                 EventMesh.publish(constants.EVENT.START_HEART)
-                        
-            self.is_sliding =0
+
     def start_init(self):
         self.point = 0
         self.blood_Maxvalue = 0
@@ -2164,13 +2170,17 @@ class bloodpressureScreen(Screen):
         self.count_blood = 0
         self.count_blood = 0
         self.timer.start(1*500, 1, self.start_measure)
-        blood_pressure_bpm_label.set_text("--/--")
+        if blood_pressure_bpm_label != None:
+            blood_pressure_bpm_label.set_text("--/--")
         if blood_pressure_reset_btn_img != None:
             blood_pressure_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
         self.heart_value = 0
-        blood_pressure_done_label.set_text(" ")
-        blood_pressure_bpm_label.set_text("--/--")
-        blood_pressure_start_label.set_text("正在测量中.")
+        if blood_pressure_done_label != None:
+            blood_pressure_done_label.set_text(" ")
+        if blood_pressure_bpm_label != None:
+            blood_pressure_bpm_label.set_text("--/--")
+        if blood_pressure_start_label != None:
+            blood_pressure_start_label.set_text("正在测量中.")
         EventMesh.publish("set_bp_state",1)#3代表单次测量
         
         EventMesh.publish(constants.EVENT.START_HEART)
@@ -2210,19 +2220,19 @@ class bloodpressureScreen(Screen):
                         if valueMax <= 60:#18 36.6 -18 = 18
                             line_Maxvalue = int((valueMax-30)*0.6)#
                         elif valueMax <= 90:
-                            line_Maxvalue = int((valueMax-60)*0.6)+18#127+15+1
+                            line_Maxvalue = int((valueMax-60)*0.6)+18*1#127+15+1
                         elif valueMax < 120:
-                            line_Maxvalue = int((valueMax-90)*0.55)+18+18
+                            line_Maxvalue = int((valueMax-90)*0.55)+18*2
                         elif valueMax == 120:
-                            line_Maxvalue = int((valueMax-90)*0.6)+18+18
+                            line_Maxvalue = int((valueMax-90)*0.6)+18*2
                         elif valueMax < 150:
-                            line_Maxvalue = int((valueMax-120)*0.55)+18+18+18
+                            line_Maxvalue = int((valueMax-120)*0.55)+18*3
                         elif valueMax == 150:
-                            line_Maxvalue = int((valueMax-120)*0.6)+18+18+18
+                            line_Maxvalue = int((valueMax-120)*0.6)+18*3
                         elif valueMax < 180:
-                            line_Maxvalue = int((valueMax-150)*0.56)+18+18+18+18
+                            line_Maxvalue = int((valueMax-150)*0.56)+18*4
                         elif valueMax == 180:
-                            line_Maxvalue = int((valueMax-150)*0.6)+18+18+18+18
+                            line_Maxvalue = int((valueMax-150)*0.6)+18*4
 
                         if line_Maxvalue >= 100:
                             line_Maxvalue = 100
@@ -2239,19 +2249,19 @@ class bloodpressureScreen(Screen):
                         if valueMin <= 60:#18 36.6 -18 = 18
                             line_Minvalue = int((valueMin-30)*0.6)#
                         elif valueMin <= 90:
-                            line_Minvalue = int((valueMin-60)*0.6)+18#127+15+1
+                            line_Minvalue = int((valueMin-60)*0.6)+18*1#127+15+1
                         elif valueMin < 120:
-                            line_Minvalue = int((valueMin-90)*0.55)+18+18
+                            line_Minvalue = int((valueMin-90)*0.55)+18*2
                         elif valueMin == 120:
-                            line_Minvalue = int((valueMin-90)*0.6)+18+18
+                            line_Minvalue = int((valueMin-90)*0.6)+18*2
                         elif valueMin < 150:
-                            line_Minvalue = int((valueMin-120)*0.55)+18+18+18
+                            line_Minvalue = int((valueMin-120)*0.55)+18*3
                         elif valueMin == 150:
-                            line_Minvalue = int((valueMin-120)*0.6)+18+18+18
+                            line_Minvalue = int((valueMin-120)*0.6)+18*3
                         elif valueMin < 180:
-                            line_Minvalue = int((valueMin-150)*0.56)+18+18+18+18
+                            line_Minvalue = int((valueMin-150)*0.56)+18*4
                         elif valueMin == 180:
-                            line_Minvalue = int((valueMin-150)*0.6)+18+18+18+18
+                            line_Minvalue = int((valueMin-150)*0.6)+18*4
                         #print("hr hist",line_value)
                         blood_pressure_lineh_points = [{"x":0,"y":0},{"x":0,"y":line_Maxvalue}]
                         blood_pressure_linel_points = [{"x":0,"y":0},{"x":0,"y":line_Minvalue}]
index 9d69bf4..6267a77 100644 (file)
@@ -293,21 +293,9 @@ class SettingScreen(Screen):
         if code == lv.EVENT.GESTURE:
             if dir == lv.DIR.RIGHT:
                 EventMesh.publish("load_screen", {"screen": "main_menu"})
-           
-        elif code == lv.EVENT.PRESSING:
-            print("PRESSING")
-            self.is_sliding += 1
-
         elif  code == lv.EVENT.SHORT_CLICKED:
-            EventMesh.publish("load_screen",  {"screen": "{}".format(msg)})
-            #utime.sleep_ms(10)
-            # print("1self.is_sliding",self.is_sliding)
-            # if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
-            #     self.is_sliding = 0
-            #     if msg != "void":
-            # EventMesh.publish("load_screen",  {"screen": "{}".format(msg)})
-                
-            # self.is_sliding =0
+            if msg != "void":
+                EventMesh.publish("load_screen",  {"screen": "{}".format(msg)})
 
 
     
@@ -954,45 +942,30 @@ class RestoreScreen(Screen):
         self.is_sliding = 0
         super().__init__()
         self.meta = restore_screen
-        restore_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.SHORT_CLICKED, None)
-        restore_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.PRESSING, None)
-        restore_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.SHORT_CLICKED, None)
-        restore_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.PRESSING, None)
+        restore_screen.add_event_cb(lambda e:EventMesh.callback_wrapper(self.fun(e,1)), lv.EVENT.GESTURE, None)
+
+        restore_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,2)),lv.EVENT.SHORT_CLICKED, None)
+        restore_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,3)),lv.EVENT.SHORT_CLICKED, None)
+
         
     def initialization(self):
         self.is_sliding = 0
-        
-    def confirm(self, e):
+    
+    def fun(self, e,msg):
         code = e.get_code()
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding += 1
-
-        elif  code == lv.EVENT.SHORT_CLICKED:
-            #utime.sleep_ms(10)
-            print("1self.is_sliding",self.is_sliding)
-            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding =0
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "setting"})
+        elif code == lv.EVENT.SHORT_CLICKED:
+            if msg == 2:
                 EventMesh.publish("load_screen", {"screen": "restore_confirm"})
-            self.is_sliding =0
-
-    def concel(self, e):
-        code = e.get_code()
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding += 1
-
-        elif  code == lv.EVENT.SHORT_CLICKED:
-            #utime.sleep_ms(10)
-            print("1self.is_sliding",self.is_sliding)
-            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding =0
+                pass
+            elif msg == 3:
                 EventMesh.publish("return_prev_screen")
-            self.is_sliding =0
-    
-    def done_left_to_right(self):
-
-        EventMesh.publish("return_prev_screen")
+                pass
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -1028,6 +1001,7 @@ class VersionScreen(Screen):
     def __init__(self):
         super().__init__()
         self.meta = version_screen
+        version_screen.add_event_cb(lambda e:EventMesh.callback_wrapper(self.fun(e)), lv.EVENT.GESTURE, None)
         self.btn_count = 0
     def initialization(self):
         
@@ -1036,7 +1010,16 @@ class VersionScreen(Screen):
 
     def Close(self):
         self.btn_count = 0
-    
+
+    def fun(self, e):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "setting"})
+          
     def done_click(self):
         self.btn_count += 1
         if self.btn_count >= 5 :
@@ -1054,9 +1037,6 @@ class VersionScreen(Screen):
 
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
-        
-    def done_left_to_right(self):
-        EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -1116,45 +1096,35 @@ class PoweroffScreen(Screen):
         super().__init__()
         self.is_sliding = 0
         self.meta = poweroff_screen
-        poweroff_confirm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.SHORT_CLICKED, None)
-        poweroff_return.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.SHORT_CLICKED, None)
-        poweroff_confirm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.PRESSING, None)
-        poweroff_return.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.PRESSING, None)
+        poweroff_screen.add_event_cb(lambda e:EventMesh.callback_wrapper(self.fun(e,1)), lv.EVENT.GESTURE, None)
+        poweroff_confirm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,2)),lv.EVENT.SHORT_CLICKED, None)
+        poweroff_return.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,3)),lv.EVENT.SHORT_CLICKED, None)
 
     def initialization(self):
         self.is_sliding = 0
         pass
         
-    def done_return(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
-        
-    def confirm(self, e):
+    def fun(self, e,msg):
         code = e.get_code()
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding += 1
-
-        elif  code == lv.EVENT.SHORT_CLICKED:
-            #utime.sleep_ms(10)
-            print("1self.is_sliding",self.is_sliding)
-            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding =0
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "setting"})
+        elif code == lv.EVENT.SHORT_CLICKED:
+            if msg == 2:
                 EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
-            self.is_sliding =0
-        
-        #EventMesh.publish("load_screen", {"screen": "no_sim_power_screen"})
-        
-    
-
-    def concel(self, e):
-        EventMesh.publish("return_prev_screen")
-        # EventMesh.publish("load_screen", {"screen": "setting"})
+                pass
+            elif msg == 3:
+                EventMesh.publish("load_screen", {"screen": "setting"})
+                pass
+    def done_return(self):
+        EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
         
-    def done_left_to_right(self):
-        EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -1445,25 +1415,16 @@ class ThemeswitchScreen(Screen):#主题风格选择
     def __init__(self):
         super().__init__()
         self.meta = menustyle_screen
-        self.is_sliding1 = 0
-        self.is_sliding2 = 0
+        menustyle_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,1)),
+                                    lv.EVENT.GESTURE, None)
         
-
-        menustyle_img1_bg_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun1(e)),
+        menustyle_img1_bg_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,2)),
                                      lv.EVENT.SHORT_CLICKED, None)
-
-        menustyle_img1_bg_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun1(e)),
-                                     lv.EVENT.PRESSING, None)
         
-        menustyle_img2_bg_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun2(e)),
+        menustyle_img2_bg_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,3)),
                                      lv.EVENT.SHORT_CLICKED, None)
-
-        menustyle_img2_bg_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun2(e)),
-                                     lv.EVENT.PRESSING, None)
         
     def initialization(self):
-        self.is_sliding1 = 0
-        self.is_sliding2 = 0
         read_data = EventMesh.publish("get_storage_config","MainMenu") 
         if read_data != None:
             if read_data == "1":
@@ -1479,47 +1440,31 @@ class ThemeswitchScreen(Screen):#主题风格选择
             # menustyle_img1.set_src("E:/static/theme_four1.png")
             # menustyle_img2.set_src("E:/static/theme_single2.png")
 
-    def fun1(self,e):
+    def fun(self,e,msg):
         code = e.get_code()
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding1 += 1
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("return_prev_screen")
 
         elif  code == lv.EVENT.SHORT_CLICKED:
             #utime.sleep_ms(10)
-            print("1self.is_sliding",self.is_sliding1)
-            if self.is_sliding1 <= 5 and self.is_sliding1 != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding1 = 0
+            if msg == 2:
                 menustyle_select.set_pos(int(190),int(80))
                 # menustyle_img1.set_src("E:/static/theme_four2.png")
                 # menustyle_img2.set_src("E:/static/theme_single1.png")
                 EventMesh.publish("set_mainmenu",msg = ["1",0])   
                 # self.set_mainmenu(msg = [read_data,0]) 
                 EventMesh.publish("load_screen", {"screen": "main_menu"})
-                
-            self.is_sliding1 =0
-       
-
-    def fun2(self,e):
-        code = e.get_code()
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding2 += 1
-
-        elif  code == lv.EVENT.SHORT_CLICKED:
-            #utime.sleep_ms(10)
-            print("2self.is_sliding",self.is_sliding2)
-            if self.is_sliding2 <= 5 and self.is_sliding2 != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding2 = 0
+            elif msg == 3:
                 menustyle_select.set_pos(int(190),int(165))
                 # menustyle_img1.set_src("E:/static/theme_four1.png")
                 # menustyle_img2.set_src("E:/static/theme_single2.png")
                 EventMesh.publish("set_mainmenu",msg = ["2",0])   
                 EventMesh.publish("load_screen", {"screen": "main_menu"})
-            self.is_sliding2 = 0
-
-    def done_left_to_right(self):
-        EventMesh.publish("return_prev_screen")
+        
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -1561,6 +1506,8 @@ class ImeiScreen(Screen):
     def __init__(self):
         super().__init__()
         self.meta = imei_screen
+        imei_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e)),
+                                    lv.EVENT.GESTURE, None)
 
     def initialization(self):
         imei = EventMesh.publish(constants.EVENT.GET_IMEI)
@@ -1568,14 +1515,22 @@ class ImeiScreen(Screen):
         imei_qr.update(imei_qr_data,len(imei_qr_data))
         imei_label.set_text(imei)
 
+    def fun(self,e):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "setting"})
+
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
         
-    def done_left_to_right(self):
-        EventMesh.publish("return_prev_screen")
+    
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -1588,20 +1543,27 @@ class AppScreen(Screen):
     def __init__(self):
         super().__init__()
         self.meta = app_screen
+        app_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e)),
+                                    lv.EVENT.GESTURE, None)
     def initialization(self):
         imei = EventMesh.publish(constants.EVENT.GET_IMEI)
         app_label.set_text(imei)
     
     
+    def fun(self,e):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "setting"})
 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
-    
-    def done_left_to_right(self):
-        EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -1722,17 +1684,20 @@ class BrightnessScreen(Screen):
         self.time = 10
         self.flip_sw =0
         self.meta = brightness_screen
-        brightness_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_level(e)),
+        brightness_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,1)),
+                                    lv.EVENT.GESTURE, None)
+        brightness_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,2)),
                                      lv.EVENT.SHORT_CLICKED, None)
-        brightness_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_level(e)),
+        brightness_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,3)),
                                      lv.EVENT.SHORT_CLICKED, None)
         
-        brightness_time_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_time_level(e)),
+        brightness_time_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,4)),
                                      lv.EVENT.SHORT_CLICKED, None)
 
-        brightness_time_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_time_level(e)),
+        brightness_time_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,5)),
                                      lv.EVENT.SHORT_CLICKED, None)
-        brightness_flip_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.flip_sw_cb(e)),lv.EVENT.SHORT_CLICKED, None)
+        brightness_flip_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,6)),lv.EVENT.SHORT_CLICKED, None)
+
     def initialization(self):
         self.level = EventMesh.publish("get_brightness_level")
         self.time = EventMesh.publish("get_brightness_time")
@@ -1748,44 +1713,49 @@ class BrightnessScreen(Screen):
         else:
             brightness_flip_sw.add_state(lv.STATE.CHECKED)
         self.show_bar()
-    def add_level(self, e):
-        EventMesh.publish("push_add_brightness_level")
-        self.level = EventMesh.publish("get_brightness_level")
-        print("self.level:{}".format(self.level))
-        self.show_bar()
-
-    def reduce_level(self, e):
-        EventMesh.publish("push_reduce_brightness_level")
-        self.level = EventMesh.publish("get_brightness_level")
-        self.show_bar()
-
-    def flip_sw_cb(self,e):
+    def fun(self,e,msg):
         code = e.get_code()
-        obj = e.get_target()
-        if code == lv.EVENT.SHORT_CLICKED:
-            if self.flip_sw == 0:
-                self.flip_sw = 1
-                brightness_flip_sw.add_state(lv.STATE.CHECKED)
-            else:
-                self.flip_sw = 0
-                brightness_flip_sw.clear_state(lv.STATE.CHECKED)
-            # print("self.flip_sw:",self.flip_sw)
-            EventMesh.publish("set_storage_config",["flip_sw",self.flip_sw]) 
-
-    def reduce_time_level(self, e):
-        if self.time > 5:
-            self.time-=5
-        EventMesh.publish("set_brightness_time",self.time)
-        brightness_label_time_text.set_text("{}秒".format(self.time))
-
-
-    
-    def add_time_level(self, e):
-        self.time+=5
-        if self.time >= 30:
-            self.time = 30
-        EventMesh.publish("set_brightness_time",self.time)        
-        brightness_label_time_text.set_text("{}秒".format(self.time))
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "setting"})
+        elif code == lv.EVENT.SHORT_CLICKED:
+            if msg == 2:
+                EventMesh.publish("push_add_brightness_level")
+                self.level = EventMesh.publish("get_brightness_level")
+                print("self.level:{}".format(self.level))
+                self.show_bar()
+                
+            elif msg == 3:
+                EventMesh.publish("push_reduce_brightness_level")
+                self.level = EventMesh.publish("get_brightness_level")
+                self.show_bar()
+                
+            elif msg == 4:
+                if self.time > 5:
+                    self.time-=5
+                EventMesh.publish("set_brightness_time",self.time)
+                brightness_label_time_text.set_text("{}秒".format(self.time))
+                
+            elif msg == 5:
+                self.time+=5
+                if self.time >= 30:
+                    self.time = 30
+                EventMesh.publish("set_brightness_time",self.time)        
+                brightness_label_time_text.set_text("{}秒".format(self.time))
+                
+            elif msg == 6:
+                if self.flip_sw == 0:
+                    self.flip_sw = 1
+                    brightness_flip_sw.add_state(lv.STATE.CHECKED)
+                else:
+                    self.flip_sw = 0
+                    brightness_flip_sw.clear_state(lv.STATE.CHECKED)
+                # print("self.flip_sw:",self.flip_sw)
+                EventMesh.publish("set_storage_config",["flip_sw",self.flip_sw]) 
+        
 
     
 
@@ -2012,9 +1982,11 @@ class totalvolumeScreen(Screen):#总的铃声调节
     def __init__(self):
         super().__init__()
         self.meta = volume_adjust_screen
-        totalvolume_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_volum_size(e)),
+        volume_adjust_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,1)),
+                                    lv.EVENT.GESTURE, None)
+        totalvolume_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,2)),
                                      lv.EVENT.SHORT_CLICKED, None)
-        totalvolume_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_volum_size(e)),
+        totalvolume_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun(e,3)),
                                      lv.EVENT.SHORT_CLICKED, None)
         self.volum_size = 8
         self.aud = audio.Audio(0)
@@ -2028,19 +2000,25 @@ class totalvolumeScreen(Screen):#总的铃声调节
             self.volum_size = num
         self.aud.setVolume(self.volum_size)
         self.show_bar(0)
-
-    def add_volum_size(self, e):
-        self.volum_size+=2
-        if self.volum_size >= 11:
-            self.volum_size = 11
-        self.show_bar(1)
-
-    def reduce_volum_size(self, e):
-        
-        self.volum_size -= 2
-        if self.volum_size < 0:
-            self.volum_size = 0
-        self.show_bar(1)
+    def fun(self, e,msg):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "setting"})
+        elif code == lv.EVENT.SHORT_CLICKED:
+            if msg == 2:
+                self.volum_size+=2
+                if self.volum_size >= 11:
+                    self.volum_size = 11
+                self.show_bar(1)
+            elif msg == 3:
+                self.volum_size -= 2
+                if self.volum_size < 0:
+                    self.volum_size = 0
+                self.show_bar(1)
 
     def show_bar(self,msg):
         totalvolume_bar.set_value((100 // 11) * self.volum_size, lv.ANIM.OFF)
index 3a7e70f..a07df63 100644 (file)
@@ -107,6 +107,7 @@ class cameraFullScreen(Screen):#相册已满
         pass
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         pass
 
@@ -158,6 +159,7 @@ class deletealbumScreen(Screen):#删除图片
         pass
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         pass
 class cameraScreen(Screen):#相机拍照二级界面
@@ -319,6 +321,7 @@ class cameraScreen(Screen):#相机拍照二级界面
         pass
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         pass
 
@@ -333,6 +336,7 @@ camera_album_popup_img2 = None
 camera_album_popup_img3 = None
 camera_album_popup_img4 = None
 camera_album_popup_img5 = None
+camera_album_popup_img = None
 class cameraalbumScreen(Screen):#相册
     #
     NAME = "camera_album"
@@ -342,12 +346,13 @@ class cameraalbumScreen(Screen):#相册
         self.meta = None
 
     def initialization(self):
-        global camera_album_popup_screen ,camera_album_popup_label,camera_album_popup_img1,camera_album_popup_img2,camera_album_popup_img3,camera_album_popup_img4,camera_album_popup_img5
+        global camera_album_popup_screen,camera_album_popup_img ,camera_album_popup_label,camera_album_popup_img1,camera_album_popup_img2,camera_album_popup_img3,camera_album_popup_img4,camera_album_popup_img5
         
         if camera_album_popup_screen == None:
             camera_album_popup_screen = lv.obj()
             print("camera_album_popup_screen")
             camera_album_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+            camera_album_popup_screen.add_event_cb(lambda e:EventMesh.callback_wrapper(self.click_album(e,0)), lv.EVENT.GESTURE, None)
 
             camera_album_popup_label = lv.label(camera_album_popup_screen)
             camera_album_popup_label.set_pos(0, 100)
@@ -370,14 +375,21 @@ class cameraalbumScreen(Screen):#相册
             camera_album_popup_img2.set_pos(100, 230)
             camera_album_popup_img2.set_size(35, 35)
             camera_album_popup_img2.add_flag(lv.obj.FLAG.CLICKABLE)
-            camera_album_popup_img2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,0)), lv.EVENT.SHORT_CLICKED, None)
+            camera_album_popup_img2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,1)), lv.EVENT.SHORT_CLICKED, None)
+
+            camera_album_popup_img = lv.img(camera_album_popup_screen)
+            camera_album_popup_img.set_pos(80, 220)
+            camera_album_popup_img.set_size(60, 62)
+            camera_album_popup_img.add_flag(lv.obj.FLAG.CLICKABLE)
+            camera_album_popup_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,1)), lv.EVENT.SHORT_CLICKED, None)
+
 
             camera_album_popup_img3 = lv.img(camera_album_popup_screen)
             camera_album_popup_img3.set_pos(20, 20)
             camera_album_popup_img3.set_size(36,36)
             camera_album_popup_img3.add_flag(lv.obj.FLAG.CLICKABLE)
             camera_album_popup_img3.set_src("E:/static/RED_RETURN_PNG.png")
-            camera_album_popup_img3.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,1)), lv.EVENT.SHORT_CLICKED, None)
+            camera_album_popup_img3.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,2)), lv.EVENT.SHORT_CLICKED, None)
 
             self.meta = camera_album_popup_screen
         read_album = 0
@@ -387,39 +399,38 @@ class cameraalbumScreen(Screen):#相册
             camera_album_popup_img1.clear_flag(lv.obj.FLAG.HIDDEN)
             camera_album_popup_img1.set_src("E:/static/1_camera.jpg") #'E:/6_camera.jpeg'"E:/static/1_camera.jpg"
             camera_album_popup_img2.clear_flag(lv.obj.FLAG.HIDDEN)
+            camera_album_popup_img.clear_flag(lv.obj.FLAG.HIDDEN)
             camera_album_popup_img2.set_src("E:/static/album_delete.png")
+
             camera_album_popup_label.add_flag(lv.obj.FLAG.HIDDEN)
         else:
             camera_album_popup_img1.add_flag(lv.obj.FLAG.HIDDEN)
             camera_album_popup_img2.add_flag(lv.obj.FLAG.HIDDEN)
+            camera_album_popup_img.add_flag(lv.obj.FLAG.HIDDEN)
             camera_album_popup_label.clear_flag(lv.obj.FLAG.HIDDEN)
         
     
     def click_album(self,e,i):
-        if i == 0:
-            check_img = ql_fs.path_exists("/ext/static/1_camera.jpg")
-            if check_img == True :#图片存在
-                uos.remove("/ext/static/1_camera.jpg")#删除单张图片
-                album_data = int(EventMesh.publish("get_camera_num"))
-
-                EventMesh.publish("set_camera_num",album_data-1)
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("return_prev_screen")
+        elif code == lv.EVENT.SHORT_CLICKED:
+            if i == 1:
+                check_img = ql_fs.path_exists("/ext/static/1_camera.jpg")
+                if check_img == True :#图片存在
+                    uos.remove("/ext/static/1_camera.jpg")#删除单张图片
+                    album_data = int(EventMesh.publish("get_camera_num"))
 
-                EventMesh.publish("load_screen", {"screen": "delete_album"})
-                return
-        
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+                    EventMesh.publish("set_camera_num",album_data-1)
 
-        # read_album = {}
-        # read_album = EventMesh.publish("get_camera_num")
-        # if len(read_album) != 0 and i < len(read_album):
-        #     sort_new = {}
-        #     sort_new = sorted(read_album.keys())
-        #     key = sort_new[i]
-        #     value = int(read_album[key]["timeSec"])
-        #     self.meta_info = value
-        #     print(self.meta_info,i)
-        #     EventMesh.publish("load_screen", {"screen": "album_preview","meta": self.meta_info})#点击进入相册预览大图显示
-        # print(i)
+                    EventMesh.publish("load_screen", {"screen": "delete_album"})
+                    return
+            elif i == 2:
+                EventMesh.publish("load_screen", {"screen": "main_menu"})
         pass
 
     def Close(self):
@@ -438,6 +449,7 @@ class cameraalbumScreen(Screen):#相册
         pass
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         pass
 
@@ -549,6 +561,7 @@ class albumPreviewScreen(Screen):#点击预览
         pass
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         pass
 
@@ -1791,17 +1804,19 @@ class videolistScreen(Screen):
             print("videolist_screen")
             videolist_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
             videolist_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+            videolist_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e)), lv.EVENT.GESTURE, None)
 
             videolist_screen_list_screen = lv.obj(videolist_screen)
-            videolist_screen_list_screen.set_pos(0, 30)
-            videolist_screen_list_screen.set_size(LCD_SIZE_W, LCD_SIZE_H-30)
+            videolist_screen_list_screen.set_pos(0, 40)
+            videolist_screen_list_screen.set_size(LCD_SIZE_W, LCD_SIZE_H-40)
             videolist_screen_list_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
             videolist_screen_list_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+            videolist_screen_list_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e)), lv.EVENT.GESTURE, None)
 
 
             videolist_top_title = lv.label(videolist_screen)
             videolist_top_title.set_pos(0, 5)
-            videolist_top_title.set_size(LCD_SIZE_W, 20)
+            videolist_top_title.set_size(LCD_SIZE_W, 30)
             videolist_top_title.set_text("视频通话账号")
             videolist_top_title.set_long_mode(lv.label.LONG.WRAP)
             videolist_top_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
@@ -1809,7 +1824,7 @@ class videolistScreen(Screen):
         
 
             videolist_none_label = lv.label(videolist_screen)
-            videolist_none_label.set_pos(0, 60)
+            videolist_none_label.set_pos(0, 120)
             videolist_none_label.set_size(LCD_SIZE_W, 60)
             videolist_none_label.set_text("无SIM卡或未添加账号")
             videolist_none_label.set_long_mode(lv.label.LONG.WRAP)
@@ -1818,15 +1833,15 @@ class videolistScreen(Screen):
 
             self.videolist_detail_list = lv.obj(videolist_screen_list_screen)
             self.videolist_detail_list.set_pos(0, 0)
-            self.videolist_detail_list.set_size(LCD_SIZE_W, LCD_SIZE_H-30+1)
+            self.videolist_detail_list.set_size(LCD_SIZE_W, LCD_SIZE_H-40+1)
             self.videolist_detail_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
             self.videolist_detail_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+            self.videolist_detail_list.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e)), lv.EVENT.GESTURE, None)
             for i in range(self.MXA_phone_num):
                 contact_btn = lv.btn(self.videolist_detail_list)
                 contact_btn.add_flag(lv.obj.FLAG.CLICKABLE)
                 contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e)),
                                         lv.EVENT.SHORT_CLICKED, None)
-                contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e)), lv.EVENT.PRESSING, None)
                 contact_btn.add_flag(lv.obj.FLAG.HIDDEN)
                 # contact_btn.add_style(style_press_btn, lv.PART.MAIN | lv.STATE.PRESSED)
                 
@@ -1926,26 +1941,41 @@ class videolistScreen(Screen):
                 if self.videolist_detail_list != None:
                     self.videolist_detail_list.add_flag(lv.obj.FLAG.HIDDEN)#隐藏空文本
             
-
     def calling_cb(self,e):
         code = e.get_code()
-        if code == lv.EVENT.PRESSING:
-            #print("PRESSING")
-            self.is_sliding += 1
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                EventMesh.publish("load_screen", {"screen": "main_menu"})
 
         elif  code == lv.EVENT.SHORT_CLICKED:
-            #utime.sleep_ms(10)
-            print("1self.is_sliding",self.is_sliding)
-            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
-                self.is_sliding = 0
-                if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#有卡时触发sos报警 无卡时自动关机
-                    msg_text = e.get_target().get_child(1).get_text()
-                    # EventMesh.publish("publish_message_event_ui",{"func":self.calling,"data":msg_text})
-                    EventMesh.publish("load_screen", {"screen": "vedio_mode","meta":msg_text})
-                else:
-                    EventMesh.publish("load_screen", {"screen": "no_sim_popup_screen"})
+            if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#有卡
+                msg_text = e.get_target().get_child(1).get_text()
+                EventMesh.publish("load_screen", {"screen": "vedio_mode","meta":msg_text})
+            else:
+                EventMesh.publish("load_screen", {"screen": "no_sim_popup_screen"})
+
+    # def calling_cb(self,e):
+    #     code = e.get_code()
+    #     if code == lv.EVENT.PRESSING:
+    #         #print("PRESSING")
+    #         self.is_sliding += 1
+
+    #     elif  code == lv.EVENT.SHORT_CLICKED:
+    #         #utime.sleep_ms(10)
+    #         print("1self.is_sliding",self.is_sliding)
+    #         if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
+    #             self.is_sliding = 0
+    #             if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#有卡
+    #                 msg_text = e.get_target().get_child(1).get_text()
+    #                 # EventMesh.publish("publish_message_event_ui",{"func":self.calling,"data":msg_text})
+    #                 EventMesh.publish("load_screen", {"screen": "vedio_mode","meta":msg_text})
+    #             else:
+    #                 EventMesh.publish("load_screen", {"screen": "no_sim_popup_screen"})
                 
-            self.is_sliding =0
+    #         self.is_sliding =0
             
 
     def calling(self,msg_text):