al_talk_end_screen_cancel_bt.set_pos(0,0)
al_talk_end_screen_cancel_bt.add_flag(lv.obj.FLAG.CLICKABLE)
-al_talk_end_screen_icon2 = lv.img(AI_talk_end_bt_screen)
+
+al_talk_end_screen_icon2 = lv.btn(AI_talk_end_bt_screen)
+al_talk_end_screen_icon2.set_pos(int(44),int(5))
al_talk_end_screen_icon2.set_size(80,26)
-al_talk_end_screen_icon2.set_pos(44,5)
-al_talk_end_screen_icon2.add_flag(lv.obj.FLAG.CLICKABLE)
-al_talk_end_screen_icon2.set_src("U:/static/AI/ai_result_bt.png")
-al_talk_end_screen_icon2.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-AI_press_label_bt = lv.label(AI_talk_end_bt_screen)
-AI_press_label_bt.set_text(" ")
-AI_press_label_bt.set_size(88, LCD_SIZE_H-96)
-AI_press_label_bt.set_pos(44,0)
-AI_press_label_bt.add_flag(lv.obj.FLAG.CLICKABLE)
-
-AI_press_label = lv.label(al_talk_end_screen_icon2)
-AI_press_label.set_text("继续对话")
-AI_press_label.set_size(80, 20)
-AI_press_label.set_pos(0,4)
-AI_press_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-AI_press_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+al_talk_end_screen_icon2.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+screen_btn_1_label = lv.label(al_talk_end_screen_icon2)
+screen_btn_1_label.set_text("继续对话")
+al_talk_end_screen_icon2.set_style_pad_all(0, lv.STATE.DEFAULT)
+screen_btn_1_label.align(lv.ALIGN.CENTER,0,0)
+# create style style_screen_btn_1_main_main_default
+style_screen_btn_1_main_main_default = lv.style_t()
+style_screen_btn_1_main_main_default.init()
+style_screen_btn_1_main_main_default.set_radius(10)
+style_screen_btn_1_main_main_default.set_bg_color(lv.color_make(0x19,0x19,0x19))
+style_screen_btn_1_main_main_default.set_bg_grad_color(lv.color_make(0x19,0x19,0x19))
+style_screen_btn_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+style_screen_btn_1_main_main_default.set_bg_opa(255)
+style_screen_btn_1_main_main_default.set_border_color(lv.color_make(0x19,0x19,0x19))
+style_screen_btn_1_main_main_default.set_border_width(0)
+style_screen_btn_1_main_main_default.set_border_opa(255)
+style_screen_btn_1_main_main_default.set_text_color(lv.color_make(0xff,0xff,0xff))
+style_screen_btn_1_main_main_default.set_text_font(lv.K01_font_16_ALL)
+style_screen_btn_1_main_main_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+# add style for screen_btn_1
+al_talk_end_screen_icon2.add_style(style_screen_btn_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+# al_talk_end_screen_icon2 = lv.img(AI_talk_end_bt_screen)
+# al_talk_end_screen_icon2.set_size(80,26)
+# al_talk_end_screen_icon2.set_pos(44,5)
+# al_talk_end_screen_icon2.add_flag(lv.obj.FLAG.CLICKABLE)
+# al_talk_end_screen_icon2.set_src("U:/static/AI/ai_result_bt.png")
+# al_talk_end_screen_icon2.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# AI_press_label_bt = lv.label(AI_talk_end_bt_screen)
+# AI_press_label_bt.set_text(" ")
+# AI_press_label_bt.set_size(88, LCD_SIZE_H-96)
+# AI_press_label_bt.set_pos(44,0)
+# AI_press_label_bt.add_flag(lv.obj.FLAG.CLICKABLE)
+
+# AI_press_label = lv.label(al_talk_end_screen_icon2)
+# AI_press_label.set_text("继续对话")
+# AI_press_label.set_size(80, 20)
+# AI_press_label.set_pos(0,4)
+# AI_press_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+# AI_press_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
style_green_screen = lv.style_t()
style_green_screen.init()
al_talk_screen_icon1.set_src("U:/static/AI/AI_LISTEN_GIF001.png")
al_talk_screen_icon1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-al_talk_screen_icon = lv.img(AI_talk_screen)
+# al_talk_screen_icon = lv.img(AI_talk_screen)
+# al_talk_screen_icon.set_size(120,25)
+# al_talk_screen_icon.set_pos((LCD_SIZE_W-120)//2,95)
+# al_talk_screen_icon.set_src("U:/static/AI/ai_talk_bt.png")
+# al_talk_screen_icon.add_flag(lv.obj.FLAG.CLICKABLE)
+# al_talk_screen_icon.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# 0x37,0xbf,0x12
+al_talk_screen_icon = lv.btn(AI_talk_screen)
+al_talk_screen_icon.set_pos(int(4),int(95))
al_talk_screen_icon.set_size(120,25)
-al_talk_screen_icon.set_pos((LCD_SIZE_W-120)//2,95)
-al_talk_screen_icon.set_src("U:/static/AI/ai_talk_bt.png")
-al_talk_screen_icon.add_flag(lv.obj.FLAG.CLICKABLE)
-al_talk_screen_icon.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-al_talk_screen_icon_btn = lv.label(AI_talk_screen)
-al_talk_screen_icon_btn.set_text(" ")
-al_talk_screen_icon_btn.set_size(LCD_SIZE_W, 38)
-al_talk_screen_icon_btn.set_pos(0,90)
-al_talk_screen_icon_btn.add_flag(lv.obj.FLAG.CLICKABLE)
-
-al_talk_screen_title4 = lv.label(al_talk_screen_icon)
-al_talk_screen_title4.set_pos(0, 3)
-al_talk_screen_title4.set_size(120, 33)
-al_talk_screen_title4.set_text("开始对话")
-al_talk_screen_title4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-al_talk_screen_title4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+al_talk_screen_icon.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+screen_btn_1_label = lv.label(al_talk_screen_icon)
+screen_btn_1_label.set_text("开始对话")
+al_talk_screen_icon.set_style_pad_all(0, lv.STATE.DEFAULT)
+screen_btn_1_label.align(lv.ALIGN.CENTER,0,0)
+# create style style_screen_btn_1_main_main_default
+style_screen_btn_1_main_main_default = lv.style_t()
+style_screen_btn_1_main_main_default.init()
+style_screen_btn_1_main_main_default.set_radius(20)
+style_screen_btn_1_main_main_default.set_bg_color(lv.color_make(0x37,0xbf,0x12))
+style_screen_btn_1_main_main_default.set_bg_grad_color(lv.color_make(0x37,0xbf,0x12))
+style_screen_btn_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+style_screen_btn_1_main_main_default.set_bg_opa(255)
+style_screen_btn_1_main_main_default.set_border_color(lv.color_make(0x37,0xbf,0x12))
+style_screen_btn_1_main_main_default.set_border_width(0)
+style_screen_btn_1_main_main_default.set_border_opa(255)
+style_screen_btn_1_main_main_default.set_text_color(lv.color_make(0xff,0xff,0xff))
+style_screen_btn_1_main_main_default.set_text_font(lv.K01_font_16_ALL)
+style_screen_btn_1_main_main_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+# add style for screen_btn_1
+al_talk_screen_icon.add_style(style_screen_btn_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+# al_talk_screen_icon_btn = lv.label(AI_talk_screen)
+# al_talk_screen_icon_btn.set_text(" ")
+# al_talk_screen_icon_btn.set_size(LCD_SIZE_W, 38)
+# al_talk_screen_icon_btn.set_pos(0,90)
+# al_talk_screen_icon_btn.add_flag(lv.obj.FLAG.CLICKABLE)
+
+# al_talk_screen_title4 = lv.label(al_talk_screen_icon)
+# al_talk_screen_title4.set_pos(0, 3)
+# al_talk_screen_title4.set_size(120, 33)
+# al_talk_screen_title4.set_text("开始对话")
+# al_talk_screen_title4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+# al_talk_screen_title4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
#没有网络数据
AI_no_net_screen = lv.obj(AI_screen)
al_no_sim_popup_screen_title3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-al_no_sim_popup_screen_icon1 = lv.img(AI_no_net_screen)
+al_no_sim_popup_screen_icon1 = lv.btn(AI_no_net_screen)
+al_no_sim_popup_screen_icon1.set_pos(int(4),int(95))
al_no_sim_popup_screen_icon1.set_size(120,25)
-al_no_sim_popup_screen_icon1.set_pos((LCD_SIZE_W-120)//2,96)
-al_no_sim_popup_screen_icon1.set_src("U:/static/AI/ai_confirm_bt.png")
-al_no_sim_popup_screen_icon1.add_flag(lv.obj.FLAG.CLICKABLE)
-al_no_sim_popup_screen_icon1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-al_no_sim_popup_screen_title4 = lv.label(al_no_sim_popup_screen_icon1)
-al_no_sim_popup_screen_title4.set_pos(0, 4)
-al_no_sim_popup_screen_title4.set_size(120, 33)
-al_no_sim_popup_screen_title4.set_text("确定")
-al_no_sim_popup_screen_title4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-al_no_sim_popup_screen_title4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+al_no_sim_popup_screen_icon1.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+al_no_sim_popup_screen_icon1_label = lv.label(al_no_sim_popup_screen_icon1)
+al_no_sim_popup_screen_icon1_label.set_text("确定")
+al_no_sim_popup_screen_icon1.set_style_pad_all(0, lv.STATE.DEFAULT)
+al_no_sim_popup_screen_icon1_label.align(lv.ALIGN.CENTER,0,0)
+# create style style_screen_btn_1_main_main_default
+al_no_sim_popup_screen_icon1_label_default = lv.style_t()
+al_no_sim_popup_screen_icon1_label_default.init()
+al_no_sim_popup_screen_icon1_label_default.set_radius(20)
+al_no_sim_popup_screen_icon1_label_default.set_bg_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_bg_grad_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+al_no_sim_popup_screen_icon1_label_default.set_bg_opa(255)
+al_no_sim_popup_screen_icon1_label_default.set_border_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_border_width(0)
+al_no_sim_popup_screen_icon1_label_default.set_border_opa(255)
+al_no_sim_popup_screen_icon1_label_default.set_text_color(lv.color_make(0xff,0xff,0xff))
+al_no_sim_popup_screen_icon1_label_default.set_text_font(lv.K01_font_16_ALL)
+al_no_sim_popup_screen_icon1_label_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+# add style for screen_btn_1
+al_no_sim_popup_screen_icon1.add_style(al_no_sim_popup_screen_icon1_label_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+
+# al_no_sim_popup_screen_icon1 = lv.img(AI_no_net_screen)
+# al_no_sim_popup_screen_icon1.set_size(120,25)
+# al_no_sim_popup_screen_icon1.set_pos((LCD_SIZE_W-120)//2,96)
+# al_no_sim_popup_screen_icon1.set_src("U:/static/AI/ai_confirm_bt.png")
+# al_no_sim_popup_screen_icon1.add_flag(lv.obj.FLAG.CLICKABLE)
+# al_no_sim_popup_screen_icon1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# al_no_sim_popup_screen_title4 = lv.label(al_no_sim_popup_screen_icon1)
+# al_no_sim_popup_screen_title4.set_pos(0, 4)
+# al_no_sim_popup_screen_title4.set_size(120, 33)
+# al_no_sim_popup_screen_title4.set_text("确定")
+# al_no_sim_popup_screen_title4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+# al_no_sim_popup_screen_title4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
#正在聆听
AI_listen_screen = lv.obj(AI_screen)
al_think_screen_icon.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-al_think_screen_icon1 = lv.img(AI_think_screen)
+al_think_screen_icon1 = lv.btn(AI_think_screen)
+al_think_screen_icon1.set_pos(int(4),int(95))
al_think_screen_icon1.set_size(120,25)
-al_think_screen_icon1.set_pos((LCD_SIZE_W-120)//2,95)
-al_think_screen_icon1.set_src("U:/static/AI/ai_confirm_bt.png")
-al_think_screen_icon1.add_flag(lv.obj.FLAG.CLICKABLE)
-al_think_screen_icon1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-al_think_screen_icon1_bt = lv.label(AI_think_screen)
-al_think_screen_icon1_bt.set_text(" ")
-al_think_screen_icon1_bt.set_size(120, 38)
-al_think_screen_icon1_bt.set_pos(0,90)
-al_think_screen_icon1_bt.add_flag(lv.obj.FLAG.CLICKABLE)
-
-
-al_think_screen_title4 = lv.label(al_think_screen_icon1)
-al_think_screen_title4.set_pos(0, 3)
-al_think_screen_title4.set_size(120, 33)
-al_think_screen_title4.set_text("取消")
-al_think_screen_title4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-al_think_screen_title4.add_style(style_font_youyuan_ai_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+al_think_screen_icon1.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+al_no_sim_popup_screen_icon1_label = lv.label(al_think_screen_icon1)
+al_no_sim_popup_screen_icon1_label.set_text("取消")
+al_think_screen_icon1.set_style_pad_all(0, lv.STATE.DEFAULT)
+al_no_sim_popup_screen_icon1_label.align(lv.ALIGN.CENTER,0,0)
+# create style style_screen_btn_1_main_main_default
+al_no_sim_popup_screen_icon1_label_default = lv.style_t()
+al_no_sim_popup_screen_icon1_label_default.init()
+al_no_sim_popup_screen_icon1_label_default.set_radius(20)
+al_no_sim_popup_screen_icon1_label_default.set_bg_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_bg_grad_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+al_no_sim_popup_screen_icon1_label_default.set_bg_opa(255)
+al_no_sim_popup_screen_icon1_label_default.set_border_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_border_width(0)
+al_no_sim_popup_screen_icon1_label_default.set_border_opa(255)
+al_no_sim_popup_screen_icon1_label_default.set_text_color(lv.color_make(253, 82, 19))
+al_no_sim_popup_screen_icon1_label_default.set_text_font(lv.K01_font_16_ALL)
+al_no_sim_popup_screen_icon1_label_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+# add style for screen_btn_1
+al_think_screen_icon1.add_style(al_no_sim_popup_screen_icon1_label_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+# al_think_screen_icon1 = lv.img(AI_think_screen)
+# al_think_screen_icon1.set_size(120,25)
+# al_think_screen_icon1.set_pos((LCD_SIZE_W-120)//2,95)
+# al_think_screen_icon1.set_src("U:/static/AI/ai_confirm_bt.png")
+# al_think_screen_icon1.add_flag(lv.obj.FLAG.CLICKABLE)
+# al_think_screen_icon1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# al_think_screen_icon1_bt = lv.label(AI_think_screen)
+# al_think_screen_icon1_bt.set_text(" ")
+# al_think_screen_icon1_bt.set_size(120, 38)
+# al_think_screen_icon1_bt.set_pos(0,90)
+# al_think_screen_icon1_bt.add_flag(lv.obj.FLAG.CLICKABLE)
+
+
+# al_think_screen_title4 = lv.label(al_think_screen_icon1)
+# al_think_screen_title4.set_pos(0, 3)
+# al_think_screen_title4.set_size(120, 33)
+# al_think_screen_title4.set_text("取消")
+# al_think_screen_title4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+# al_think_screen_title4.add_style(style_font_youyuan_ai_20, lv.PART.MAIN | lv.STATE.DEFAULT)
# #连接超时
AI_connect_timerout_screen = lv.obj(AI_screen)
al_connect_timerout_title3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-al_connect_timerout_icon1 = lv.img(AI_connect_timerout_screen)
+al_connect_timerout_icon1 = lv.btn(AI_connect_timerout_screen)
+al_connect_timerout_icon1.set_pos(int(4),int(95))
al_connect_timerout_icon1.set_size(120,25)
-al_connect_timerout_icon1.set_pos((LCD_SIZE_W-120)//2,96)
-al_connect_timerout_icon1.set_src("U:/static/AI/ai_confirm_bt.png")
-al_connect_timerout_icon1.add_flag(lv.obj.FLAG.CLICKABLE)
-al_connect_timerout_icon1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-al_connect_timerout_icon1_bt = lv.label(AI_connect_timerout_screen)
-al_connect_timerout_icon1_bt.set_text(" ")
-al_connect_timerout_icon1_bt.set_size(120, 38)
-al_connect_timerout_icon1_bt.set_pos(0,90)
-al_connect_timerout_icon1_bt.add_flag(lv.obj.FLAG.CLICKABLE)
-
-al_connect_timerout_title4 = lv.label(al_connect_timerout_icon1)
-al_connect_timerout_title4.set_pos(0, 4)
-al_connect_timerout_title4.set_size(120, 33)
-al_connect_timerout_title4.set_text("确定")
-al_connect_timerout_title4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-al_connect_timerout_title4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+al_connect_timerout_icon1.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+al_no_sim_popup_screen_icon1_label = lv.label(al_connect_timerout_icon1)
+al_no_sim_popup_screen_icon1_label.set_text("确定")
+al_connect_timerout_icon1.set_style_pad_all(0, lv.STATE.DEFAULT)
+al_no_sim_popup_screen_icon1_label.align(lv.ALIGN.CENTER,0,0)
+# create style style_screen_btn_1_main_main_default
+al_no_sim_popup_screen_icon1_label_default = lv.style_t()
+al_no_sim_popup_screen_icon1_label_default.init()
+al_no_sim_popup_screen_icon1_label_default.set_radius(20)
+al_no_sim_popup_screen_icon1_label_default.set_bg_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_bg_grad_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+al_no_sim_popup_screen_icon1_label_default.set_bg_opa(255)
+al_no_sim_popup_screen_icon1_label_default.set_border_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_border_width(0)
+al_no_sim_popup_screen_icon1_label_default.set_border_opa(255)
+al_no_sim_popup_screen_icon1_label_default.set_text_color(lv.color_make(0xff,0xff,0xff))
+al_no_sim_popup_screen_icon1_label_default.set_text_font(lv.K01_font_16_ALL)
+al_no_sim_popup_screen_icon1_label_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+# add style for screen_btn_1
+al_connect_timerout_icon1.add_style(al_no_sim_popup_screen_icon1_label_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+# al_connect_timerout_icon1 = lv.img(AI_connect_timerout_screen)
+# al_connect_timerout_icon1.set_size(120,25)
+# al_connect_timerout_icon1.set_pos((LCD_SIZE_W-120)//2,96)
+# al_connect_timerout_icon1.set_src("U:/static/AI/ai_confirm_bt.png")
+# al_connect_timerout_icon1.add_flag(lv.obj.FLAG.CLICKABLE)
+# al_connect_timerout_icon1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# al_connect_timerout_icon1_bt = lv.label(AI_connect_timerout_screen)
+# al_connect_timerout_icon1_bt.set_text(" ")
+# al_connect_timerout_icon1_bt.set_size(120, 38)
+# al_connect_timerout_icon1_bt.set_pos(0,90)
+# al_connect_timerout_icon1_bt.add_flag(lv.obj.FLAG.CLICKABLE)
+
+# al_connect_timerout_title4 = lv.label(al_connect_timerout_icon1)
+# al_connect_timerout_title4.set_pos(0, 4)
+# al_connect_timerout_title4.set_size(120, 33)
+# al_connect_timerout_title4.set_text("确定")
+# al_connect_timerout_title4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+# al_connect_timerout_title4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
#未检测到录音
AI_not_listen_text_screen = lv.obj(AI_screen)
AI_not_listen_text_screen.set_pos(0, 0)
al_not_listen_title3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-al_not_listen_icon1 = lv.img(AI_not_listen_text_screen)
+al_not_listen_icon1 = lv.btn(AI_not_listen_text_screen)
+al_not_listen_icon1.set_pos(int(4),int(95))
al_not_listen_icon1.set_size(120,25)
-al_not_listen_icon1.set_pos((LCD_SIZE_W-120)//2,96)
-al_not_listen_icon1.set_src("U:/static/AI/ai_confirm_bt.png")
-al_not_listen_icon1.add_flag(lv.obj.FLAG.CLICKABLE)
-al_not_listen_icon1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-al_not_listen_icon1_bt = lv.label(AI_not_listen_text_screen)
-al_not_listen_icon1_bt.set_text(" ")
-al_not_listen_icon1_bt.set_size(120, 38)
-al_not_listen_icon1_bt.set_pos(0,90)
-al_not_listen_icon1_bt.add_flag(lv.obj.FLAG.CLICKABLE)
-
-al_not_listen_title4 = lv.label(al_not_listen_icon1)
-al_not_listen_title4.set_pos(0, 4)
-al_not_listen_title4.set_size(120, 33)
-al_not_listen_title4.set_text("确定")
-al_not_listen_title4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-al_not_listen_title4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+al_not_listen_icon1.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+al_no_sim_popup_screen_icon1_label = lv.label(al_not_listen_icon1)
+al_no_sim_popup_screen_icon1_label.set_text("确定")
+al_not_listen_icon1.set_style_pad_all(0, lv.STATE.DEFAULT)
+al_no_sim_popup_screen_icon1_label.align(lv.ALIGN.CENTER,0,0)
+# create style style_screen_btn_1_main_main_default
+al_no_sim_popup_screen_icon1_label_default = lv.style_t()
+al_no_sim_popup_screen_icon1_label_default.init()
+al_no_sim_popup_screen_icon1_label_default.set_radius(20)
+al_no_sim_popup_screen_icon1_label_default.set_bg_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_bg_grad_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+al_no_sim_popup_screen_icon1_label_default.set_bg_opa(255)
+al_no_sim_popup_screen_icon1_label_default.set_border_color(lv.color_make(0x19,0x19,0x19))
+al_no_sim_popup_screen_icon1_label_default.set_border_width(0)
+al_no_sim_popup_screen_icon1_label_default.set_border_opa(255)
+al_no_sim_popup_screen_icon1_label_default.set_text_color(lv.color_make(0xff,0xff,0xff))
+al_no_sim_popup_screen_icon1_label_default.set_text_font(lv.K01_font_16_ALL)
+al_no_sim_popup_screen_icon1_label_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+# add style for screen_btn_1
+al_not_listen_icon1.add_style(al_no_sim_popup_screen_icon1_label_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+# al_not_listen_icon1 = lv.img(AI_not_listen_text_screen)
+# al_not_listen_icon1.set_size(120,25)
+# al_not_listen_icon1.set_pos((LCD_SIZE_W-120)//2,96)
+# al_not_listen_icon1.set_src("U:/static/AI/ai_confirm_bt.png")
+# al_not_listen_icon1.add_flag(lv.obj.FLAG.CLICKABLE)
+# al_not_listen_icon1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# al_not_listen_icon1_bt = lv.label(AI_not_listen_text_screen)
+# al_not_listen_icon1_bt.set_text(" ")
+# al_not_listen_icon1_bt.set_size(120, 38)
+# al_not_listen_icon1_bt.set_pos(0,90)
+# al_not_listen_icon1_bt.add_flag(lv.obj.FLAG.CLICKABLE)
+
+# al_not_listen_title4 = lv.label(al_not_listen_icon1)
+# al_not_listen_title4.set_pos(0, 4)
+# al_not_listen_title4.set_size(120, 33)
+# al_not_listen_title4.set_text("确定")
+# al_not_listen_title4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+# al_not_listen_title4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
class AIScreen(Screen):#AI_GUI
#
NAME = "AI_success"
self.scroll_timer_count = 0
self.play_flag = 0
self.play_flag_init = 0
- AI_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,1)),
+ AI_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,0)),
+ lv.EVENT.GESTURE, None)
+ AI_talk_end_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,0)),
+ lv.EVENT.GESTURE, None)
+ AI_no_net_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,0)),
+ lv.EVENT.GESTURE, None)
+ AI_listen_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,0)),
+ lv.EVENT.GESTURE, None)
+ AI_think_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,0)),
+ lv.EVENT.GESTURE, None)
+ AI_connect_timerout_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,0)),
+ lv.EVENT.GESTURE, None)
+ AI_not_listen_text_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,0)),
lv.EVENT.GESTURE, None)
al_talk_screen_icon.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,1)),
lv.EVENT.SHORT_CLICKED, None)
- al_talk_screen_icon_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,1)),
- lv.EVENT.SHORT_CLICKED, None)
+ # al_talk_screen_icon_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,1)),
+ # lv.EVENT.SHORT_CLICKED, None)
al_no_sim_popup_screen_icon1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,2)), lv.EVENT.SHORT_CLICKED, None) #无网络按钮
# al_listen_screen_icon_bt.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,3)), lv.EVENT.SHORT_CLICKED, None) #说话完成按钮
# al_listen_screen_icon.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,3)), lv.EVENT.SHORT_CLICKED, None) #说话完成按钮
- al_think_screen_icon1_bt.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,4)), lv.EVENT.SHORT_CLICKED, None) #思考界面取消按钮
+ # al_think_screen_icon1_bt.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,4)), lv.EVENT.SHORT_CLICKED, None) #思考界面取消按钮
al_think_screen_icon1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,4)), lv.EVENT.SHORT_CLICKED, None) #思考界面取消按钮
- al_connect_timerout_icon1_bt.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,5)), lv.EVENT.SHORT_CLICKED, None) #连接超时 请重新对话按钮
+ # al_connect_timerout_icon1_bt.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,5)), lv.EVENT.SHORT_CLICKED, None) #连接超时 请重新对话按钮
al_connect_timerout_icon1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,5)), lv.EVENT.SHORT_CLICKED, None) #连接超时 请重新对话按钮
al_talk_end_screen_cancel_bt.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,6)), lv.EVENT.SHORT_CLICKED, None) #对话结束 取消对话按钮
al_talk_end_screen_icon1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,6)), lv.EVENT.SHORT_CLICKED, None) #对话结束 取消对话按钮
- AI_press_label_bt.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,7)), lv.EVENT.SHORT_CLICKED, None) #对话结束 继续对话按钮
+ # AI_press_label_bt.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,7)), lv.EVENT.SHORT_CLICKED, None) #对话结束 继续对话按钮
al_talk_end_screen_icon2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,7)), lv.EVENT.SHORT_CLICKED, None) #对话结束 继续对话按钮
- al_not_listen_icon1_bt.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,8)), lv.EVENT.SHORT_CLICKED, None)
+ # al_not_listen_icon1_bt.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,8)), lv.EVENT.SHORT_CLICKED, None)
al_not_listen_icon1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,8)), lv.EVENT.SHORT_CLICKED, None)
AI_end_screen_list_screen2.add_event_cb(self.scroll_event_cb, lv.EVENT.SCROLL_END, None)
AI_end_screen_list_screen.add_event_cb(self.scroll_event_cb, lv.EVENT.SCROLL_END, None)
AI_not_listen_text_screen.add_flag(lv.obj.FLAG.HIDDEN) #
AI_talk_screen.clear_flag(lv.obj.FLAG.HIDDEN) #
def upload_img(self,msg):
- if msg == 1:
- al_talk_end_screen_icon1.set_src("U:/static/AI/ai_result_can_start.png")
- else:
- al_talk_end_screen_icon1.set_src("U:/static/AI/ai_result_can_stop.png")
+ if al_talk_end_screen_icon1 != None:
+ if msg == 1:
+ al_talk_end_screen_icon1.set_src("U:/static/AI/ai_result_can_start.png")
+ else:
+ al_talk_end_screen_icon1.set_src("U:/static/AI/ai_result_can_stop.png")
def talk_end_continue_cb(self,e):#连接超时确定按钮回调或者继续对话按钮
self.Close()
usys.print_exception(e)
def page_change(self,dir,text_str):#翻页,dir: = 0跳转第一页,=1上一页,=2下一页,=3最后一页,最后的内容
+ EventMesh.publish("system_sleep_rest")#防止黑屏
text_str_list = []
text_str_list_len = 0
while 1:#分割字符串,获取列表
def AI_init(self):
self.AI_audio_queue_thread_id = _thread.start_new_thread(self.AI_audio_queue_thread, ())
self.AI_send_data_queue_thread_id = _thread.start_new_thread(self.AI_send_data_queue_thread, ())
- self._1S_timer.start(1000,1,self._1S_timer_cb)
+
#按下录音
self.Close()
print("talking3")
self.AI_init()
+ self._1S_timer.start(1000,1,self._1S_timer_cb)
self.AI_client_tts_timer.start(1000,1,self.AI_client_tts_timer_cb)
except Exception as e:
usys.print_exception(e)
else:
pass
def _1S_timer_cb(self,*argc):
- EventMesh.publish("system_sleep_rest")#防止黑屏
+ if EventMesh.publish("get_lcd_state") == 0:
+ self.lcd_off()
+ return
+ # EventMesh.publish("system_sleep_rest")#防止黑屏
if self.scroll_timer_count > 0:
self.scroll_timer_count-=1
+
#定时器
def record_timer_cb(self,*argc):
EventMesh.publish("system_sleep_rest")#防止黑屏
except Exception as e:
print("AI_audio_queue_thread:ERROR:")
usys.print_exception(e)
+
+ def lcd_off(self):
+ self.play_flag = 0
+ self.aud.stopPlayStream()
+ self.aud.stopAll()
+ EventMesh.publish("publish_message_event_ui",{"func":self.upload_img,"data":0})
+ self._1S_timer.stop()
+
+ def lcd_on(self):
+ # self.play_flag = 1
+ # EventMesh.publish("publish_message_event_ui",{"func":self.upload_img,"data":1})
+ self._1S_timer.start(1000,1,self._1S_timer_cb)
+
def Close(self):
try:
#销毁线程
style_contact_btn.set_pad_top(0)
style_contact_btn.set_pad_bottom(0)
+style_video_btn = lv.style_t()
+style_video_btn.init()
+style_video_btn.set_radius(5)
+style_video_btn.set_bg_color(lv.color_make(128, 128, 128))
+style_video_btn.set_bg_opa(255)
+style_video_btn.set_border_width(0)
+style_video_btn.set_pad_left(0)
+style_video_btn.set_pad_right(0)
+style_video_btn.set_pad_top(0)
+style_video_btn.set_pad_bottom(0)
style_common_bg_rect_btn_pressed = lv.style_t()
style_common_bg_rect_btn_pressed.init()
style_screen_btn_1_main_main_black.set_border_width(0)
style_screen_btn_1_main_main_black.set_border_opa(255)
+
+
style_circle = lv.style_t()
style_circle.init()
style_circle.set_bg_color(lv.color_make(0xff, 0xff, 0xff))
def initialization(self):
- self.phone_num=''
- self.phone_list = []
+ # self.phone_num=''
+ # self.phone_list = []
global phone_screen ,phone_line,phone_label,phone_one,phone_two,phone_three,phone_four,phone_five,phone_six,phone_seven,phone_eight,phone_nine,phone_start,\
phone_zero,phone_hash,phone_call,phone_call_btn,phone_contact,phone_contact_btn,phone_delete,phone_delete_btn
# lv.EVENT.SHORT_CLICKED, None)
- self.phone_num=''
- self.phone_list = []
+ # self.phone_num=''
+ # self.phone_list = []
self.count = 0
if phone_label != None:
- phone_label.set_pos(0, 0)
- phone_label.set_size(0, 0)
- phone_label.set_text(" ")
+ if len(self.phone_num) != 0:
+ phone_label.set_pos(0, 5)
+ phone_label.set_size(128, 30)
+ phone_label.set_text(self.phone_num)
+ phone_label.set_text(str(self.phone_num))
+ else:
+ phone_label.set_pos(0, 0)
+ phone_label.set_size(0, 0)
+ phone_label.set_text(" ")
#phone_label.set_text(" ")
# print("self.phone_list :{} self.phone_num:{}".format(self.phone_list,self.phone_num))
if self.timer_cb == 0:
def done_return(self):
+ self.phone_num=''
+ self.phone_list = []
EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
+ self.phone_num=''
+ self.phone_list = []
EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn8_press(self):
+ self.phone_num=''
+ self.phone_list = []
EventMesh.publish("watch_top_show")
EventMesh.publish("load_screen", {"screen": "main_menu"})
self.timer = osTimer()
self.meta = None
self.meta_type = "popup"
- self.call_log = {}
- self.call_log_value = {}
- self.read_call_log = {}
- self.number_tmp = {}
- self.CALL_LOG_MAX = CALL_LOG_MAX
+ self.count = 0
def initialization(self):
EventMesh.publish("set_UI_high_priority", 1)
+ self.count = 0
global dialing_screen,dialing_img,dialing_name ,hangup_imgbtn
if dialing_screen == None:
dialing_screen = lv.obj()
if dialing_name != None:
name = EventMesh.publish("get_phonename")#获取拨打电话名称
dialing_name.set_text(name)#名称
+ self.timer.start(1000,1,self.lcd_refresh)
def post_processor_after_initialization(self):
+
pass
-
+ def lcd_refresh(self,*argc):
+ EventMesh.publish("publish_message_event_ui",{"func":self.lcd_refresh_cb,"data":0})
+
+ def lcd_refresh_cb(self,data):
+ flag = EventMesh.publish("get_lcd_state")
+ if flag == 1:
+ EventMesh.publish("system_sleep_rest")#防止黑屏
+ self.count+=1
+ if self.count >= 60:
+ self.count = 0
+ self.hangup(0)
+
def hangup(self,e):
+
+ self.timer.stop()
EventMesh.publish("set_UI_high_priority", 0)
EventMesh.publish("close_sos_timer")
EventMesh.publish("set_hangup_mode", 1)
- voiceCall.callEnd()
EventMesh.publish("set_interrup_incall",0)
EventMesh.publish("set_UI_high_priority",0)
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("set_call_state",0)#设置通话状态为0
+ voiceCall.callEnd()
+ EventMesh.publish("return_prev_screen")
def Close(self):
self.timer.stop()
- def call_end(self,*argc):
-
- call_state = EventMesh.publish("get_call_state")#
- print("call_end!!!!!!!!",call_state)
- if call_state != None:
- if call_state == 0:#未打通
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
def done_return(self):
pass
#EventMesh.publish("load_screen", {"screen": "main_menu"})
no_sim_power_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- no_sim_power_screen_comfirm = lv.img(no_sim_power_screen)
- no_sim_power_screen_comfirm.set_size(88, 23)
- no_sim_power_screen_comfirm.set_pos(20, 65)
- no_sim_power_screen_comfirm.set_src("U:/static/off_icon.png")
- no_sim_power_screen_comfirm.add_flag(lv.obj.FLAG.CLICKABLE)
- no_sim_power_screen_comfirm.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- no_sim_power_screen_comfirm_btn = lv.img(no_sim_power_screen)
- no_sim_power_screen_comfirm_btn.set_size(88, 35)
- no_sim_power_screen_comfirm_btn.set_pos(20, 55)
- no_sim_power_screen_comfirm_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- no_sim_power_screen_comfirm_btn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- poweroff_confirm_label = lv.label(no_sim_power_screen_comfirm)
- poweroff_confirm_label.set_text("确定")
- poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
- poweroff_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- no_sim_power_screen_cancel = lv.img(no_sim_power_screen)
- no_sim_power_screen_cancel.set_size(88, 23)
- no_sim_power_screen_cancel.set_pos(20, 95)
- no_sim_power_screen_cancel.set_src("U:/static/cancel_icon.png")
- no_sim_power_screen_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
- no_sim_power_screen_cancel.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- no_sim_power_screen_cancel_btn = lv.img(no_sim_power_screen)
- no_sim_power_screen_cancel_btn.set_size(88, 38)
- no_sim_power_screen_cancel_btn.set_pos(20, 90)
- no_sim_power_screen_cancel_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- no_sim_power_screen_cancel_btn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- poweroff_return_label = lv.label(no_sim_power_screen_cancel)
- poweroff_return_label.set_text("取消")
- poweroff_return_label.align(lv.ALIGN.CENTER, 0, 0)
- poweroff_return_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- no_sim_power_screen_cancel.set_ext_click_area(20)
+ no_sim_power_screen_comfirm = lv.btn(no_sim_power_screen)
+ no_sim_power_screen_comfirm.set_pos(int(20),int(64))
+ no_sim_power_screen_comfirm.set_size(88,23)
+ no_sim_power_screen_comfirm.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ screen_btn_1_label = lv.label(no_sim_power_screen_comfirm)
+ screen_btn_1_label.set_text("确定")
+ no_sim_power_screen_comfirm.set_style_pad_all(0, lv.STATE.DEFAULT)
+ screen_btn_1_label.align(lv.ALIGN.CENTER,0,0)
+ # create style style_screen_btn_1_main_main_default
+ style_screen_btn_1_main_main_default = lv.style_t()
+ style_screen_btn_1_main_main_default.init()
+ style_screen_btn_1_main_main_default.set_radius(20)
+ style_screen_btn_1_main_main_default.set_bg_color(lv.color_make(249,47,109))
+ style_screen_btn_1_main_main_default.set_bg_grad_color(lv.color_make(249,47,109))
+ style_screen_btn_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+ style_screen_btn_1_main_main_default.set_bg_opa(255)
+ style_screen_btn_1_main_main_default.set_border_color(lv.color_make(249,47,109))
+ style_screen_btn_1_main_main_default.set_border_width(0)
+ style_screen_btn_1_main_main_default.set_border_opa(255)
+ style_screen_btn_1_main_main_default.set_text_color(lv.color_make(0xff,0xff,0xff))
+ style_screen_btn_1_main_main_default.set_text_font(lv.K01_font_16_ALL)
+ style_screen_btn_1_main_main_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+ # add style for screen_btn_1
+ no_sim_power_screen_comfirm.add_style(style_screen_btn_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+ # no_sim_power_screen_comfirm = lv.img(no_sim_power_screen)
+ # no_sim_power_screen_comfirm.set_size(88, 23)
+ # no_sim_power_screen_comfirm.set_pos(20, 65)
+ # no_sim_power_screen_comfirm.set_src("U:/static/off_icon.png")
+ # no_sim_power_screen_comfirm.add_flag(lv.obj.FLAG.CLICKABLE)
+ # no_sim_power_screen_comfirm.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ # no_sim_power_screen_comfirm_btn = lv.img(no_sim_power_screen)
+ # no_sim_power_screen_comfirm_btn.set_size(88, 35)
+ # no_sim_power_screen_comfirm_btn.set_pos(20, 55)
+ # no_sim_power_screen_comfirm_btn.add_flag(lv.obj.FLAG.CLICKABLE)
+ # no_sim_power_screen_comfirm_btn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+ # poweroff_confirm_label = lv.label(no_sim_power_screen_comfirm)
+ # poweroff_confirm_label.set_text("确定")
+ # poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
+ # poweroff_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ # no_sim_power_screen_cancel = lv.img(no_sim_power_screen)
+ # no_sim_power_screen_cancel.set_size(88, 23)
+ # no_sim_power_screen_cancel.set_pos(20, 95)
+ # no_sim_power_screen_cancel.set_src("U:/static/cancel_icon.png")
+ # no_sim_power_screen_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
+ # no_sim_power_screen_cancel.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ # no_sim_power_screen_cancel_btn = lv.img(no_sim_power_screen)
+ # no_sim_power_screen_cancel_btn.set_size(88, 38)
+ # no_sim_power_screen_cancel_btn.set_pos(20, 90)
+ # no_sim_power_screen_cancel_btn.add_flag(lv.obj.FLAG.CLICKABLE)
+ # no_sim_power_screen_cancel_btn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ # poweroff_return_label = lv.label(no_sim_power_screen_cancel)
+ # poweroff_return_label.set_text("取消")
+ # poweroff_return_label.align(lv.ALIGN.CENTER, 0, 0)
+ # poweroff_return_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ # no_sim_power_screen_cancel.set_ext_click_area(20)
+
+ no_sim_power_screen_cancel = lv.btn(no_sim_power_screen)
+ no_sim_power_screen_cancel.set_pos(int(20),int(98))
+ no_sim_power_screen_cancel.set_size(88,23)
+ no_sim_power_screen_cancel.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ screen_btn_1_label = lv.label(no_sim_power_screen_cancel)
+ screen_btn_1_label.set_text("取消")
+ no_sim_power_screen_cancel.set_style_pad_all(0, lv.STATE.DEFAULT)
+ screen_btn_1_label.align(lv.ALIGN.CENTER,0,0)
+ # create style style_screen_btn_1_main_main_default
+ style_screen_btn_1_main_main_default = lv.style_t()
+ style_screen_btn_1_main_main_default.init()
+ style_screen_btn_1_main_main_default.set_radius(20)
+ style_screen_btn_1_main_main_default.set_bg_color(lv.color_make(7,222,169))
+ style_screen_btn_1_main_main_default.set_bg_grad_color(lv.color_make(7,222,169))
+ style_screen_btn_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+ style_screen_btn_1_main_main_default.set_bg_opa(255)
+ style_screen_btn_1_main_main_default.set_border_color(lv.color_make(7,222,169))
+ style_screen_btn_1_main_main_default.set_border_width(0)
+ style_screen_btn_1_main_main_default.set_border_opa(255)
+ style_screen_btn_1_main_main_default.set_text_color(lv.color_make(0xff,0xff,0xff))
+ style_screen_btn_1_main_main_default.set_text_font(lv.K01_font_16_ALL)
+ style_screen_btn_1_main_main_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+ # add style for screen_btn_1
+ no_sim_power_screen_cancel.add_style(style_screen_btn_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
self.meta = no_sim_power_screen
- no_sim_power_screen_comfirm_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),
+ no_sim_power_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,0)),
+ lv.EVENT.GESTURE, None)
+ no_sim_power_screen_comfirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,1)),
lv.EVENT.SHORT_CLICKED, None)
- no_sim_power_screen_cancel_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.cancel(e)),
+ no_sim_power_screen_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,2)),
lv.EVENT.SHORT_CLICKED, None)
+ def button_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.SHORT_CLICKED:
+ if msg != 0:
+ if msg == 1:
+ self.confirm(0)
+ elif msg == 2:
+ self.cancel(0)
+ # EventMesh.publish("load_screen", {"screen": "{}".format(msg)})
+
def confirm(self,e):
EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
self.timer2 = osTimer()
self.CALL_LOG_MAX = CALL_LOG_MAX
self.read_call_log = {}
-
+ self.phone_page_state = 0
+ EventMesh.subscribe("get_phone_state",self.get_phone_state)
+
+ def get_phone_state(self,event,msg):
+ return self.phone_page_state
+
def initialization(self):
EventMesh.publish("set_UI_high_priority", 1)
+ self.phone_page_state = 1
global dialing_popup_screen,dialing_popup_img,dialing_popup_name ,dialing_popup_call,dialing_popup_hangup_imgbtn
if dialing_popup_screen == None:
dialing_popup_screen = lv.obj()
dialing_popup_call = lv.label(dialing_popup_screen)
dialing_popup_call.set_pos(0, 50)
- dialing_popup_call.set_size(LCD_X, 20)
+ dialing_popup_call.set_size(LCD_X, 40)
dialing_popup_call.set_text("正在拨号中")
dialing_popup_call.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
dialing_popup_call.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
if dialing_popup_name != None:
name = EventMesh.publish("get_phonename")#获取拨打电话名称
dialing_popup_name.set_text(name)#名称
+ if dialing_popup_call != None:
+ dialing_popup_call.set_text("正在拨号中")
+
def post_processor_after_initialization(self):
self.time_count = 0
voiceCall.callStart(phone_num)
def timeout_hangup(self,e):
- EventMesh.publish("system_sleep_rest")#防止黑屏
+ flag = EventMesh.publish("get_lcd_state")
+ if flag == 1:
+ EventMesh.publish("system_sleep_rest")#防止黑屏
+ if EventMesh.publish("get_call_state") == 4:
+ if dialing_popup_call != None:
+ dialing_popup_call.set_text("正在等待对方接听\n听电话")
self.time_count+=1
- if self.time_count >= 5:#5s内没有打通则不在继续拨打关闭
+ if self.time_count >= 60:#5s内没有打通则不在继续拨打关闭
self.time_count = 0
+ self.phone_page_state = 0
self.timer1.stop()
+ self.timer2.stop()
EventMesh.publish("set_UI_high_priority", 0)
+
sos_flag = EventMesh.publish("get_sos_flag")
print("sos_flag!!!!!!!!!!!!!!!!:",sos_flag)
if sos_flag == 1:
- EventMesh.publish("set_sos_info_call")
-
- EventMesh.publish("load_screen", {"screen": "dial_no_connect_popup"})
+ EventMesh.publish("set_sos_info_call")
+ EventMesh.publish("set_interrup_incall",0)
+ EventMesh.publish("set_UI_high_priority",0)
+ EventMesh.publish("set_call_state",0)#设置通话状态为0
+ voiceCall.callEnd()
+ EventMesh.publish("return_prev_screen")
def hangup(self,e):
+ self.phone_page_state = 0
+ self.timer1.stop()
+ self.timer2.stop()
EventMesh.publish("set_UI_high_priority", 0)
- voiceCall.callEnd()
+
sos_flag = EventMesh.publish("get_sos_flag")
if sos_flag == 1:
EventMesh.publish("close_sos_timer")
EventMesh.publish("set_hangup_mode",0)
EventMesh.publish("set_interrup_incall",0)
EventMesh.publish("set_UI_high_priority",0)
+ EventMesh.publish("set_call_state",0)#设置通话状态为0
+ voiceCall.callEnd()
EventMesh.publish("return_prev_screen")
# EventMesh.publish("load_screen", {"screen": "main_menu"})
def Close(self):
+ self.phone_page_state = 0
self.timer1.stop()
self.timer2.stop()
self.meta_type = "popup"
self.aud = audio.Audio(0)
self.call_timer = osTimer()
+ self.call_timer1 = osTimer()
self.name = None
self.phonebook = {}
self.pro_state = 0
self.meta = None
-
+ self.timeout = 0
self.call_log = {}
self.call_log_value = {}
lv.EVENT.SHORT_CLICKED, None)
self.meta = incoming_call_screen
EventMesh.publish("set_UI_high_priority", 1)
+ self.timeout = 0
+ self.call_timer1.start(1*1000, 1, self.lcd_refresh)
def post_processor_after_initialization(self):
self.call_timer.start(6000, 1, self.call_timer_cb)
self.aud.play(1, 1, 'U:/static/R_CALL_mp3.mp3') #播放来电铃声
+ def lcd_refresh(self,*argc):
+ flag = EventMesh.publish("get_lcd_state")
+ if flag == 1:
+ EventMesh.publish("system_sleep_rest")#防止黑屏
+
+ self.timeout+=1
+ if self.timeout >= 60:
+ self.timeout = 0
+ self.hangup(0)
+
def call_timer_cb(self,e):
- self.aud.play(1, 1, 'U:/static/R_CALL_mp3.mp3') #播放来电铃声
+ self.aud.play(1, 1, 'U:/static/R_CALL_mp3.mp3') #播放来电铃声
def answer(self,e):
+ self.call_timer1.stop()
self.call_timer.stop()
self.aud.stop()
EventMesh.publish("set_UI_high_priority", 0)
num = 8
self.aud.setVolume(num)
self.call_timer.stop()
+ self.call_timer1.stop()
self.aud.stop()
def hangup(self,e):
EventMesh.publish("set_UI_high_priority", 0)
self.aud.stop()
+ self.call_timer1.stop()
self.call_timer.stop()
+ EventMesh.publish("set_call_state",0)#设置通话状态为0
voiceCall.callEnd()
EventMesh.publish("set_interrup_incall",0)
EventMesh.publish("set_UI_high_priority",0)
-
- screen_NAME = EventMesh.publish("get_screen_NAME")
- if screen_NAME != None:
- if screen_NAME != "dialing_noplay_popup":
- EventMesh.publish("return_prev_screen")
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
def btn1_release(self):
def refresh(self,e):
- # print("call_in")
- global on_call_screen,on_call_label_name,on_call_second_label ,on_call_hangup
- min = self.count_sec/60
- sec = self.count_sec%60
- if min > 99:
- total = "%03d:%02d"%(min,sec)
- else:
- total = "%02d:%02d"%(min,sec)
- on_call_second_label.set_text(str(total))
+ flag = EventMesh.publish("get_lcd_state")
+ if flag == 1:
+ # print("call_in")
+ global on_call_screen,on_call_label_name,on_call_second_label ,on_call_hangup
+ min = self.count_sec/60
+ sec = self.count_sec%60
+ if min > 99:
+ total = "%03d:%02d"%(min,sec)
+ else:
+ total = "%02d:%02d"%(min,sec)
+ on_call_second_label.set_text(str(total))
self.count_sec+=1
def hangup(self,e):
EventMesh.publish("set_UI_high_priority", 0)
self.timer.stop()
+ EventMesh.publish("set_call_state",0)#设置通话状态为0
voiceCall.callEnd()
EventMesh.publish("set_interrup_incall",0)
EventMesh.publish("set_UI_high_priority",0)
-
- screen_NAME = EventMesh.publish("get_screen_NAME")
- if screen_NAME != None:
- if screen_NAME != "dialing_noplay_popup":
- EventMesh.publish("return_prev_screen")
+ EventMesh.publish("return_prev_screen")
# EventMesh.publish("load_screen", {"screen": "main_menu"})
def Close(self):
self.aud.setVolume(self.volum_size)
self.timer.stop()
voiceCall.mute(2,0,0)
+ def lcd_on(self):
+ global on_call_second_label
+ if on_call_second_label != 0:
+ min = self.count_sec/60
+ sec = self.count_sec%60
+ if min > 99:
+ total = "%03d:%02d"%(min,sec)
+ else:
+ total = "%02d:%02d"%(min,sec)
+ on_call_second_label.set_text(str(total))
def btn1_release(self):
pass
sos_screen_label.set_pos(0,25)
sos_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- sos_screen_confirm_img = lv.img(sos_screen)
- sos_screen_confirm_img.set_size(88, 23)
- sos_screen_confirm_img.set_pos(20, 65)
- sos_screen_confirm_img.set_src("U:/static/off_icon.png")
- sos_screen_confirm_img.add_flag(lv.obj.FLAG.CLICKABLE)
- sos_screen_confirm_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- sos_screen_confirm_label = lv.label(sos_screen_confirm_img)
- sos_screen_confirm_label.set_text("确定")
- sos_screen_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
- sos_screen_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- sos_screen_return = lv.img(sos_screen)
- sos_screen_return.set_size(88, 23)
- sos_screen_return.set_pos(20, 98)
- sos_screen_return.set_src("U:/static/cancel_icon.png")
- sos_screen_return.add_flag(lv.obj.FLAG.CLICKABLE)
- sos_screen_return.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- sos_screen_return_label = lv.label(sos_screen_return)
- sos_screen_return_label.set_text("取消")
- sos_screen_return_label.align(lv.ALIGN.CENTER, 0, 0)
- sos_screen_return_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- sos_screen_return_label.set_ext_click_area(20)
+ sos_screen_confirm_img = lv.btn(sos_screen)
+ sos_screen_confirm_img.set_pos(int(20),int(64))
+ sos_screen_confirm_img.set_size(88,23)
+ sos_screen_confirm_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ screen_btn_1_label = lv.label(sos_screen_confirm_img)
+ screen_btn_1_label.set_text("确定")
+ sos_screen_confirm_img.set_style_pad_all(0, lv.STATE.DEFAULT)
+ screen_btn_1_label.align(lv.ALIGN.CENTER,0,0)
+ # create style style_screen_btn_1_main_main_default
+ style_screen_btn_1_main_main_default = lv.style_t()
+ style_screen_btn_1_main_main_default.init()
+ style_screen_btn_1_main_main_default.set_radius(20)
+ style_screen_btn_1_main_main_default.set_bg_color(lv.color_make(249,47,109))
+ style_screen_btn_1_main_main_default.set_bg_grad_color(lv.color_make(249,47,109))
+ style_screen_btn_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+ style_screen_btn_1_main_main_default.set_bg_opa(255)
+ style_screen_btn_1_main_main_default.set_border_color(lv.color_make(249,47,109))
+ style_screen_btn_1_main_main_default.set_border_width(0)
+ style_screen_btn_1_main_main_default.set_border_opa(255)
+ style_screen_btn_1_main_main_default.set_text_color(lv.color_make(0xff,0xff,0xff))
+ style_screen_btn_1_main_main_default.set_text_font(lv.K01_font_16_ALL)
+ style_screen_btn_1_main_main_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+ # add style for screen_btn_1
+ sos_screen_confirm_img.add_style(style_screen_btn_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+
+ # sos_screen_confirm_img = lv.img(sos_screen)
+ # sos_screen_confirm_img.set_size(88, 23)
+ # sos_screen_confirm_img.set_pos(20, 65)
+ # sos_screen_confirm_img.set_src("U:/static/off_icon.png")
+ # sos_screen_confirm_img.add_flag(lv.obj.FLAG.CLICKABLE)
+ # sos_screen_confirm_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ # sos_screen_confirm_label = lv.label(sos_screen_confirm_img)
+ # sos_screen_confirm_label.set_text("确定")
+ # sos_screen_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
+ # sos_screen_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ # sos_screen_return = lv.img(sos_screen)
+ # sos_screen_return.set_size(88, 23)
+ # sos_screen_return.set_pos(20, 98)
+ # sos_screen_return.set_src("U:/static/cancel_icon.png")
+ # sos_screen_return.add_flag(lv.obj.FLAG.CLICKABLE)
+ # sos_screen_return.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ # sos_screen_return_label = lv.label(sos_screen_return)
+ # sos_screen_return_label.set_text("取消")
+ # sos_screen_return_label.align(lv.ALIGN.CENTER, 0, 0)
+ # sos_screen_return_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ # sos_screen_return_label.set_ext_click_area(20)
+
+ sos_screen_return = lv.btn(sos_screen)
+ sos_screen_return.set_pos(int(20),int(98))
+ sos_screen_return.set_size(88,23)
+ sos_screen_return.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ screen_btn_1_label = lv.label(sos_screen_return)
+ screen_btn_1_label.set_text("取消")
+ sos_screen_return.set_style_pad_all(0, lv.STATE.DEFAULT)
+ screen_btn_1_label.align(lv.ALIGN.CENTER,0,0)
+ # create style style_screen_btn_1_main_main_default
+ style_screen_btn_1_main_main_default = lv.style_t()
+ style_screen_btn_1_main_main_default.init()
+ style_screen_btn_1_main_main_default.set_radius(20)
+ style_screen_btn_1_main_main_default.set_bg_color(lv.color_make(7,222,169))
+ style_screen_btn_1_main_main_default.set_bg_grad_color(lv.color_make(7,222,169))
+ style_screen_btn_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+ style_screen_btn_1_main_main_default.set_bg_opa(255)
+ style_screen_btn_1_main_main_default.set_border_color(lv.color_make(7,222,169))
+ style_screen_btn_1_main_main_default.set_border_width(0)
+ style_screen_btn_1_main_main_default.set_border_opa(255)
+ style_screen_btn_1_main_main_default.set_text_color(lv.color_make(0xff,0xff,0xff))
+ style_screen_btn_1_main_main_default.set_text_font(lv.K01_font_16_ALL)
+ style_screen_btn_1_main_main_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+ # add style for screen_btn_1
+ sos_screen_return.add_style(style_screen_btn_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
self.meta = sos_screen
- sos_screen_confirm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.timer_comfirm_cb(e)),
+
+ sos_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,0)),
+ lv.EVENT.GESTURE, None)
+ sos_screen_confirm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,1)),
lv.EVENT.SHORT_CLICKED, None)
- sos_screen_return.add_event_cb(lambda e: EventMesh.callback_wrapper(self.timer_cancel_cb(e)),
+ sos_screen_return.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,2)),
lv.EVENT.SHORT_CLICKED, None)
+ def button_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.SHORT_CLICKED:
+ if msg != 0:
+ if msg == 1:
+ self.timer_comfirm_cb(0)
+ elif msg == 2:
+ self.timer_cancel_cb(0)
+
def timer_comfirm_cb(self,e):
EventMesh.publish("set_sos_flag", 1)
no_sim_auto_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
no_sim_auto_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- no_sim_auto_screen_comfirm = lv.img(no_sim_auto_screen)
- no_sim_auto_screen_comfirm.set_size(88, 23)
- no_sim_auto_screen_comfirm.set_pos(20, 64)
- no_sim_auto_screen_comfirm.set_src("U:/static/off_icon.png")
- no_sim_auto_screen_comfirm.add_flag(lv.obj.FLAG.CLICKABLE)
- no_sim_auto_screen_comfirm.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- no_sim_confirm_label = lv.label(no_sim_auto_screen_comfirm)
- no_sim_confirm_label.set_text("确定")
- no_sim_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
- no_sim_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- no_sim_auto_screen_cancel = lv.img(no_sim_auto_screen)
- no_sim_auto_screen_cancel.set_size(88, 23)
- no_sim_auto_screen_cancel.set_pos(20, 95)
- no_sim_auto_screen_cancel.set_src("U:/static/cancel_icon.png")
- no_sim_auto_screen_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
- no_sim_auto_screen_cancel.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- no_sim_cancel_label = lv.label(no_sim_auto_screen_cancel)
- no_sim_cancel_label.set_text("取消")
- no_sim_cancel_label.align(lv.ALIGN.CENTER, 0, 0)
- no_sim_cancel_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- no_sim_auto_screen_cancel.set_ext_click_area(20)
+ no_sim_auto_screen_comfirm = lv.btn(no_sim_auto_screen)
+ no_sim_auto_screen_comfirm.set_pos(int(20),int(64))
+ no_sim_auto_screen_comfirm.set_size(88,23)
+ no_sim_auto_screen_comfirm.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ screen_btn_1_label = lv.label(no_sim_auto_screen_comfirm)
+ screen_btn_1_label.set_text("确定")
+ no_sim_auto_screen_comfirm.set_style_pad_all(0, lv.STATE.DEFAULT)
+ screen_btn_1_label.align(lv.ALIGN.CENTER,0,0)
+ # create style style_screen_btn_1_main_main_default
+ style_screen_btn_1_main_main_default = lv.style_t()
+ style_screen_btn_1_main_main_default.init()
+ style_screen_btn_1_main_main_default.set_radius(20)
+ style_screen_btn_1_main_main_default.set_bg_color(lv.color_make(249,47,109))
+ style_screen_btn_1_main_main_default.set_bg_grad_color(lv.color_make(249,47,109))
+ style_screen_btn_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+ style_screen_btn_1_main_main_default.set_bg_opa(255)
+ style_screen_btn_1_main_main_default.set_border_color(lv.color_make(249,47,109))
+ style_screen_btn_1_main_main_default.set_border_width(0)
+ style_screen_btn_1_main_main_default.set_border_opa(255)
+ style_screen_btn_1_main_main_default.set_text_color(lv.color_make(0xff,0xff,0xff))
+ style_screen_btn_1_main_main_default.set_text_font(lv.K01_font_16_ALL)
+ style_screen_btn_1_main_main_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+ # add style for screen_btn_1
+ no_sim_auto_screen_comfirm.add_style(style_screen_btn_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+ # no_sim_auto_screen_comfirm = lv.img(no_sim_auto_screen)
+ # no_sim_auto_screen_comfirm.set_size(88, 23)
+ # no_sim_auto_screen_comfirm.set_pos(20, 64)
+ # no_sim_auto_screen_comfirm.set_src("U:/static/off_icon.png")
+ # no_sim_auto_screen_comfirm.add_flag(lv.obj.FLAG.CLICKABLE)
+ # no_sim_auto_screen_comfirm.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ # no_sim_confirm_label = lv.label(no_sim_auto_screen_comfirm)
+ # no_sim_confirm_label.set_text("确定")
+ # no_sim_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
+ # no_sim_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ # no_sim_auto_screen_cancel = lv.img(no_sim_auto_screen)
+ # no_sim_auto_screen_cancel.set_size(88, 23)
+ # no_sim_auto_screen_cancel.set_pos(20, 95)
+ # no_sim_auto_screen_cancel.set_src("U:/static/cancel_icon.png")
+ # no_sim_auto_screen_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
+ # no_sim_auto_screen_cancel.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ # no_sim_cancel_label = lv.label(no_sim_auto_screen_cancel)
+ # no_sim_cancel_label.set_text("取消")
+ # no_sim_cancel_label.align(lv.ALIGN.CENTER, 0, 0)
+ # no_sim_cancel_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ # no_sim_auto_screen_cancel.set_ext_click_area(20)
+
+ no_sim_auto_screen_cancel = lv.btn(no_sim_auto_screen)
+ no_sim_auto_screen_cancel.set_pos(int(20),int(98))
+ no_sim_auto_screen_cancel.set_size(88,23)
+ no_sim_auto_screen_cancel.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ screen_btn_1_label = lv.label(no_sim_auto_screen_cancel)
+ screen_btn_1_label.set_text("取消")
+ no_sim_auto_screen_cancel.set_style_pad_all(0, lv.STATE.DEFAULT)
+ screen_btn_1_label.align(lv.ALIGN.CENTER,0,0)
+ # create style style_screen_btn_1_main_main_default
+ style_screen_btn_1_main_main_default = lv.style_t()
+ style_screen_btn_1_main_main_default.init()
+ style_screen_btn_1_main_main_default.set_radius(20)
+ style_screen_btn_1_main_main_default.set_bg_color(lv.color_make(7,222,169))
+ style_screen_btn_1_main_main_default.set_bg_grad_color(lv.color_make(7,222,169))
+ style_screen_btn_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+ style_screen_btn_1_main_main_default.set_bg_opa(255)
+ style_screen_btn_1_main_main_default.set_border_color(lv.color_make(7,222,169))
+ style_screen_btn_1_main_main_default.set_border_width(0)
+ style_screen_btn_1_main_main_default.set_border_opa(255)
+ style_screen_btn_1_main_main_default.set_text_color(lv.color_make(0xff,0xff,0xff))
+ style_screen_btn_1_main_main_default.set_text_font(lv.K01_font_16_ALL)
+ style_screen_btn_1_main_main_default.set_text_align(lv.TEXT_ALIGN.CENTER)
+
+ # add style for screen_btn_1
+ no_sim_auto_screen_cancel.add_style(style_screen_btn_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
self.meta = no_sim_auto_screen
- no_sim_auto_screen_comfirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),
+ no_sim_auto_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,0)),
+ lv.EVENT.GESTURE, None)
+ no_sim_auto_screen_comfirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,1)),
lv.EVENT.SHORT_CLICKED, None)
- no_sim_auto_screen_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.cancel(e)),
+ no_sim_auto_screen_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e,2)),
lv.EVENT.SHORT_CLICKED, None)
self.timer.start(1*1000,1,self.fun)
self.count = 0
def Close(self):
self.count = 0
self.timer.stop()
+ def button_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.SHORT_CLICKED:
+ if msg != 0:
+ if msg == 1:
+ self.confirm(0)
+ elif msg == 2:
+ self.cancel(0)
+ # EventMesh.publish("load_screen", {"screen": "{}".format(msg)})
def confirm(self,e):
EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
print("SystemInitScreen")
system_init_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
- system_init_label = lv.label(system_init_screen)
- system_init_label.set_pos(0, 50)
- system_init_label.set_size(128, 20)
- system_init_label.set_text("系统初始化中")
- system_init_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- system_init_label.set_long_mode(lv.label.LONG.WRAP)
- system_init_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ poweron_img = lv.img(system_init_screen)
+ poweron_img.set_size(80,80)
+ poweron_img.set_pos(24,24)
+ poweron_img.set_src("U:/static/AI_MAIN_ICON.png")
+ # screen_slider_img.add_flag(lv.obj.FLAG.CLICKABLE)
+ poweron_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ # system_init_label = lv.label(system_init_screen)
+ # system_init_label.set_pos(0, 50)
+ # system_init_label.set_size(128, 20)
+ # system_init_label.set_text("WELCOME")
+ # system_init_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ # system_init_label.set_long_mode(lv.label.LONG.WRAP)
+ # system_init_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
self.meta = system_init_screen
self.system_init_timer_count = 0
self.system_init_timer.start(1000, 1, self.system_init_timer_cb)
def system_init_timer_cb(self, *args):
EventMesh.publish("system_sleep_rest")#防止黑屏
- self.system_init_timer_count += 1
- if self.system_init_timer_count > 4:
- self.system_init_timer_count = 1
- if system_init_screen != None:
-
- system_init_label_str = "系统初始化中"
- if self.system_init_timer_count == 1:
- system_init_label.set_text("系统初始化中.")
- elif self.system_init_timer_count == 2:
- system_init_label.set_text("系统初始化中..")
- elif self.system_init_timer_count == 3:
- system_init_label.set_text("系统初始化中...")
- else:
- system_init_label.set_text("系统初始化中....")
+ # self.system_init_timer_count += 1
+ # if self.system_init_timer_count > 4:
+ # self.system_init_timer_count = 1
+ # if system_init_screen != None:
+
+ # system_init_label_str = "系统初始化中"
+ # if self.system_init_timer_count == 1:
+ # system_init_label.set_text("系统初始化中.")
+ # elif self.system_init_timer_count == 2:
+ # system_init_label.set_text("系统初始化中..")
+ # elif self.system_init_timer_count == 3:
+ # system_init_label.set_text("系统初始化中...")
+ # else:
+ # system_init_label.set_text("系统初始化中....")
def Close(self):
self.system_init_timer.stop()
EventMesh.publish("watch_top_show")
EventMesh.publish("load_screen", {"screen": "main_menu"})
-camera_popup_screen = None
-camera_popup_label = None
-camera_img_test = None
-def camCapturecallback(result_list):
- print("camCapturecallback",result_list)
- if result_list[0] == 0:#保存成功
- file = str(result_list[1])
- tmp = file.split('/')[3]
- tmp = tmp.split("_camera")[0]
- time = int(tmp)
- album_data = int(EventMesh.publish("get_camera_num"))
- if album_data >= 1:
- album_data=1
- print("album_data",album_data)
- EventMesh.publish("set_camera_num",album_data+1)
- EventMesh.publish("save_album_succ",1)
- pass
- pass
-#gpio_CAM_PWDN = Pin(Pin.GPIO42, Pin.OUT, Pin.PULL_DISABLE, 0)
-dec = camera.camCapture(0,240,320,1,128,128)
-dec.callback(camCapturecallback)
-
-camera_full_popup_screen = None
-camera_full_label_popup_screen = None
-class cameraFullScreen(Screen):#相册已满
- #
- NAME = "camera_full"
-
+
+rrestor_confirm_n_screen = None
+rrestor_confirm_n_screen_label = None
+
+#
+class restore_confirmScreen(Screen):
+ NAME = "restore_confirm"
def __init__(self):
super().__init__()
self.meta = None
self.meta_type = "popup"
+ self.count = 0
+ self.timer1 = osTimer()
+ self.timer2 = osTimer()
+ self.timer3 = osTimer()
+ EventMesh.subscribe("app_factory_cb",self.app_factory_cb)
def initialization(self):
- global camera_full_popup_screen ,camera_full_label_popup_screen
-
-
- if camera_full_popup_screen == None:
- camera_full_popup_screen = lv.obj()
- print("camera_full")
- camera_full_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+ global rrestor_confirm_n_screen ,rrestor_confirm_n_screen_label
+ if rrestor_confirm_n_screen == None :
+ rrestor_confirm_n_screen = lv.obj()
+ print("rrestor_confirm_n_screen")
+ rrestor_confirm_n_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ # add style for watchface
+ rrestor_confirm_n_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
+ #进入图片
- camera_full_label_popup_screen = lv.label(camera_full_popup_screen)
- camera_full_label_popup_screen.set_pos(0, 50)
- camera_full_label_popup_screen.set_size(128, 40)
- camera_full_label_popup_screen.set_text("相册已满,删除即可拍照")
- camera_full_label_popup_screen.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- camera_full_label_popup_screen.set_long_mode(lv.label.LONG.WRAP)
- camera_full_label_popup_screen.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- self.meta = camera_full_popup_screen
+ rrestor_confirm_n_screen_label = lv.label(rrestor_confirm_n_screen)
+ rrestor_confirm_n_screen_label.set_pos(0, 40)
+ rrestor_confirm_n_screen_label.set_size(128, 60)
+ rrestor_confirm_n_screen_label.set_text("正在恢复出厂中\n请稍等...")
+ rrestor_confirm_n_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ rrestor_confirm_n_screen_label.set_long_mode(lv.label.LONG.WRAP)
+ rrestor_confirm_n_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- def done_click(self):
- EventMesh.publish("return_prev_screen")
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-
- def done_return(self):
- EventMesh.publish("return_prev_screen")
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
+ self.meta = rrestor_confirm_n_screen
+ self.timer1.start(1000,1,self.timer_cb_onescond)
+ ret = 0
+ ret = ql_fs.path_exists("/usr/static/storage_file")#电话本
+ if ret == True:
+ ql_fs.rmdirs("/usr/static/storage_file")
+ ql_fs.mkdirs("/usr/static/storage_file")
+
+ if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#已连接服务器发指令恢复出厂
+ EventMesh.publish(constants.PROTOCOL.DLT_SEND)
+ self.timer2.start(4000,0,self.timer_cb_threescond)
- def btn1_release(self):
- EventMesh.publish("return_prev_screen")
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ def app_factory_cb(self,event,msg):
+ ret = 0
+ ret = ql_fs.path_exists("/ext/static/storage_file")#电话本
+ if ret == True:
+ ql_fs.rmdirs("/ext/static/storage_file")
+ ql_fs.mkdirs("/ext/static/storage_file")
+ EventMesh.publish("alipay_unbind")
+ if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#已连接服务器发指令恢复出厂
+ EventMesh.publish(constants.PROTOCOL.DLT_SEND)
+ self.timer3.start(4000,0,self.timer_cb_threescond)
pass
-delete_album_popup_screen = None
-delete_album_label_popup_screen = None
-class deletealbumScreen(Screen):#删除图片
- #
- NAME = "delete_album"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.meta_type = "popup"
+ def Close(self):
+ self.timer1.stop()
+ self.timer2.stop()
+ def timer_cb_threescond(self,e):
- def initialization(self):
- global delete_album_popup_screen ,delete_album_label_popup_screen
-
-
- if delete_album_popup_screen == None:
- delete_album_popup_screen = lv.obj()
- print("delete_album_popup_screen")
- delete_album_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+ Power.powerRestart()
- delete_album_label_popup_screen = lv.label(delete_album_popup_screen)
- delete_album_label_popup_screen.set_pos(0, 50)
- delete_album_label_popup_screen.set_size(128, 40)
- delete_album_label_popup_screen.set_text("删除成功")
- delete_album_label_popup_screen.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- delete_album_label_popup_screen.set_long_mode(lv.label.LONG.WRAP)
- delete_album_label_popup_screen.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- self.meta = delete_album_popup_screen
+ def timer_cb_onescond(self,e):
+ EventMesh.publish("system_sleep_rest")#防止黑屏
- def done_click(self):
- EventMesh.publish("return_prev_screen")
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
+ def done_left_to_right(self):
pass
-
-
- def done_return(self):
- EventMesh.publish("return_prev_screen")
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- EventMesh.publish("return_prev_screen")
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
+ def done_right_to_left(self):
pass
-
- def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ def done_bottom_to_top(self):
pass
-import jrtc
-class cameraScreen(Screen):#相机拍照二级界面
- #
- NAME = "camera"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.preview1 = None
- self.timer = osTimer()
- self.timer2 = osTimer()
- self.timer3 = osTimer()
- self.camera_num = 0
- EventMesh.subscribe("save_album_succ",self.save_album_succ)
-
- def initialization(self):
- global camera_popup_screen ,camera_popup_label,camera_img_test
- # dec = camera.camCapture(0,240,320,1,128,128)
- # dec.callback(camCapturecallback)
- #gpio_CAM_PWDN.write(0)
- state = dec.open()
- dec.set_rotate(3)
-
- if camera_popup_screen == None:
- camera_popup_screen = lv.obj()
- print("camera_popup_screen")
- camera_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- camera_img_test = lv.img(camera_popup_screen)
- # img_test.set_src("U:/hang_up.png")
- ret = dec.set_img(camera_img_test)
-
- camera_img_test.align(lv.ALIGN.CENTER, 0, 0)
- camera_img_test.set_size(128,128)
-
-
- camera_camera_btn = lv.img(camera_popup_screen)
- camera_camera_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_camera_btn.set_pos(48, 90)
- camera_camera_btn.set_size(30,30)
- camera_camera_btn.set_src("U:/static/camera_btn.png")
- # camera_camera_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_click(e)), lv.EVENT.SHORT_CLICKED, None)
-
- camera_camera_album_btn = lv.img(camera_popup_screen)
- camera_camera_album_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_camera_album_btn.set_pos(100, 10)
- camera_camera_album_btn.set_size(20,20)
- camera_camera_album_btn.set_src("U:/static/camera_album_btn.png")
- # camera_camera_album_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_album_click(e)), lv.EVENT.SHORT_CLICKED, None)
-
- camera_camera_return_btn = lv.img(camera_popup_screen)
- camera_camera_return_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_camera_return_btn.set_pos(0, 10)
- camera_camera_return_btn.set_size(18,18)
- camera_camera_return_btn.set_src("U:/static/RED_RETURN_PNG.png")
- # camera_camera_return_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_album_click(e)), lv.EVENT.SHORT_CLICKED, None)
-
- camera_camera_return_btn_label = lv.label(camera_popup_screen)
- camera_camera_return_btn_label.set_pos(0, 0)
- camera_camera_return_btn_label.set_size(40, 40)
- camera_camera_return_btn_label.set_text(" ")
- camera_camera_return_btn_label.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_camera_return_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_return_click(e)), lv.EVENT.SHORT_CLICKED, None)
-
- camera_camera_album_btn_label = lv.label(camera_popup_screen)
- camera_camera_album_btn_label.set_pos(80, 0)
- camera_camera_album_btn_label.set_size(48, 40)
- camera_camera_album_btn_label.set_text(" ")
- camera_camera_album_btn_label.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_camera_album_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_album_click(e)), lv.EVENT.SHORT_CLICKED, None)
-
- camera_camera_btn_label = lv.label(camera_popup_screen)
- camera_camera_btn_label.set_pos(40, 88)
- camera_camera_btn_label.set_size(50, 40)
- camera_camera_btn_label.set_text(" ")
- camera_camera_btn_label.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_camera_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_click(e)), lv.EVENT.SHORT_CLICKED, None)
-
- camera_popup_label = lv.label(camera_popup_screen)
- camera_popup_label.set_pos(0, 40)
- camera_popup_label.set_size(128, 20)
- camera_popup_label.set_text("保存成功")
- camera_popup_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- camera_popup_label.set_long_mode(lv.label.LONG.WRAP)
- camera_popup_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- camera_popup_label.add_flag(lv.obj.FLAG.HIDDEN)
-
- self.meta = camera_popup_screen
-
-
-
- album_data = EventMesh.publish("get_camera_num")
- if int(album_data) >= 1:#相册已满
- # EventMesh.publish("load_screen", {"screen": "camera_full"})
- pass
- if camera_popup_label != None:
- camera_popup_label.add_flag(lv.obj.FLAG.HIDDEN)
- self.timer.start(1*1000,1,self.fun)
-
- def save_album_succ(self,event,msg):
- global camera_popup_label
- if camera_popup_label != None:
- if msg == 1:
- camera_popup_label.clear_flag(lv.obj.FLAG.HIDDEN)
- else:
- camera_popup_label.add_flag(lv.obj.FLAG.HIDDEN)
-
- self.timer3.start(1*2000,0,self.save_suc_album)#延迟1s保存图片
+ def done_top_to_bottom(self):
pass
-
- def fun(self,*argc):
- EventMesh.publish("system_sleep_rest")#防止黑屏
-
- def camera_click(self,e):
- self.timer3.stop()
- EventMesh.publish("save_album_succ",2)
- album_data = EventMesh.publish("get_camera_num")
- if album_data != None:
- if int(album_data) >= 1:#相册已满
- EventMesh.publish("load_screen", {"screen": "camera_full"})
- return
- self.timer2.start(1*1000,0,self.save_album)#延迟1s保存图片
-
- def camera_album_click(self,e):
- EventMesh.publish("load_screen", {"screen": "camera_album"})
-
- def camera_return_click(self,e):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
- def Close(self):
- self.timer.stop()
- self.timer2.stop()
- self.timer3.stop()
- # dec.remove_img()
- state = dec.close()
- #gpio_CAM_PWDN.write(1)
- print("close camera {}!!!!!!!".format(state))
-
- def save_suc_album(self,*argc):
- EventMesh.publish("save_album_succ",2)
- # def done_click(self):
- # self.timer2.start(1*1000,0,self.save_album)#延迟1s保存图片
- # pass
- def save_album(self,*argc):
- album_data = EventMesh.publish("get_camera_num")
- if int(album_data) <= 1:
- date_tmp = utime.localtime()
- time_tmp = utime.mktime(date_tmp)
- dec.start(128,128, "static/album/1_camera")
- else:
- EventMesh.publish("load_screen", {"screen": "camera_full"})
-
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ pass
+ def done_click(self):
pass
def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ pass
+ def btn1_press(self):
+ pass
+ def btn1_release(self):
pass
-camera_album_popup_screen = None
-camera_album_popup_label = None
-camera_album_popup_img = None
-imgbt_contanier = None
-camera_album_popup_img1 = None
-camera_album_popup_img2 = None
-camera_album_popup_img3 = None
-camera_album_popup_img4 = None
-camera_album_popup_img5 = None
-class cameraalbumScreen(Screen):#相册
- #
- NAME = "camera_album"
-
- def __init__(self):
- super().__init__()
- 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
-
- 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_label = lv.label(camera_album_popup_screen)
- camera_album_popup_label.set_pos(0, 60)
- camera_album_popup_label.set_size(128, 20)
- camera_album_popup_label.set_text("还没有照片")
- camera_album_popup_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- camera_album_popup_label.set_long_mode(lv.label.LONG.WRAP)
- camera_album_popup_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
- camera_album_popup_img1 = lv.img(camera_album_popup_screen)
- camera_album_popup_img1.set_pos(0, 0)
- camera_album_popup_img1.set_size(128, 128)
-
- # camera_album_popup_img1.add_flag(lv.obj.FLAG.HIDDEN)
- # camera_album_popup_img1.add_flag(lv.obj.FLAG.CLICKABLE)
- # # camera_album_popup_img1.set_zoom(256)
- # camera_album_popup_img1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,0)), lv.EVENT.SHORT_CLICKED, None)
-
- camera_album_popup_img2 = lv.img(camera_album_popup_screen)
- camera_album_popup_img2.set_pos(51, 100)
- camera_album_popup_img2.set_size(25, 25)
- 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_img3 = lv.img(camera_album_popup_screen)
- camera_album_popup_img3.set_pos(0, 10)
- camera_album_popup_img3.set_size(18,18)
- camera_album_popup_img3.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_album_popup_img3.set_src("U:/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)
-
- self.meta = camera_album_popup_screen
- read_album = 0
- read_album = EventMesh.publish("get_camera_num")
- print("read_album",read_album)
- IFEXIST = ql_fs.path_exists("/usr/static/album/1_camera.jpg")
- if IFEXIST == True:
- camera_album_popup_img1.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img1.set_src("U:/static/album/1_camera.jpg") #'U:/6_camera.jpeg'"U:/static/album/1_camera.jpg"
- camera_album_popup_img2.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img2.set_src("U:/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_label.clear_flag(lv.obj.FLAG.HIDDEN)
-
-
- def click_album(self,e,i):
- if i == 0:
- check_img = ql_fs.path_exists("/usr/static/album/1_camera.jpg")
- if check_img == True :#图片存在
- uos.remove("/usr/static/album/1_camera.jpg")#删除单张图片
- album_data = int(EventMesh.publish("get_camera_num"))
-
- EventMesh.publish("set_camera_num",album_data-1)
-
- EventMesh.publish("load_screen", {"screen": "delete_album"})
- return
-
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
- # 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)
- pass
-
- def Close(self):
- pass
-
- def done_click(self):
-
- pass
-
- def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-album_preview_popup_screen = None
-album_preview_popup_img = None
-album_preview_popup_delet_con_label = None
-album_preview_popup_delet_con_label = None
-album_preview_popup_delet_label = None
-class albumPreviewScreen(Screen):#点击预览
- #
- NAME = "album_preview"
-
- def __init__(self):
- super().__init__()
- self.meta = None
-
- def initialization(self):
- global album_preview_popup_screen ,album_preview_popup_delet_label,album_preview_popup_img,album_preview_popup_delet_can_label,album_preview_popup_delet_con_label
-
- if album_preview_popup_screen == None:
- album_preview_popup_screen = lv.obj()
- print("album_preview_popup_screen")
- album_preview_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- album_preview_popup_img = lv.img(album_preview_popup_screen)
- album_preview_popup_img.set_pos(0, 0)
- album_preview_popup_img.set_size(120,120)
- # album_preview_popup_img.set_zoom(400)
-
- album_preview_popup_delet_label = lv.label(album_preview_popup_screen)
- album_preview_popup_delet_label.set_pos(0, 65)
- album_preview_popup_delet_label.set_size(128, 20)
- album_preview_popup_delet_label.set_text("是否删除")
- album_preview_popup_delet_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- album_preview_popup_delet_label.set_long_mode(lv.label.LONG.WRAP)
- album_preview_popup_delet_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
- album_preview_popup_delet_con_label = lv.label(album_preview_popup_screen)
- album_preview_popup_delet_con_label.set_pos(0, 95)
- album_preview_popup_delet_con_label.set_size(64, 33)
- album_preview_popup_delet_con_label.set_text("确定")
- album_preview_popup_delet_con_label.add_flag(lv.obj.FLAG.CLICKABLE)
- album_preview_popup_delet_con_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- album_preview_popup_delet_con_label.set_long_mode(lv.label.LONG.WRAP)
- album_preview_popup_delet_con_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
-
- album_preview_popup_delet_can_label = lv.label(album_preview_popup_screen)
- album_preview_popup_delet_can_label.set_pos(64, 95)
- album_preview_popup_delet_can_label.set_size(64, 33)
- album_preview_popup_delet_can_label.set_text("取消")
- album_preview_popup_delet_can_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- album_preview_popup_delet_can_label.set_long_mode(lv.label.LONG.WRAP)
- album_preview_popup_delet_can_label.add_flag(lv.obj.FLAG.CLICKABLE)
- album_preview_popup_delet_can_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
- self.meta = album_preview_popup_screen
- album_num_tmp = None
- album_num_tmp = int(self.meta_info)
- print(album_num_tmp)
- album_preview_popup_delet_can_label.add_event_cb(lambda e:EventMesh.callback_wrapper(self.cancel_pop(e)),lv.EVENT.SHORT_CLICKED,None)
- album_preview_popup_delet_con_label.add_event_cb(lambda e:EventMesh.callback_wrapper(self.confirm_pop(e)),lv.EVENT.SHORT_CLICKED,None)
-
- album_preview_popup_img.set_src("U:/static/album/%d_camera.jpg"%(album_num_tmp))#'U:/6_camera.jpeg'
-
- def cancel_pop(self,e):#取消删除
- EventMesh.publish("load_screen", {"screen": "main_menu"})#点击回到相册界面
- pass
-
- def confirm_pop(self,e):#确认删除
- # album_num = int(self.meta_info.split(':')[1])
- # album_num_tmp = None
- # album_num_tmp = int(self.meta_info)
- # print(album_num_tmp)
-
- # check_img = ql_fs.path_exists("/usr/static/album/%d_camera.jpg"%(album_num_tmp))
- # if check_img == True :#图片存在
- # uos.remove("/usr/static/album/%d_camera.jpg"%(album_num_tmp))#删除单张图片
- # read_album = {}
- # read_album = EventMesh.publish("get_camera_num")#删除的同时把数据部分也清掉
- # print("img is exit1",read_album)
- # if read_album != {}:
- # key_tmp = album_num_tmp
- # del read_album[key_tmp]#删除内容
- # EventMesh.publish("set_camera_num",read_album)
- # print("img is exit2",read_album)
- # pass
- # else:#图片不存在
- # print("img is not exit")
- # pass
- EventMesh.publish("load_screen", {"screen": "camera_album"})#点击回到相册界面
- pass
-
- def Close(self):
- pass
-
- def done_click(self):
- pass
-
- def done_return(self):
-
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
-
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-voice_answer_screen = None
-voice_answer_label = None
-voice_answer_btn1 = None
-voice_answer_btn_label1 = None
-class VdieoVoiceScreen(Screen):#语音接听画面
- #
- NAME = "voice_answer"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.timer = osTimer()
- self.meta_type = "popup"
- self.count = 0
-
- def initialization(self):
- global voice_answer_screen ,video_answer_btn_label1
- self.count = 0
- if voice_answer_screen == None:
- voice_answer_screen = lv.obj()
- print("voice_answer_screen")
- voice_answer_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- video_answer_btn_label1 = lv.label(voice_answer_screen)
- video_answer_btn_label1.set_pos(0, 50)
- video_answer_btn_label1.set_text("正在接听中...")
- video_answer_btn_label1.set_size(128, 40)
- video_answer_btn_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- video_answer_btn_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- self.meta = voice_answer_screen
- EventMesh.publish("set_UI_high_priority", 1)
- self.timer.start(1*1000,1,self.fun)
- def fun(self,*argc):
- EventMesh.publish("publish_message_event_ui",{"func":self.fun_cb,"data":0})
-
- def fun_cb(self,data):
- call_state = jrtc.get_state()
- if call_state == 5:
- self.timer.stop()
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("load_screen", {"screen": "voiceing"})
- return
- if call_state == 0:
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- return
- # print("voiceing_answer call_state",call_state)
- self.count+=1
- if self.count >= 20:
-
- self.timer.stop()
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("close_jrtc_event")
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
- return
-
- EventMesh.publish("system_sleep_rest")#防止黑屏
-
-
- def Close(self):
- self.timer.stop()
-
- def done_return(self):
- pass
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-
-
-camera_voice_answer_second_label = None
-camera_voice_answer_screen = None
-camera_voice_answer_label = None
-camera_voice_answer_btn = None
-camera_voice_answer_btn_label =None
-
-class VoiceShowScreen(Screen):#正在语音通话中
- #
- NAME = "voiceing"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.preview1 = None
- self.timer = osTimer()
- self.aud = audio.Audio(0)
- self.statu_open = -1
- self.show_label = 0
- self.second_count = 0
- self.time_out = 0
- self.meta_type = "popup"
- EventMesh.subscribe("set_dev_end_video",self.set_dev_end_video)
- EventMesh.subscribe("get_dev_end_video",self.get_dev_end_video)
-
-
- def initialization(self):
- global camera_voice_answer_screen,camera_voice_answer_second_label ,camera_voice_answer_btn_label,camera_voice_answer_label,camera_voice_answer_btn
- if camera_voice_answer_screen == None:
- camera_voice_answer_screen = lv.obj()
- print("camera_voice_answer_screen")
- camera_voice_answer_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- camera_voice_answer_label = lv.label(camera_voice_answer_screen)
- camera_voice_answer_label.set_pos(0, 20)
- camera_voice_answer_label.set_text("正在通话中...")
- camera_voice_answer_label.set_size(128, 40)
- camera_voice_answer_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- camera_voice_answer_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- camera_voice_answer_second_label = lv.label(camera_voice_answer_screen)
- camera_voice_answer_second_label.set_pos(0, 50)
- camera_voice_answer_second_label.set_text(" ")
- camera_voice_answer_second_label.set_size(128, 40)
- camera_voice_answer_second_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- camera_voice_answer_second_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- camera_voice_answer_btn = lv.img(camera_voice_answer_screen)
- camera_voice_answer_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_voice_answer_btn.set_pos(48, 90)
- camera_voice_answer_btn.set_size(32,32)
- camera_voice_answer_btn.set_src("U:/static/hang_up.png")
-
- camera_voice_answer_btn_label = lv.label(camera_voice_answer_screen)
- camera_voice_answer_btn_label.set_pos(38, 80)
- camera_voice_answer_btn_label.set_text(" ")
- camera_voice_answer_btn_label.set_size(52, 48)
- camera_voice_answer_btn_label.add_flag(lv.obj.FLAG.CLICKABLE)
-
- camera_voice_answer_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.close_cb(e)), lv.EVENT.SHORT_CLICKED, None)
-
- camera_voice_answer_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.close_cb(e)), lv.EVENT.SHORT_CLICKED, None)
-
- self.meta = camera_voice_answer_screen
- call_state = jrtc.get_state()
-
- self.second_count = 0
- self.statu_open = 0
-
- self.time_out = 0
-
- EventMesh.publish("set_UI_high_priority", 1)
- if call_state == 5:#接通
- camera_voice_answer_label.set_text("正在通话中...")
- camera_voice_answer_label.set_pos(0, 20)
- camera_voice_answer_second_label.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_voice_answer_second_label.set_text("00:00")
- camera_voice_answer_second_label.set_pos(0, 50)
- # camera_voice_answer_btn.clear_flag(lv.obj.FLAG.HIDDEN)
- # camera_voice_answer_btn_label.clear_flag(lv.obj.FLAG.HIDDEN)
- else:
- camera_voice_answer_label.set_text("正在接听中...")
- camera_voice_answer_label.set_pos(0, 50)
- camera_voice_answer_second_label.add_flag(lv.obj.FLAG.HIDDEN)
- # camera_voice_answer_btn.add_flag(lv.obj.FLAG.HIDDEN)
- # camera_voice_answer_btn_label.add_flag(lv.obj.FLAG.HIDDEN)
- self.timer.start(1*1000,1,self.fun)
-
-
- def close_cb(self,e):
- self.statu_open = 1
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
-
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- EventMesh.publish("set_UI_high_priority", 0)
-
- EventMesh.publish("close_jrtc_event")
- EventMesh.publish("return_prev_screen")
-
- def get_dev_end_video(self,event,msg):#手表挂断app
- return self.statu_open
-
- def set_dev_end_video(self,event,msg):#手表挂断app
- self.statu_open = msg
-
- def fun(self,*argc):
- EventMesh.publish("publish_message_event_ui",{"func":self.fun_cb,"data":0})
-
- def fun_cb(self,data):
- EventMesh.publish("system_sleep_rest")#防止黑屏
- call_state = jrtc.get_state()
- if call_state == 5:
- camera_voice_answer_label.set_text("正在通话中...")
- camera_voice_answer_label.set_pos(0, 20)
- # camera_video_answer_label.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_voice_answer_second_label.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_voice_answer_second_label.set_pos(0, 50)
- camera_voice_answer_btn.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_voice_answer_btn_label.clear_flag(lv.obj.FLAG.HIDDEN)
-
- self.second_count+=1
- self.show_time()
-
- if call_state != 5:
- self.time_out+=1
- if self.time_out >= 60 or (call_state == 0 and self.statu_open == 0 and self.time_out >= 5):
- self.time_out = 0
- self.timer.stop()
-
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("close_jrtc_event")
- EventMesh.publish("return_prev_screen")
-
-
-
-
-
- def show_time(self):
-
- if self.second_count >= 99*60:
- total_hour = self.second_count//3600#小时
- total_min = (self.second_count%3600)//60#分钟
- total_sec = (self.second_count%3600)%60#秒
- camera_voice_answer_second_label.set_text("{}:{}:{}".format("%02d"%(total_hour),"%02d"%(total_min),"%02d"%(total_sec)))
-
- else:
- total_min = self.second_count//60
- total_sec = self.second_count%60
- camera_voice_answer_second_label.set_text("{}:{}".format("%02d"%(total_min),"%02d"%(total_sec)))
-
- def Close(self):
- num = EventMesh.publish("get_volum_size")
- if num == None:
- num = 8
- self.aud.setVolume(num)#恢复原始音量
- self.timer.stop()
-
- def done_return(self):
- pass
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-
-
-
-
-video_answer_screen = None
-video_answer_label = None
-video_answer_btn1 = None
-video_answer_btn_label1 = None
-class cameraVdieoAnswerScreen(Screen):#视频通话接听画面
- #
- NAME = "vedio_answer"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.timer = osTimer()
- self.meta_type = "popup"
- self.count = 0
-
- def initialization(self):
- global video_answer_screen ,video_answer_btn_label1
- self.count = 0
- if video_answer_screen == None:
- video_answer_screen = lv.obj()
- print("video_answer_screen")
- video_answer_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- video_answer_btn_label1 = lv.label(video_answer_screen)
- video_answer_btn_label1.set_pos(0, 50)
- video_answer_btn_label1.set_text("正在接听中...")
- video_answer_btn_label1.set_size(128, 40)
- video_answer_btn_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- video_answer_btn_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- self.meta = video_answer_screen
- EventMesh.publish("set_UI_high_priority", 1)
- self.timer.start(1*1000,1,self.fun)
-
- def fun(self,*argc):
- call_state = jrtc.get_state()
- if call_state == 5:
- self.timer.stop()
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("load_screen", {"screen": "vedioing"})
- return
- if call_state == 0:
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("return_prev_screen")
- return
- # print("vedio_answer call_state",call_state)
- self.count+=1
- if self.count >= 20:
-
- self.timer.stop()
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("close_jrtc_event")
- EventMesh.publish("return_prev_screen")
-
- return
-
- EventMesh.publish("system_sleep_rest")#防止黑屏
-
-
- def Close(self):
- self.timer.stop()
-
- def done_return(self):
- pass
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-camera_video_answer_screen = None
-camera_video_answer_second_label = None
-camera_video_answer_label = None
-camera_video_answer_btn = None
-camera_video_answer_btn_label = None
-video_img_test = None
-def jrtc_cb(close_sta):
- print("jrtc callback:", close_sta)
- if close_sta == 0 or close_sta == 1:
- jrtc.close(0)
-
-jrtc.set_callback(jrtc_cb)
-class VedioShowScreen(Screen):#正在视频通话中
- #
- NAME = "vedioing"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.preview1 = None
- self.aud = audio.Audio(0)
- self.timer = osTimer()
- self.statu_open = -1
- self.show_label = 0
- self.second_count = 0
- self.time_out = 0
- self.jrtc_init_state = 0
- self.meta_type = "popup"
- EventMesh.subscribe("open_vedio_infor",self.open_vedio_infor)
- EventMesh.subscribe("close_jrtc_event",self.close_jrtc_event)
- EventMesh.subscribe("clear_jrtc_init_state",self.clear_jrtc_init_state)#清楚jrtcinit标志防止重复init
- EventMesh.subscribe("get_jrtc_init_state",self.get_jrtc_init_state)#获取jrtcinit标志防止重复init
-
- def open_vedio_infor(self,event,msg):
- if self.jrtc_init_state == 0:
- self.jrtc_init_state = 1
- EventMesh.publish("set_dev_end_video",0)
- call_id = EventMesh.publish("get_vedio_call_id")#对方的账号
- meet_id = EventMesh.publish("get_vedio_meet_id")#共有的会议id
- call_type = EventMesh.publish("get_vedio_call_type")#呼叫类型
- tokens_data = EventMesh.publish("get_vedio_tokens_data")#tookens数据#云米平台不需要tokens
-
- # jrtc.init()
- # jrtc.config_server("119.3.54.56:1050")
- # jrtc.config("e99697f86096a74dbf635096", "us145a", "1234567890abcdef", "")
- # jrtc.open("us144a", "",[15,129,128,128],[15,120,240,320])
- # jrtc.set_cam_angle(jrtc.CAM_ROTATE_180)
-
- # data = ['6951832', '876226002021444', '1', '01lqlyqzQ4Gozdz8OJv1Mij2Y3PBq2y3+rtIA26Ge+m2QHTc/Vk=gufkGNMBiYhPjbq1tLCwtLKysLKws7a2tg==']
- jrtc.init()
- tokens = str(tokens_data)
- appkey = "efe9f8800a39d96244234097"#小见
- uid_key = "25v9C652123QL3N8"
-
- # appkey = "249e7d505516af0a7ed44097"
- # uid_key = "qQI4gkB9FxH8J2cb"
- imei = EventMesh.publish(constants.EVENT.GET_IMEI)
- oneself_id = str(imei)#自己的账号默认是imei号
- jrtc.config(appkey,oneself_id,uid_key,tokens)#只初始化一次发起通话
- uid = str(call_id)
- ticket = str(meet_id)
-
- print("uid ",uid,ticket,oneself_id)
- #jrtc.set_rotate(0)
- if call_type == 0:#语音通话不需要设置参数
- jrtc.open(uid,ticket,[],[])
- else:
- jrtc.open(uid,ticket,[15,129,128,128],[15,120,240,320])
- jrtc.set_cam_angle(jrtc.CAM_ROTATE_270)
-
-
- def close_jrtc_event(self,event,msg):
- # print("close_jrtc_event")
- jrtc.close(0)
- pass
- def clear_jrtc_init_state(self,event,msg):
- self.jrtc_init_state = 0
- pass
-
- def get_jrtc_init_state(self,event,msg):
- return self.jrtc_init_state
- pass
-
- def initialization(self):
-
- global camera_video_answer_screen,video_img_test,camera_video_answer_btn_label,camera_video_answer_label,camera_video_answer_second_label,camera_video_answer_btn,vcamera_video_answer_btn_label
- if camera_video_answer_screen == None:
- camera_video_answer_screen = lv.obj()
- print("camera_video_answer_screen")
- camera_video_answer_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- video_img_test = lv.img(camera_video_answer_screen)
- ret = jrtc.set_img(video_img_test)
- video_img_test.align(lv.ALIGN.CENTER, 0, 0)
- video_img_test.set_size(128,128)
-
-
- camera_video_answer_label = lv.label(camera_video_answer_screen)
- camera_video_answer_label.set_pos(0, 20)
- camera_video_answer_label.set_text("正在通话中...")
- camera_video_answer_label.set_size(128, 40)
- camera_video_answer_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- camera_video_answer_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- camera_video_answer_second_label = lv.label(camera_video_answer_screen)
- camera_video_answer_second_label.set_pos(0, 50)
- camera_video_answer_second_label.set_text(" ")
- camera_video_answer_second_label.set_size(128, 40)
- camera_video_answer_second_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- camera_video_answer_second_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- camera_video_answer_btn = lv.img(camera_video_answer_screen)
- camera_video_answer_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_video_answer_btn.set_pos(48, 90)
- camera_video_answer_btn.set_size(32,32)
- camera_video_answer_btn.set_src("U:/static/hang_up.png")
-
- camera_video_answer_btn_label = lv.label(camera_video_answer_screen)
- camera_video_answer_btn_label.set_pos(38, 80)
- camera_video_answer_btn_label.set_text(" ")
- camera_video_answer_btn_label.set_size(52, 48)
- camera_video_answer_btn_label.add_flag(lv.obj.FLAG.CLICKABLE)
-
-
- camera_video_answer_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.close_cb(e)), lv.EVENT.SHORT_CLICKED, None)
- camera_video_answer_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.close_cb(e)), lv.EVENT.SHORT_CLICKED, None)
- self.meta = camera_video_answer_screen
-
- call_state = jrtc.get_state()
- self.second_count = 0
- self.statu_open = 0
- self.time_out = 0
-
- EventMesh.publish("set_UI_high_priority", 1)
- if call_state == 5:#接通
- camera_video_answer_label.set_text("正在通话中...")
- camera_video_answer_label.set_pos(0, 20)
- # camera_video_answer_label.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_video_answer_second_label.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_video_answer_second_label.set_text("00:00")
- camera_video_answer_second_label.set_pos(0, 50)
- # camera_video_answer_btn.clear_flag(lv.obj.FLAG.HIDDEN)
- # camera_video_answer_btn_label.clear_flag(lv.obj.FLAG.HIDDEN)
- video_img_test.clear_flag(lv.obj.FLAG.HIDDEN)
- else:
- camera_video_answer_label.set_text("正在接听中...")
- camera_video_answer_label.set_pos(0, 50)
- # camera_video_answer_label.add_flag(lv.obj.FLAG.HIDDEN)
- camera_video_answer_second_label.add_flag(lv.obj.FLAG.HIDDEN)
- # camera_video_answer_btn.add_flag(lv.obj.FLAG.HIDDEN)
- # camera_video_answer_btn_label.add_flag(lv.obj.FLAG.HIDDEN)
- video_img_test.add_flag(lv.obj.FLAG.HIDDEN)
- self.timer.start(1*1000,1,self.fun)
-
-
- def close_cb(self,e):
- self.statu_open = 1
- EventMesh.publish("set_dev_end_video",1)
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("close_jrtc_event")
- EventMesh.publish("return_prev_screen")
-
- def fun(self,*argc):
- EventMesh.publish("publish_message_event_ui",{"func":self.fun_cb,"data":0})
-
-
- def fun_cb(self,data):
- EventMesh.publish("system_sleep_rest")#防止黑屏
- call_state = jrtc.get_state()
- if call_state == 5:
- camera_video_answer_label.set_text("正在通话中...")
- camera_video_answer_label.set_pos(0, 20)
- # camera_video_answer_label.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_video_answer_second_label.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_video_answer_btn.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_video_answer_btn_label.clear_flag(lv.obj.FLAG.HIDDEN)
-
- video_img_test.clear_flag(lv.obj.FLAG.HIDDEN)
- self.second_count+=1
- self.show_time()
- # print("video call_state",call_state)
- if call_state != 5:
- self.time_out+=1
- if self.time_out >= 60 or (call_state == 0 and self.time_out >= 2 and self.statu_open != 1):
- self.time_out = 0
- self.timer.stop()
- # print("video call_state",call_state)
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("close_jrtc_event")
- EventMesh.publish("return_prev_screen")
-
-
- def show_time(self):
-
- if self.second_count >= 99*60:
- total_hour = self.second_count//3600#小时
- total_min = (self.second_count%3600)//60#分钟
- total_sec = (self.second_count%3600)%60#秒
- camera_video_answer_second_label.set_text("{}:{}:{}".format("%02d"%(total_hour),"%02d"%(total_min),"%02d"%(total_sec)))
-
- else:
- total_min = self.second_count//60
- total_sec = self.second_count%60
- camera_video_answer_second_label.set_text("{}:{}".format("%02d"%(total_min),"%02d"%(total_sec)))
- # camera_video_answer_second_label.set_text("%02d"%(total_min),"%02d"%(total_sec))
-
- def Close(self):
- num = EventMesh.publish("get_volum_size")
- if num == None:
- num = 8
- self.aud.setVolume(num)#恢复原始音量
- self.timer.stop()
-
- def done_return(self):
- pass
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- # EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-
-
-
-
-voice_call_screen = None
-voice_call_img = None
-voice_call_name_label = None
-voice_call_answer = None
-voice_call_hangup = None
-voice_call_label = None
-# CALL_LOG_MAX = 50
-class voiceInCallScreen(Screen):#语音通话打入中
- NAME = "voice_incall"
-
- def __init__(self):
- super().__init__()
- self.CALL_LOG_MAX = CALL_LOG_MAX
- self.read_data = {}
- self.meta_type = "popup"
- self.aud = audio.Audio(0)
- self.call_timer = osTimer()
- self.call_timer1 = osTimer()
- self.name = None
- self.phonebook = {}
- self.pro_state = 0
- self.meta = None
- self.timeout = 0
-
- def initialization(self):
- global voice_call_screen,voice_call_img,voice_call_name_label,voice_call_answer,voice_call_hangup,voice_call_label
- if voice_call_screen == None :
- # -------------------------------------------vedio_call screen----------------------------------------------------------
- voice_call_screen = lv.obj()
- print("voice_call_screen")
- voice_call_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- voice_call_label = lv.label(voice_call_screen)
- voice_call_label.set_pos(0, 10)
- voice_call_label.set_text("是否接听语音通话")
- voice_call_label.set_size(128, 40)
- voice_call_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- voice_call_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- # vedio_call_img = lv.img(voice_call_screen)
- # vedio_call_img.set_pos(48, 10)
- # vedio_call_img.set_size(32, 32)
- # vedio_call_img.set_src("U:/static/IMAGE_NOTICE_CALL.png")
- # vedio_call_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- voice_call_name_label = lv.label(voice_call_screen)
- voice_call_name_label.set_pos(0, 50)
- voice_call_name_label.set_text(" ")
- voice_call_name_label.set_size(128, 40)
- voice_call_name_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- voice_call_name_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- voice_call_answer = lv.img(voice_call_screen)
- voice_call_answer.set_size(32, 32)
- voice_call_answer.add_flag(lv.obj.FLAG.CLICKABLE)
- voice_call_answer.set_pos(84, 85)
- voice_call_answer.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- voice_call_answer.set_src("U:/static/answer.png")
-
- voice_call_hangup = lv.img(voice_call_screen)
- voice_call_hangup.set_size(32, 32)
- voice_call_hangup.add_flag(lv.obj.FLAG.CLICKABLE)
- voice_call_hangup.set_pos(11, 85)
- voice_call_hangup.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- voice_call_hangup.set_src("U:/static/hang_up.png")
-
- voice_call_answer.add_event_cb(lambda e: EventMesh.callback_wrapper(self.answer(e)),
- lv.EVENT.SHORT_CLICKED, None)
- voice_call_hangup.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.SHORT_CLICKED, None)
- self.meta = voice_call_screen
-
-
- EventMesh.publish("set_UI_high_priority", 1)
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
-
- voice_call_name_label.set_text(call_id)
-
-
- def post_processor_after_initialization(self):
- global voice_call_screen,voice_call_img,voice_call_name_label,voice_call_answer,voice_call_hangup
- self.call_timer.start(6000, 1, self.call_timer_cb)
- self.timeout = 0
- self.call_timer1.start(1*1000, 1, self.get_video_state)
- self.aud.play(1, 1, 'U:/static/R_CALL_mp3.mp3') #播放来电铃声
-
- def call_timer_cb(self,e):
- self.aud.play(1, 1, 'U:/static/R_CALL_mp3.mp3') #播放来电铃声
-
- def get_video_state(self,*argc):
- EventMesh.publish("publish_message_event_ui",{"func":self.get_video_state_cb,"data":0})
-
- def get_video_state_cb(self,data):
- call_state = jrtc.get_state()
- # print("vedio_incall",call_state)
- self.timeout+=1
- if self.timeout >= 1*60:
- self.timeout = 0
- self.call_timer1.stop()
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("return_prev_screen")
-
- def answer(self,e):
- self.call_timer.stop()
- self.aud.stop()
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("clear_jrtc_init_state")
- EventMesh.publish("open_vedio_infor")
- EventMesh.publish("load_screen", {"screen": "voiceing"})
-
- def Close(self):
- self.call_timer.stop()
- self.call_timer1.stop()
- self.aud.stop()
-
- def hangup(self,e):
- EventMesh.publish("set_UI_high_priority", 0)
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
-
- EventMesh.publish("return_prev_screen")
-
- def btn1_release(self):
- pass
-
- def btn8_press(self):
- flag = EventMesh.publish("get_lcd_state")
- if flag == 1:
- EventMesh.publish(constants.EVENT.SYSTEM_SLEEP)
- else:
- EventMesh.publish(constants.EVENT.SYSTEM_UP)
- pass
-
- def done_left_to_right(self):
- pass
-
- def done_right_to_left(self):
- pass
-
- def done_bottom_to_top(self):
- pass
-
- def done_top_to_bottom(self):
- pass
-
- def done_return(self):
- pass
-
-
-
-vedio_call_screen = None
-vedio_call_img = None
-vedio_call_name_label = None
-vedio_call_answer = None
-vedio_call_hangup = None
-vedio_call_label = None
-# CALL_LOG_MAX = 50
-class vedioCallingCallScreen(Screen):#视频通话打入中
- NAME = "vedio_incall"
-
- def __init__(self):
- super().__init__()
- self.CALL_LOG_MAX = CALL_LOG_MAX
- self.read_data = {}
- self.meta_type = "popup"
- self.aud = audio.Audio(0)
- self.call_timer = osTimer()
- self.call_timer1 = osTimer()
- self.name = None
- self.phonebook = {}
- self.pro_state = 0
- self.meta = None
- self.timeout = 0
- EventMesh.subscribe("test_answer",self.test_answer)
-
- def initialization(self):
- global vedio_call_screen,vedio_call_img,vedio_call_name_label,vedio_call_answer,vedio_call_hangup,vedio_call_label
- if vedio_call_screen == None :
- # -------------------------------------------vedio_call screen----------------------------------------------------------
- vedio_call_screen = lv.obj()
- print("vedio_call_screen")
- vedio_call_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- vedio_call_label = lv.label(vedio_call_screen)
- vedio_call_label.set_pos(0, 10)
- vedio_call_label.set_text("是否接听视频通话")
- vedio_call_label.set_size(128, 40)
- vedio_call_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- vedio_call_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- # vedio_call_img = lv.img(vedio_call_screen)
- # vedio_call_img.set_pos(48, 10)
- # vedio_call_img.set_size(32, 32)
- # vedio_call_img.set_src("U:/static/IMAGE_NOTICE_CALL.png")
- # vedio_call_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- vedio_call_name_label = lv.label(vedio_call_screen)
- vedio_call_name_label.set_pos(0, 50)
- vedio_call_name_label.set_text(" ")
- vedio_call_name_label.set_size(128, 40)
- vedio_call_name_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- vedio_call_name_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- vedio_call_answer = lv.img(vedio_call_screen)
- vedio_call_answer.set_size(32, 32)
- vedio_call_answer.add_flag(lv.obj.FLAG.CLICKABLE)
- vedio_call_answer.set_pos(84, 85)
- vedio_call_answer.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- vedio_call_answer.set_src("U:/static/answer.png")
-
- vedio_call_hangup = lv.img(vedio_call_screen)
- vedio_call_hangup.set_size(32, 32)
- vedio_call_hangup.add_flag(lv.obj.FLAG.CLICKABLE)
- vedio_call_hangup.set_pos(11, 85)
- vedio_call_hangup.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- vedio_call_hangup.set_src("U:/static/hang_up.png")
-
- vedio_call_answer.add_event_cb(lambda e: EventMesh.callback_wrapper(self.answer(e)),
- lv.EVENT.SHORT_CLICKED, None)
- vedio_call_hangup.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.SHORT_CLICKED, None)
- self.meta = vedio_call_screen
-
- vedio_call_label.set_text("是否接听视频通话")
-
- EventMesh.publish("set_UI_high_priority", 1)
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
-
- vedio_call_name_label.set_text(call_id)
-
-
- def post_processor_after_initialization(self):
- global vedio_call_screen,vedio_call_img,vedio_call_name_label,vedio_call_answer,vedio_call_hangup
- self.call_timer.start(6000, 1, self.call_timer_cb)
- self.timeout = 0
- self.call_timer1.start(1*1000, 1, self.get_video_state)
- self.aud.play(1, 1, 'U:/static/R_CALL_mp3.mp3') #播放来电铃声
-
- def call_timer_cb(self,e):
- self.aud.play(1, 1, 'U:/static/R_CALL_mp3.mp3') #播放来电铃声
-
- def get_video_state(self,*argc):
- EventMesh.publish("publish_message_event_ui",{"func":self.get_video_state_cb,"data":0})
-
- def get_video_state_cb(self,data):
- call_state = jrtc.get_state()
- print("vedio_incall",call_state)
- self.timeout+=1
- if self.timeout >= 1*60:
- self.timeout = 0
- self.call_timer1.stop()
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("return_prev_screen")
-
- def answer(self,e):
- self.call_timer.stop()
- self.aud.stop()
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("clear_jrtc_init_state")
- EventMesh.publish("open_vedio_infor")
- EventMesh.publish("load_screen", {"screen": "vedioing"})
-
- def test_answer(self,event,msg):
- self.call_timer.stop()
- self.aud.stop()
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("clear_jrtc_init_state")
- EventMesh.publish("open_vedio_infor")
- EventMesh.publish("load_screen", {"screen": "vedioing"})
-
- def Close(self):
- self.call_timer.stop()
- self.call_timer1.stop()
- num = EventMesh.publish("get_volum_size")
- if num == None:
- num = 8
- self.aud.setVolume(num)#恢复原始音量
- self.aud.stop()
-
- def hangup(self,e):
- EventMesh.publish("set_UI_high_priority", 0)
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
-
- EventMesh.publish("return_prev_screen")
-
- def btn1_release(self):
- pass
-
- def btn8_press(self):
- flag = EventMesh.publish("get_lcd_state")
- if flag == 1:
- EventMesh.publish(constants.EVENT.SYSTEM_SLEEP)
- else:
- EventMesh.publish(constants.EVENT.SYSTEM_UP)
- pass
-
- def done_left_to_right(self):
- pass
-
- def done_right_to_left(self):
- pass
-
- def done_bottom_to_top(self):
- pass
-
- def done_top_to_bottom(self):
- pass
-
- def done_return(self):
- pass
-
-
-
-
-
-video_outcall_screen = None
-video_outcall_img = None
-video_outcall_name = None
-video_outcall_hangup_imgbtn = None
-video_outcall_call = None
-video_outcall_img_test = None
-video_outcall_hangup_imgbtnlabel = None
-class videoOutCallScreen(Screen):#正在拨号中...未打出
- NAME = "video_outcall"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.meta_type = "popup"
- self.timer1 = osTimer()
- self.aud = audio.Audio(0)
- self.time_count = 0
- self.second_count = 0
- self.answer = 0
-
-
- def initialization(self):
- EventMesh.publish("set_UI_high_priority", 1)
- self.time_count = 0
- global video_outcall_screen,video_outcall_img,video_outcall_hangup_imgbtnlabel,video_outcall_img_test,video_outcall_name ,video_outcall_call,video_outcall_hangup_imgbtn
- if video_outcall_screen == None:
- video_outcall_screen = lv.obj()
- print("video_outcall_screen")
- video_outcall_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- video_outcall_img_test = lv.img(video_outcall_screen)
- ret = jrtc.set_img(video_outcall_img_test)
- video_outcall_img_test.align(lv.ALIGN.CENTER, 0, 0)
- video_outcall_img_test.set_size(128,128)
- video_outcall_img_test.add_flag(lv.obj.FLAG.HIDDEN)
-
- video_outcall_name = lv.label(video_outcall_screen)
- video_outcall_name.set_pos(0, 20)
- video_outcall_name.set_size(LCD_X, 20)
- video_outcall_name.set_text(" ")
- video_outcall_name.set_long_mode(lv.label.LONG.DOT)
- video_outcall_name.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- video_outcall_name.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- video_outcall_call = lv.label(video_outcall_screen)
- video_outcall_call.set_pos(0, 50)
- video_outcall_call.set_size(LCD_X, 40)
- video_outcall_call.set_text("正在等待对方接听中...")
- video_outcall_call.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- video_outcall_call.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- video_outcall_hangup_imgbtn = lv.img(video_outcall_screen)
- video_outcall_hangup_imgbtn.set_size(32, 32)
- video_outcall_hangup_imgbtn.set_src("U:/static/hang_up.png")
- video_outcall_hangup_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
- video_outcall_hangup_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- video_outcall_hangup_imgbtn.set_pos(48, 90)
-
- video_outcall_hangup_imgbtnlabel = lv.label(video_outcall_screen)
- video_outcall_hangup_imgbtnlabel.set_pos(38, 80)
- video_outcall_hangup_imgbtnlabel.set_text(" ")
- video_outcall_hangup_imgbtnlabel.set_size(52, 48)
- video_outcall_hangup_imgbtnlabel.add_flag(lv.obj.FLAG.CLICKABLE)
-
- video_outcall_hangup_imgbtnlabel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.SHORT_CLICKED, None)
-
- video_outcall_hangup_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.SHORT_CLICKED, None)
-
-
-
- self.meta = video_outcall_screen
- if video_outcall_name != None:
- video_outcall_name.set_text(self.meta_info)#名称
-
- self.time_count = 0
- self.second_count = 0
- self.answer = 0
- EventMesh.publish("set_UI_high_priority", 1)
- call_state = jrtc.get_state()
- # print("video_outcall",call_state)
- if call_state == 5:
- video_outcall_img_test.clear_flag(lv.obj.FLAG.HIDDEN)
- video_outcall_name.set_text("正在通话中...")#
- video_outcall_name.set_pos(0, 20)
- else:
- video_outcall_img_test.add_flag(lv.obj.FLAG.HIDDEN)
- video_outcall_call.set_text("正在等待对方接听中...")
- video_outcall_call.set_pos(0, 50)
- video_outcall_name.set_text(self.meta_info)#名称
- video_outcall_name.set_pos(0, 20)
-
- self.timer1.start(1*1000,1,self.fun_cb)
-
- def post_processor_after_initialization(self):
- pass
-
- def hangup(self,e):
- self.answer = 1
- self.timer1.stop()
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- # EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("load_screen", {"screen": "videolist"})
-
- pass
- def fun_cb(self,*argc):
- EventMesh.publish("publish_message_event_ui",{"func":self.fun,"data":0})
-
- def fun(self,data):
- call_state = jrtc.get_state()
- print("video_outcall",call_state)
- EventMesh.publish("system_sleep_rest")#防止黑屏
- if call_state == 5:
- video_outcall_img_test.clear_flag(lv.obj.FLAG.HIDDEN)
- video_outcall_name.set_text("正在通话中...")#
- video_outcall_name.set_pos(0, 20)
- video_outcall_call.set_pos(0, 50)
- self.second_count += 1
- self.show_time()
-
- if call_state != 5:#未接通 1分钟未接通挂断或者 接通后app 网络不好也主动手表挂断
- self.time_count+=1
- if self.time_count >= 1*60 or (call_state == 0 and self.time_count >= 2 and self.answer != 1):
- self.time_count = 0
- self.timer1.stop()
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- # EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("load_screen", {"screen": "videolist"})
-
- def show_time(self):
-
- if self.second_count >= 99*60:
- total_hour = self.second_count//3600#小时
- total_min = (self.second_count%3600)//60#分钟
- total_sec = (self.second_count%3600)%60#秒
- video_outcall_call.set_text("{}:{}:{}".format("%02d"%(total_hour),"%02d"%(total_min),"%02d"%(total_sec)))
-
- else:
- total_min = self.second_count//60
- total_sec = self.second_count%60
- video_outcall_call.set_text("{}:{}".format("%02d"%(total_min),"%02d"%(total_sec)))
-
- def Close(self):
- num = EventMesh.publish("get_volum_size")
- if num == None:
- num = 8
- self.aud.setVolume(num)#恢复原始音量
- self.timer1.stop()
-
- def done_return(self):
- pass
- #EventMesh.publish("load_screen", {"screen": "main_menu"})
-
- def btn1_release(self):
- pass
- #EventMesh.publish("load_screen", {"screen": "main_menu"})
-
- def btn8_press(self):
- pass
-
-
-voice_outcall_screen = None
-voice_outcall_img = None
-voice_outcall_name = None
-voice_outcall_hangup_imgbtn = None
-voice_outcall_call = None
-voice_outcall_img_test = None
-voice_outcall_hangup_imgbtnlabel = None
-class voiceOutCallScreen(Screen):#等待对方接接听中
- NAME = "voice_outcall"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.meta_type = "popup"
- self.aud = audio.Audio(0)
- self.timer1 = osTimer()
- self.time_count = 0
- self.second_count = 0
- self.answer = 0
-
-
- def initialization(self):
- EventMesh.publish("set_UI_high_priority", 1)
- self.time_count = 0
- global voice_outcall_screen,voice_outcall_img,voice_outcall_hangup_imgbtnlabel,voice_outcall_name ,voice_outcall_call,voice_outcall_hangup_imgbtn
- if voice_outcall_screen == None:
- voice_outcall_screen = lv.obj()
- print("voice_outcall_screen")
- voice_outcall_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- voice_outcall_name = lv.label(voice_outcall_screen)
- voice_outcall_name.set_pos(0, 20)
- voice_outcall_name.set_size(LCD_X, 20)
- voice_outcall_name.set_text(" ")
- voice_outcall_name.set_long_mode(lv.label.LONG.DOT)
- voice_outcall_name.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- voice_outcall_name.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- voice_outcall_call = lv.label(voice_outcall_screen)
- voice_outcall_call.set_pos(0, 50)
- voice_outcall_call.set_size(LCD_X, 40)
- voice_outcall_call.set_text("正在等待对方接听中...")
- voice_outcall_call.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- voice_outcall_call.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- voice_outcall_hangup_imgbtn = lv.img(voice_outcall_screen)
- voice_outcall_hangup_imgbtn.set_size(32, 32)
- voice_outcall_hangup_imgbtn.set_src("U:/static/hang_up.png")
- voice_outcall_hangup_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
- voice_outcall_hangup_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- voice_outcall_hangup_imgbtn.set_pos(48, 90)
-
- voice_outcall_hangup_imgbtnlabel = lv.label(voice_outcall_screen)
- voice_outcall_hangup_imgbtnlabel.set_pos(38, 80)
- voice_outcall_hangup_imgbtnlabel.set_text(" ")
- voice_outcall_hangup_imgbtnlabel.set_size(52, 48)
- voice_outcall_hangup_imgbtnlabel.add_flag(lv.obj.FLAG.CLICKABLE)
-
- voice_outcall_hangup_imgbtnlabel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.SHORT_CLICKED, None)
-
- voice_outcall_hangup_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.SHORT_CLICKED, None)
-
-
-
- self.meta = voice_outcall_screen
- if voice_outcall_name != None:
- voice_outcall_name.set_text(self.meta_info)#名称
-
- self.time_count = 0
- self.second_count = 0
- self.answer = 0
- EventMesh.publish("set_UI_high_priority", 1)
- call_state = jrtc.get_state()
- # print("video_outcall",call_state)
- if call_state == 5:
- # video_outcall_img_test.clear_flag(lv.obj.FLAG.HIDDEN)
- voice_outcall_name.set_text("正在通话中...")#
- voice_outcall_name.set_pos(0, 20)
- else:
- # video_outcall_img_test.add_flag(lv.obj.FLAG.HIDDEN)
- voice_outcall_call.set_text("正在等待对方接听中...")
- voice_outcall_call.set_pos(0, 50)
- voice_outcall_name.set_text(self.meta_info)#名称
- voice_outcall_name.set_pos(0, 20)
-
- self.timer1.start(1*1000,1,self.fun_cb)
-
- def post_processor_after_initialization(self):
- pass
-
- def hangup(self,e):
- self.answer = 1
- self.timer1.stop()
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- # EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("load_screen", {"screen": "videolist"})
-
- pass
- def fun_cb(self,*argc):
- EventMesh.publish("publish_message_event_ui",{"func":self.fun,"data":0})
-
- def fun(self,data):
- call_state = jrtc.get_state()
- print("voice_outcall",call_state)
- EventMesh.publish("system_sleep_rest")#防止黑屏
- if call_state == 5:
- voice_outcall_name.set_text("正在通话中...")#
- voice_outcall_name.set_pos(0, 20)
- voice_outcall_call.set_pos(0, 50)
- self.second_count += 1
- self.show_time()
-
- if call_state != 5:
- self.time_count+=1
- if self.time_count >= 1*60 or (call_state == 0 and self.time_count >= 2 and self.answer != 1):
- self.time_count = 0
- self.timer1.stop()
- call_id = str(EventMesh.publish("get_vedio_call_id"))#
- meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
- call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- # EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("load_screen", {"screen": "videolist"})
-
- def show_time(self):
-
- if self.second_count >= 99*60:
- total_hour = self.second_count//3600#小时
- total_min = (self.second_count%3600)//60#分钟
- total_sec = (self.second_count%3600)%60#秒
- voice_outcall_call.set_text("{}:{}:{}".format("%02d"%(total_hour),"%02d"%(total_min),"%02d"%(total_sec)))
-
- else:
- total_min = self.second_count//60
- total_sec = self.second_count%60
- voice_outcall_call.set_text("{}:{}".format("%02d"%(total_min),"%02d"%(total_sec)))
-
- def Close(self):
- num = EventMesh.publish("get_volum_size")
- if num == None:
- num = 8
- self.aud.setVolume(num)#恢复原始音量
- self.timer1.stop()
-
- def done_return(self):
- pass
- #EventMesh.publish("load_screen", {"screen": "main_menu"})
-
- def btn1_release(self):
- pass
- #EventMesh.publish("load_screen", {"screen": "main_menu"})
-
- def btn8_press(self):
- pass
-
-
-
-
-videolist_screen = None
-videolist_cont = None
-videolist_top_title = None
-videolist_none_label = None
-videolist_screen_list_screen = None
-class videolistScreen(Screen):
- NAME = "videolist"
-
- def __init__(self):
- super().__init__()
- # -------------------------------------------popup_menu screen----------------------------------------------------------
- self.meta = None
- self.videobook = {}
- self.count = 0
- self.phone_num_count = 0
- self.phone_num = {}
- self.name = []
- self.check_json = 0
- self.timer = osTimer()
- self.videolist_detail_list = None
- EventMesh.subscribe("video_updata_list_show", self.video_updata_list_show)
- self.MXA_phone_num = 50 #最大显示号码个数
- self.videolist_detail_listt_dict = []
- self.calling_btn = []
- self.is_sliding = 0
-
- def post_processor_before_initialization(self):
- data = EventMesh.publish("get_videobook_list")
- if data != None:
- self.check_json = data[0]
- self.videobook = data[1]
- self.count = 0
-
- def initialization(self):
- self.is_sliding = 0
- global videolist_screen,videolist_cont,videolist_top_title,videolist_none_label,videolist_screen_list_screen
- if videolist_screen == None:
- videolist_screen = lv.obj()
- 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,0)), 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_X, LCD_Y-30)
- 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,0)), lv.EVENT.GESTURE, None)
-
-
- videolist_top_title = lv.label(videolist_screen)
- videolist_top_title.set_pos(0, 5)
- videolist_top_title.set_size(LCD_X, 20)
- 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)
- videolist_top_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- videolist_none_label = lv.label(videolist_screen)
- videolist_none_label.set_pos(0, 60)
- videolist_none_label.set_size(LCD_X, 60)
- videolist_none_label.set_text("无SIM卡或未添加账号")
- videolist_none_label.set_long_mode(lv.label.LONG.WRAP)
- videolist_none_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- videolist_none_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- 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_X, LCD_Y-30+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,0)), 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,1)),
- lv.EVENT.SHORT_CLICKED, None)
-
- contact_btn.add_flag(lv.obj.FLAG.HIDDEN)
- # contact_btn.add_style(style_press_btn, lv.PART.MAIN | lv.STATE.PRESSED)
-
- contact_btn_label_1 = lv.label(contact_btn)
- contact_btn_label_1.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
- contact_btn_label_2 = lv.label(contact_btn)
- # contact_btn_label_2.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
- contact_btn_label_3 = lv.label(contact_btn)
- contact_btn_label_3.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
- self.videolist_detail_listt_dict.append({"contact_btn":contact_btn,"contact_btn_label_1":contact_btn_label_1,"contact_btn_label_2":contact_btn_label_2,"contact_btn_label_3":contact_btn_label_3})
- self.meta = videolist_screen
- self.count = 0
- self.btn_create_list_show(0)
-
- def video_updata_list_show(self,event,msg):
- self.post_processor_before_initialization()
- self.timer.start(1 * 1000, 0, self.OutTime_s)
-
- def OutTime_s(self,e):
- self.btn_create_list_show(1)
-
- def btn_create_list_show(self,state):
- EventMesh.publish("publish_message_event_ui",{"func":self.btn_create_list_show_screen,"data":state})
-
- def btn_create_list_show_screen(self,state):
- global videolist_screen,videolist_cont,videolist_top_title,videolist_none_label,videolist_screen_list_screen
- print("btn_create_list_show_screen!!!!!!!!!!!")
- if videolist_screen == None:
- return
- if EventMesh.publish(constants.EVENT.GET_CONNECT) == 0:#有卡时触发sos报警 无卡时自动关机
- self.videolist_detail_list.add_flag(lv.obj.FLAG.HIDDEN)
- videolist_none_label.clear_flag(lv.obj.FLAG.HIDDEN)#隐藏空文本
- else:
- #读取json文件中的键作为label文本;
- if self.check_json == True and len(self.videobook) != 0:
- self.videolist_detail_list.clear_flag(lv.obj.FLAG.HIDDEN)
- videolist_none_label.add_flag(lv.obj.FLAG.HIDDEN)#隐藏空文本
- j =0
- print("self.videobook sorted :{} len(self.videobook) :{}".format(sorted(self.videobook.keys()),len(self.videobook)))
- phonebook_keys = sorted(self.videobook.keys())
-
-
- if len(self.videobook) > self.MXA_phone_num:
- j = len(self.videobook) - self.MXA_phone_num
- for i in range(self.MXA_phone_num): #字典 key value
- if(j >= len(self.videobook)):
- self.videolist_detail_listt_dict[i]["contact_btn"].add_flag(lv.obj.FLAG.HIDDEN)
- continue
- name = self.videobook[phonebook_keys[j]]
- key_tmp = phonebook_keys[j]
-
- print("name :{} key_tmp:{}".format(name,key_tmp))
-
- #contact_btn = lv.btn(self.contact_detail_list)
- self.videolist_detail_listt_dict[i]["contact_btn"].set_size(LCD_X,45)
- self.videolist_detail_listt_dict[i]["contact_btn"].set_pos(0,47*i )
- self.videolist_detail_listt_dict[i]["contact_btn"].set_style_bg_color(lv.color_make(0xff, 0xff, 0xff), lv.PART.MAIN | lv.STATE.DEFAULT)
- # add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
- # contact_btn.add_style(style_contact_btn_pressed, lv.PART.MAIN | lv.STATE.PRESSED)
- # self.contact_detail_listt_dict[i]["contact_btn"].add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling(e)),
- # lv.EVENT.SHORT_CLICKED, None)
-
- #contact_btn_label_1 = lv.label(contact_btn)
- self.videolist_detail_listt_dict[i]["contact_btn_label_1"].set_pos(0, 0)
- self.videolist_detail_listt_dict[i]["contact_btn_label_1"].set_size(LCD_X-5, 16)
- self.videolist_detail_listt_dict[i]["contact_btn_label_1"].set_text(key_tmp[4:])
- self.videolist_detail_listt_dict[i]["contact_btn_label_1"].set_long_mode(lv.label.LONG.DOT)
- # self.videolist_detail_listt_dict[i]["contact_btn_label_1"].set_long_mode(lv.label.LONG.DOT)
- # self.videolist_detail_listt_dict[i]["contact_btn_label_1"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- #contact_btn_label_2 = lv.label(contact_btn)
- self.videolist_detail_listt_dict[i]["contact_btn_label_2"].set_pos(0, 0)
- self.videolist_detail_listt_dict[i]["contact_btn_label_2"].set_size(0, 0)
- self.videolist_detail_listt_dict[i]["contact_btn_label_2"].set_text(key_tmp[4:])
-
-
- #contact_btn_label_3 = lv.label(contact_btn)
- self.videolist_detail_listt_dict[i]["contact_btn_label_3"].set_pos(0, 20)
- self.videolist_detail_listt_dict[i]["contact_btn_label_3"].set_size(LCD_X-5, 16)
- self.videolist_detail_listt_dict[i]["contact_btn_label_3"].set_text(name)
- self.videolist_detail_listt_dict[i]["contact_btn_label_3"].set_long_mode(lv.label.LONG.DOT)
- # self.videolist_detail_listt_dict[i]["contact_btn_label_3"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- self.videolist_detail_listt_dict[i]["contact_btn"].clear_flag(lv.obj.FLAG.HIDDEN)
- #self.contact_detail_listt_dict[i]["contact_btn"].scroll_to_view(lv.ANIM.OFF)
- j+=1
-
- if state == 1:
- self.videolist_detail_listt_dict[i]["contact_btn"].scroll_to_view(lv.ANIM.OFF)
-
- else:
- if videolist_screen_list_screen != None:
- videolist_none_label.clear_flag(lv.obj.FLAG.HIDDEN) #显示空文本
- if self.videolist_detail_list != None:
- self.videolist_detail_list.add_flag(lv.obj.FLAG.HIDDEN)#隐藏空文本
- 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:
- pass
-
- elif code == lv.EVENT.SHORT_CLICKED:
- if msg == 1:
- 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"})
-
-
- def calling(self,msg_text):
- pass
- # _msg = msg_text
- # print("calling",_msg)
- # EventMesh.publish("set_vedio_call_id", _msg)#
- # EventMesh.publish("set_vedio_call_type", 1)#
- # EventMesh.publish(constants.PROTOCOL.AGTALK_SEND,[1,_msg])
- # EventMesh.publish("load_screen", {"screen": "video_outcall","meta":_msg})
-
-
- def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
- def btn8_press(self):
- EventMesh.publish("watch_top_show")
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
-
-
-
-video_select_mode_screen = None
-video_select_mode_label1 = None
-video_select_mode_label2 = None
-video_select_mode_btn_label1 = None
-video_select_mode_name = None
-video_select_mode_btn =None
-video_select_mode_btn1 = None
-class videoModeScreen(Screen):#通话模式选择
- #
- NAME = "vedio_mode"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.timer = osTimer()
- self.meta_type = "popup"
- self.count = 0
- self.is_sliding = 0
-
- def initialization(self):
- global video_select_mode_screen,video_select_mode_btn1,video_select_mode_btn,video_select_mode_label1,video_select_mode_label2,video_answer_btn_label1,video_select_mode_name
- self.count = 0
- self.is_sliding = 0
- if video_select_mode_screen == None:
- video_select_mode_screen = lv.obj()
- print("video_select_mode_screen")
- video_select_mode_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
- video_select_mode_screen.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_vedio_cb(e,0)), lv.EVENT.GESTURE, None)
-
- video_select_mode_name = lv.label(video_select_mode_screen)
- video_select_mode_name.set_pos(0, 20)
- video_select_mode_name.set_text(" ")
- video_select_mode_name.set_size(128, 40)
- video_select_mode_name.add_flag(lv.obj.FLAG.CLICKABLE)
- video_select_mode_name.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- video_select_mode_name.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- video_select_mode_btn = lv.btn(video_select_mode_screen)
- video_select_mode_btn.set_pos(4, 60)
- video_select_mode_btn.set_size(120, 26)
- video_select_mode_btn.add_style(style_press_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
- video_select_mode_btn.add_style(style_press_btn, lv.PART.MAIN | lv.STATE.PRESSED)
- video_select_mode_btn.set_style_radius(30,0)
-
- video_select_mode_label1 = lv.label(video_select_mode_btn)
- video_select_mode_label1.set_text("语音通话")
- video_select_mode_label1.set_size(128, 25)
- video_select_mode_label1.set_pos(0,5)
- video_select_mode_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- video_select_mode_label1.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- # video_select_mode_label1 = lv.label(video_select_mode_screen)
- # video_select_mode_label1.set_pos(0, 60)
- # video_select_mode_label1.set_text("语音通话")
- # video_select_mode_label1.set_size(128, 30)
- # video_select_mode_label1.add_flag(lv.obj.FLAG.CLICKABLE)
- # video_select_mode_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- # video_select_mode_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- video_select_mode_btn1 = lv.btn(video_select_mode_screen)
- video_select_mode_btn1.set_pos(4, 90)
- video_select_mode_btn1.set_size(120, 26)
- video_select_mode_btn1.add_style(style_press_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
- video_select_mode_btn1.add_style(style_press_btn, lv.PART.MAIN | lv.STATE.PRESSED)
- video_select_mode_btn1.set_style_radius(30,0)
-
- video_select_mode_label2 = lv.label(video_select_mode_btn1)
- video_select_mode_label2.set_text("视频通话")
- video_select_mode_label2.set_size(128, 25)
- video_select_mode_label2.set_pos(0,5)
- video_select_mode_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- video_select_mode_label2.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- # video_select_mode_label2 = lv.label(video_select_mode_screen)
- # video_select_mode_label2.set_pos(0, 90)
- # video_select_mode_label2.set_text("视频通话")
- # video_select_mode_label2.set_size(128, 38)
- # video_select_mode_label2.add_flag(lv.obj.FLAG.CLICKABLE)
- # video_select_mode_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- # video_select_mode_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- self.meta = video_select_mode_screen
-
- video_select_mode_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_vedio_cb(e,1)),
- lv.EVENT.SHORT_CLICKED, None)
- # video_select_mode_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_vedio_cb(e,0)), lv.EVENT.PRESSING, None)
-
- video_select_mode_btn1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_vedio_cb(e,2)),
- lv.EVENT.SHORT_CLICKED, None)
- # video_select_mode_btn1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_vedio_cb(e,1)), lv.EVENT.PRESSING, None)
-
- if self.meta_info != None:
- if len(str(self.meta_info)) != 0:
- video_select_mode_name.set_text("{}".format(self.meta_info))
- else:
- video_select_mode_name.set_text(" ")
- else:
- video_select_mode_name.set_text(" ")
-
- self.timer.start(1*1000,1,self.fun)
-
-
- def fun(self,*argc):
- self.count+=1
- if self.count <= 30:
- EventMesh.publish("system_sleep_rest")#防止黑屏
- else:
- self.timer.stop()
- EventMesh.publish("return_prev_screen")
- pass
- def calling_vedio_cb(self,e,data):#视频通话
- 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:
- pass
-
- elif code == lv.EVENT.SHORT_CLICKED:
- if data == 1: #语音通话
- msg_text = [self.meta_info,0]
- EventMesh.publish("publish_message_event_ui",{"func":self.calling,"data":msg_text})
-
- elif data == 2:# 视频通话
- msg_text = [self.meta_info,1]
- EventMesh.publish("publish_message_event_ui",{"func":self.calling,"data":msg_text})
-
- def calling(self,msg_text):
- _msg = msg_text[0]
- mode = msg_text[1]
- print("calling",msg_text,_msg,mode)
- if mode == 1:#0是语音 1是视频通话
- EventMesh.publish("load_screen", {"screen": "video_outcall","meta":_msg})
- else:
- EventMesh.publish("load_screen", {"screen": "voice_outcall","meta":_msg})
-
- EventMesh.publish("set_vedio_call_id", _msg)#
- EventMesh.publish("set_vedio_call_type", mode)#
- EventMesh.publish(constants.PROTOCOL.AGTALK_SEND,[mode,_msg])
-
- def Close(self):
- self.timer.stop()
-
- def done_return(self):
- EventMesh.publish("return_prev_screen")
-
-
- def btn1_release(self):
- EventMesh.publish("return_prev_screen")
- pass
-
- def btn8_press(self):
- EventMesh.publish("return_prev_screen")
- pass
-
-
-style_screen_calendar_1_extra_header_main_default = lv.style_t()
-style_screen_calendar_1_extra_header_main_default.init()
-style_screen_calendar_1_extra_header_main_default.set_bg_color(lv.color_make(0x21,0x95,0xf6))
-style_screen_calendar_1_extra_header_main_default.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6))
-style_screen_calendar_1_extra_header_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
-style_screen_calendar_1_extra_header_main_default.set_bg_opa(255)
-style_screen_calendar_1_extra_header_main_default.set_text_color(lv.color_make(0xff,0xff,0xff))
-style_screen_calendar_1_extra_header_main_default.set_text_font(lv.K01_font_16_ALL)
-
-style_screen_calendar_1_main_main_default = lv.style_t()
-style_screen_calendar_1_main_main_default.init()
-style_screen_calendar_1_main_main_default.set_radius(0)
-style_screen_calendar_1_main_main_default.set_bg_color(lv.color_make(0xff,0xff,0xff))
-style_screen_calendar_1_main_main_default.set_bg_grad_color(lv.color_make(0xff,0xff,0xff))
-style_screen_calendar_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
-style_screen_calendar_1_main_main_default.set_bg_opa(255)
-style_screen_calendar_1_main_main_default.set_border_color(lv.color_make(0xc0,0xc0,0xc0))
-style_screen_calendar_1_main_main_default.set_border_width(1)
-style_screen_calendar_1_main_main_default.set_border_opa(255)
-
-# add style for screen_calendar_1
-
-
-
-rrestor_confirm_n_screen = None
-rrestor_confirm_n_screen_label = None
-
-#
-class restore_confirmScreen(Screen):
- NAME = "restore_confirm"
- def __init__(self):
- super().__init__()
- self.meta = None
- self.meta_type = "popup"
- self.count = 0
- self.timer1 = osTimer()
- self.timer2 = osTimer()
- self.timer3 = osTimer()
-
- EventMesh.subscribe("app_factory_cb",self.app_factory_cb)
-
- def initialization(self):
- global rrestor_confirm_n_screen ,rrestor_confirm_n_screen_label
- if rrestor_confirm_n_screen == None :
- rrestor_confirm_n_screen = lv.obj()
- print("rrestor_confirm_n_screen")
- rrestor_confirm_n_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
- # add style for watchface
- rrestor_confirm_n_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
- #进入图片
-
- rrestor_confirm_n_screen_label = lv.label(rrestor_confirm_n_screen)
- rrestor_confirm_n_screen_label.set_pos(0, 40)
- rrestor_confirm_n_screen_label.set_size(128, 60)
- rrestor_confirm_n_screen_label.set_text("正在恢复出厂中\n请稍等...")
- rrestor_confirm_n_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- rrestor_confirm_n_screen_label.set_long_mode(lv.label.LONG.WRAP)
- rrestor_confirm_n_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
-
- self.meta = rrestor_confirm_n_screen
- self.timer1.start(1000,1,self.timer_cb_onescond)
-
- ret = 0
- ret = ql_fs.path_exists("/usr/static/storage_file")#电话本
- if ret == True:
- ql_fs.rmdirs("/usr/static/storage_file")
- ql_fs.mkdirs("/usr/static/storage_file")
-
- if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#已连接服务器发指令恢复出厂
- EventMesh.publish(constants.PROTOCOL.DLT_SEND)
- self.timer2.start(4000,0,self.timer_cb_threescond)
-
- def app_factory_cb(self,event,msg):
- ret = 0
- ret = ql_fs.path_exists("/ext/static/storage_file")#电话本
- if ret == True:
- ql_fs.rmdirs("/ext/static/storage_file")
- ql_fs.mkdirs("/ext/static/storage_file")
- EventMesh.publish("alipay_unbind")
- if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#已连接服务器发指令恢复出厂
- EventMesh.publish(constants.PROTOCOL.DLT_SEND)
- self.timer3.start(4000,0,self.timer_cb_threescond)
- pass
-
- def Close(self):
- self.timer1.stop()
- self.timer2.stop()
-
- def timer_cb_threescond(self,e):
-
- Power.powerRestart()
-
- def timer_cb_onescond(self,e):
- EventMesh.publish("system_sleep_rest")#防止黑屏
-
-
- def done_left_to_right(self):
- pass
- def done_right_to_left(self):
- pass
- def done_bottom_to_top(self):
- pass
- def done_top_to_bottom(self):
- pass
- def done_return(self):
- pass
- def done_click(self):
- pass
-
- def btn8_press(self):
- pass
- def btn1_press(self):
- pass
- def btn1_release(self):
- pass
-
-
-
-#from ui_WatchFaceScreen import WatchFaceScreen
-class UI(object):
+#from ui_WatchFaceScreen import WatchFaceScreen
+class UI(object):
def __init__(self):
#self.screen = WatchFaceScreen()
#self.screen_old = self.screen
utime.sleep_ms(200)
self.sleep_lock = 1
self.sleep_flag = 0
+ EventMesh.publish("set_lcd_state",self.sleep_flag)
self.PWM_backlight = PWM(PWM.PWM0, PWM.ABOVE_10US, 0, 1000)
self.PWM_backlight.open()
#lcd_ctrl.write(0)
tp_cst816.suspend()
lcd.lcd_display_off()
#utime.sleep_ms(80)
- EventMesh.publish("set_lcd_state",self.sleep_flag)
+
self.sleep_lock = 0
self.screen.lcd_off()
self.system_sleep_timer.stop()