gengxin
authorCCC <2393524978@qq.com>
Wed, 27 Sep 2023 08:55:46 +0000 (16:55 +0800)
committerCCC <2393524978@qq.com>
Wed, 27 Sep 2023 08:55:46 +0000 (16:55 +0800)
14 files changed:
2.sdk/project/Z5_D12/gui/lv_watch/resource/audio/R_CALL_1.mid [deleted file]
2.sdk/project/Z5_D12/gui/lv_watch/resource/audio/audio_incoming_call.mid
2.sdk/project/Z5_D12/gui/lv_watch/resource/audio/audio_incoming_call.mp3 [moved from 2.sdk/project/Z5_D12/gui/lv_watch/resource/audio/R_CALL_1.mp3 with 100% similarity]
2.sdk/project/Z5_D12/gui/lv_watch/resource/png/power_off_charging/icon_power_off_charging_ok.png
2.sdk/project/Z5_K7/gui/lv_watch/resource/audio/R_CALL_1.mid [deleted file]
2.sdk/project/Z5_K7/gui/lv_watch/resource/audio/audio_incoming_call.mid
2.sdk/project/Z5_K7/gui/lv_watch/resource/audio/audio_incoming_call.mp3 [moved from 2.sdk/project/Z5_K7/gui/lv_watch/resource/audio/R_CALL_1.mp3 with 100% similarity]
2.sdk/project/Z5_K7/gui/lv_watch/resource/png/power_off_charging/icon_power_off_charging_ok.png
2.sdk/sdk/gui/lv_watch/framework/message/mmi_msg_zhsx.c
2.sdk/sdk/gui/lv_watch/lv_apps/power_off_charging/power_off_charging.c
2.sdk/sdk/gui/lv_watch/lv_watch_common.c
2.sdk/sdk/gui/lv_watch/lv_watch_res.h
2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.c
2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.h

diff --git a/2.sdk/project/Z5_D12/gui/lv_watch/resource/audio/R_CALL_1.mid b/2.sdk/project/Z5_D12/gui/lv_watch/resource/audio/R_CALL_1.mid
deleted file mode 100644 (file)
index b530188..0000000
Binary files a/2.sdk/project/Z5_D12/gui/lv_watch/resource/audio/R_CALL_1.mid and /dev/null differ
index 65dbfb3..b530188 100644 (file)
Binary files a/2.sdk/project/Z5_D12/gui/lv_watch/resource/audio/audio_incoming_call.mid and b/2.sdk/project/Z5_D12/gui/lv_watch/resource/audio/audio_incoming_call.mid differ
index 94322b2..45063c3 100644 (file)
Binary files a/2.sdk/project/Z5_D12/gui/lv_watch/resource/png/power_off_charging/icon_power_off_charging_ok.png and b/2.sdk/project/Z5_D12/gui/lv_watch/resource/png/power_off_charging/icon_power_off_charging_ok.png differ
diff --git a/2.sdk/project/Z5_K7/gui/lv_watch/resource/audio/R_CALL_1.mid b/2.sdk/project/Z5_K7/gui/lv_watch/resource/audio/R_CALL_1.mid
deleted file mode 100644 (file)
index b530188..0000000
Binary files a/2.sdk/project/Z5_K7/gui/lv_watch/resource/audio/R_CALL_1.mid and /dev/null differ
index 65dbfb3..b530188 100644 (file)
Binary files a/2.sdk/project/Z5_K7/gui/lv_watch/resource/audio/audio_incoming_call.mid and b/2.sdk/project/Z5_K7/gui/lv_watch/resource/audio/audio_incoming_call.mid differ
index 94322b2..45063c3 100644 (file)
Binary files a/2.sdk/project/Z5_K7/gui/lv_watch/resource/png/power_off_charging/icon_power_off_charging_ok.png and b/2.sdk/project/Z5_K7/gui/lv_watch/resource/png/power_off_charging/icon_power_off_charging_ok.png differ
index 41700e3..eb96dea 100644 (file)
@@ -75,6 +75,13 @@ void mmi_ui_msg_action_no_sim_power_off(void)
 void mmi_ui_msg_action_charging_prompt(uint32_t chg_status)
 {
        printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+#ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__
+       if(true == mmi_watch_is_in_do_not_disturb_time())
+       {
+               return;
+       }
+#endif
        
        mmi_msg_charging_prompt_t * msg_info = (mmi_msg_charging_prompt_t *)Hal_Mem_Alloc(sizeof(mmi_msg_charging_prompt_t));
 
index 4f22e6d..db164d3 100644 (file)
@@ -131,6 +131,7 @@ lv_obj_t * power_off_charging_create(lv_obj_t * activity_obj)
         lv_obj_t * img_ok = lv_img_create(obj, NULL);
         lv_obj_set_size(img_ok, lv_obj_get_width(obj), lv_obj_get_height(obj));
         lv_img_set_src(img_ok, &ICON_POWER_OFF_CHARGING_OK);
+               lv_obj_align(img_ok, NULL, LV_ALIGN_CENTER, 0, -20);
         ext->battery_task = NULL;
     }
 
@@ -205,6 +206,7 @@ static void power_off_charging_battery_task(lv_task_t * task)
             lv_obj_t * img_ok = lv_img_create(watch_obj, NULL);
             lv_obj_set_size(img_ok, lv_obj_get_width(watch_obj), lv_obj_get_height(watch_obj));
             lv_img_set_src(img_ok, &ICON_POWER_OFF_CHARGING_OK);
+                       lv_obj_align(img_ok, NULL, LV_ALIGN_CENTER, 0, -20);
         }
 
         if(NULL != ext->battery_task) {
index 22df509..e9e4b95 100644 (file)
@@ -476,6 +476,12 @@ void lv_watch_go_home(void)
        {
                mmi_watch_search_screen_destroy();
        }
+#ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__
+       if(true == mmi_watch_is_in_do_not_disturb_time())
+       {
+               return;
+       }
+#endif
 #endif
 
 #if USE_LV_WATCH_EXERCISE != 0
index 8e1c685..6e4a5da 100644 (file)
@@ -9,6 +9,30 @@
 extern "C" {
 #endif
 
+
+//******** audio resource ********
+
+#define AUDIO_POWER_ON                    "R:/audio/audio_power_on.mid"
+
+#define AUDIO_POWER_OFF                   "R:/audio/audio_power_off.mid"
+
+#define AUDIO_INCOMING_CALL            "R:/audio/audio_incoming_call.mid"
+
+#define AUDIO_SETTING_AUDIO_MSG           "R:/audio/audio_msg.amr"
+
+#define AUDIO_MSG                         "R:/audio/audio_msg.amr"
+
+#define AUDIO_ALARM                         "R:/audio/audio_alarm.mid"
+
+//#define AUDIO_SEARCH                         "R:/audio/audio_search.mid"
+
+#define AUDIO_WATCH_SEARCH                   "R:/audio/audio_watch_search.mp3"
+
+
+
+
+//******** image resource ********
+
 //#define ICON_POWERON_LOGO     "R:/png/poweron/img_poweron_logo.png"
 /* Since partition_ops() limit, spi driver probe after ui_phase2, so ui_phase1 png use C file */
 LV_IMG_DECLARE(img_poweron_logo);
@@ -17,12 +41,10 @@ LV_IMG_DECLARE(img_poweron_logo);
 #if USE_POWER_ON_GIF
 #define ANIM_POWER_ON                    "R:/gif/anim_power_on.gif"
 #endif
-#define AUDIO_POWER_ON                    "R:/audio/audio_power_on.mid"
 
 #if USE_POWER_OFF_GIF
 #define ANIM_POWER_OFF                    "R:/gif/anim_power_off.gif"
 #endif
-#define AUDIO_POWER_OFF                   "R:/audio/audio_power_off.mid"
 
 
 //upay
@@ -223,7 +245,6 @@ LV_IMG_DECLARE(img_poweron_logo);
 //#define AUDIO_POWER_OFF                   "R:/audio/audio_power_off.mid"
 //#endif
 
-#define AUDIO_SETTING_AUDIO_MSG           "R:/audio/audio_msg.amr"
 
 //status and setting
 #define ICON_STATUS_MUTE                    "R:/png/status_and_setting/icon_mute.png"
@@ -296,7 +317,6 @@ LV_IMG_DECLARE(img_poweron_logo);
 #define ICON_CHECK_TEST              "R:/png/engineer/icon_check_test.png"
 #define ICON_UNCHECK                 "R:/png/engineer/icon_uncheck.png"
 
-#define AUDIO_INCOMING_CALL          "R:/audio/audio_incoming_call.mid"
 
 //pedometer
 #if USE_LV_WATCH_PEDOMETER!= 0
@@ -381,7 +401,6 @@ LV_IMG_DECLARE(img_poweron_logo);
 // audio
 //#define AUDIO_POWER_ON                    "R:/audio/audio_power_on.mid"
 //#define AUDIO_POWER_OFF                   "R:/audio/audio_power_off.mid"
-#define AUDIO_MSG                         "R:/audio/audio_msg.amr"
 
 #define ICON_REMIND                              "R:/png/common/icon_remind.png"
 
@@ -472,7 +491,6 @@ LV_IMG_DECLARE(img_poweron_logo);
 
 //alarm
 #define ANIM_ALARM                          "R:/gif/anim_alarm.gif"
-#define AUDIO_ALARM                         "R:/audio/audio_alarm.mid"
 
 //quick function
 #if USE_LV_WATCH_QUICK_FUNCTION != 0
@@ -622,7 +640,6 @@ LV_IMG_DECLARE(img_poweron_logo);
 #define ANIM_SEARCH                                    "R:/gif/anim_search.gif"
 #endif
 
-#define AUDIO_SEARCH                                   "R:/audio/audio_search.mid"
 
 //exercise
 #if USE_LV_WATCH_EXERCISE != 0
@@ -803,7 +820,6 @@ LV_IMG_DECLARE(img_poweron_logo);
 //#define ICON_TEMPERATURE_MEASURE_BG                    "R:/png/health_measure/icon_temperature_measure_bg.png"
 #endif
 
-#define AUDIO_WATCH_SEARCH                               "R:/audio/audio_watch_search.mp3"
 
 #define ICON_CALL_OUTGOING                    "R:/png/call/ICON_CALL_OUTGOING.png"
 #define ICON_CALL_INCOMING                    "R:/png/call/ICON_CALL_INCOMING.png"
index 729bad9..f1f7545 100644 (file)
@@ -133,10 +133,10 @@ static void mmi_watch_search_audio_ctrl_callback(AUDIO_CTRL_PRIORITY priority)
        
     if(AUDIO_CTRL_PRIORITY_SEARCH == priority) 
        {
-        if (AUDIO_CTRL_PRIORITY_SEARCH == Hal_Audio_Manage_Start_Req(AUDIO_CTRL_PRIORITY_SEARCH, mmi_watch_search_audio_ctrl_callback))
-        {
-            Hal_NFFS_File_Play_Repeat(AUDIO_SEARCH, HAL_AUDIO_SPK_LEVEL_MAX);
-        }
+        //if (AUDIO_CTRL_PRIORITY_SEARCH == Hal_Audio_Manage_Start_Req(AUDIO_CTRL_PRIORITY_SEARCH, mmi_watch_search_audio_ctrl_callback))
+        //{
+        //    Hal_NFFS_File_Play_Repeat(AUDIO_WATCH_SEARCH, HAL_AUDIO_SPK_LEVEL_MAX);
+        //}
     } 
        else if(AUDIO_CTRL_PRIORITY_SEARCH > priority) 
        {
@@ -672,6 +672,29 @@ void mmi_watch_do_not_disturb_nv_read(void)
                SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: nv read fail\n", __FUNCTION__, __LINE__);
                _lv_memset_00(&s_do_not_disturb_data, sizeof(nv_watch_do_not_disturb_t));
        }
+
+#if 0
+       s_do_not_disturb_data.item_info[0].on_off = 1;
+       s_do_not_disturb_data.item_info[0].begin_hour = 1;
+       s_do_not_disturb_data.item_info[0].begin_min = 0;
+       s_do_not_disturb_data.item_info[0].end_hour = 8;
+       s_do_not_disturb_data.item_info[0].end_min = 0;
+       s_do_not_disturb_data.item_info[0].week_bitmap = 0xff;
+
+       s_do_not_disturb_data.item_info[1].on_off = 1;
+       s_do_not_disturb_data.item_info[1].begin_hour = 8;
+       s_do_not_disturb_data.item_info[1].begin_min = 33;
+       s_do_not_disturb_data.item_info[1].end_hour = 10;
+       s_do_not_disturb_data.item_info[1].end_min = 55;
+       s_do_not_disturb_data.item_info[1].week_bitmap = 0xff;
+
+       s_do_not_disturb_data.item_info[2].on_off = 1;
+       s_do_not_disturb_data.item_info[2].begin_hour = 11;
+       s_do_not_disturb_data.item_info[2].begin_min = 0;
+       s_do_not_disturb_data.item_info[2].end_hour = 23;
+       s_do_not_disturb_data.item_info[2].end_min = 23;
+       s_do_not_disturb_data.item_info[2].week_bitmap = 0xff;
+#endif
 }
 
 void mmi_watch_do_not_disturb_data_set(nv_watch_do_not_disturb_t * data)
@@ -690,6 +713,11 @@ bool mmi_watch_is_in_do_not_disturb_time(void)
        uint16_t t_cur_mins = 0;
        uint8_t i = 0;
 
+       if(false == watch_modem_sim_present_check_req())
+       {
+               return false;
+       }
+
        Hal_Rtc_Gettime(&cur_time);
        t_cur_mins = cur_time.tm_hour * 60 + cur_time.tm_min;
        
@@ -714,47 +742,25 @@ bool mmi_watch_is_in_do_not_disturb_time(void)
        return false;
 }
 
-static void mmi_watch_do_not_disturb_screen_prepare_destory(lv_obj_t * activity_obj)
+static void * mmi_watch_do_not_disturb_ext_get(void)
 {
-       SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
-       
-    lv_watch_png_cache_all_free();
-}
-
-static lv_obj_t * mmi_watch_do_not_disturb_screen_create(lv_obj_t * activity_obj)
-{
-       SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
-       
+    lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_DO_NOT_DISTURB);
        if(NULL == activity_obj) 
+               return NULL;
+
+       lv_obj_t * watch_obj = NULL;
+       lv_watch_get_child_obj(activity_obj, lv_watch_obj_signal, &watch_obj);
+       if(NULL != watch_obj) 
        {
-               lv_watch_activity_ext_t activity_ext;
-               memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t));
-               activity_ext.actId = ACT_ID_DO_NOT_DISTURB;
-               activity_ext.create = NULL;
-               activity_ext.prepare_destory = mmi_watch_do_not_disturb_screen_prepare_destory;
-               activity_obj = lv_watch_creat_activity_obj(&activity_ext);
-               LV_ASSERT_MEM(activity_obj);
-               if(activity_obj == NULL) 
-               {
-                       return(NULL);
-               }
+               void * ext = lv_obj_get_ext_attr(watch_obj);
+               return ext;
        }
 
-       lv_obj_t * obj = lv_watch_obj_create(activity_obj);
-       LV_ASSERT_MEM(obj);
-       if(obj == NULL) 
-               return NULL;
-       
-    lv_watch_obj_set_anim_mode(obj, LV_WATCH_ANIM_NO);
-
-       lv_obj_t * cont = lv_cont_create(obj, NULL);
-       lv_obj_set_size(cont, LV_HOR_RES, LV_VER_RES);
-       lv_obj_set_style_local_bg_color(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
-       //lv_obj_set_style_local_radius(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 30);
-       lv_obj_align(cont, NULL, LV_ALIGN_CENTER, 0, 0);
-       lv_obj_set_click(cont, false);
-       //lv_watch_obj_add_element(cont);
+       return NULL;
+}
 
+static void mmi_watch_do_not_disturb_screen_display(lv_obj_t * cont)
+{      
        hal_rtc_t cur_time = {0};
        char t_time_str[16] = {0};
 
@@ -770,7 +776,7 @@ static lv_obj_t * mmi_watch_do_not_disturb_screen_create(lv_obj_t * activity_obj
        lv_label_set_text_id(label_prompt, WATCH_TEXT_ID_FORBIDDEN_PERIOD);
        lv_obj_add_style(label_prompt, LV_LABEL_PART_MAIN, &lv_watch_font26);
        lv_label_set_align(label_prompt, LV_LABEL_ALIGN_CENTER);
-       lv_obj_align(label_prompt, label_time, LV_ALIGN_OUT_BOTTOM_MID, 0, 20);
+       lv_obj_align(label_prompt, label_time, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
 
        uint8_t i = 0;
        uint8_t j = 0;
@@ -790,10 +796,75 @@ static lv_obj_t * mmi_watch_do_not_disturb_screen_create(lv_obj_t * activity_obj
                        lv_label_set_text(label, t_time_str);
                        lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font26);
                        lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
-                       lv_obj_align(label, label_prompt, LV_ALIGN_OUT_BOTTOM_MID, 0, 8 + (t_height + 8) * j);
+                       lv_obj_align(label, label_prompt, LV_ALIGN_OUT_BOTTOM_MID, 0, 5 + (t_height + 5) * j);
                        j++;
                }
        }
+}
+
+static void mmi_watch_do_not_disturb_task_cb(lv_task_t * task)
+{
+       lv_do_not_disturb_ext_t * ext = (lv_do_not_disturb_ext_t * )mmi_watch_do_not_disturb_ext_get();
+       if(NULL == ext)
+               return;
+       
+       lv_obj_clean(ext->cont);
+       mmi_watch_do_not_disturb_screen_display(ext->cont);
+}
+
+static void mmi_watch_do_not_disturb_screen_prepare_destory(lv_obj_t * activity_obj)
+{
+       SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+       
+    lv_watch_png_cache_all_free();
+
+       lv_do_not_disturb_ext_t * ext = (lv_do_not_disturb_ext_t * )mmi_watch_do_not_disturb_ext_get();
+       if(NULL != ext->refresh_task)
+       {
+               lv_task_del(ext->refresh_task);
+               ext->refresh_task = NULL;
+       }
+}
+
+static lv_obj_t * mmi_watch_do_not_disturb_screen_create(lv_obj_t * activity_obj)
+{
+       SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+       
+       if(NULL == activity_obj) 
+       {
+               lv_watch_activity_ext_t activity_ext;
+               memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t));
+               activity_ext.actId = ACT_ID_DO_NOT_DISTURB;
+               activity_ext.create = NULL;
+               activity_ext.prepare_destory = mmi_watch_do_not_disturb_screen_prepare_destory;
+               activity_obj = lv_watch_creat_activity_obj(&activity_ext);
+               LV_ASSERT_MEM(activity_obj);
+               if(activity_obj == NULL) 
+               {
+                       return(NULL);
+               }
+       }
+
+       lv_obj_t * obj = lv_watch_obj_create(activity_obj);
+       LV_ASSERT_MEM(obj);
+       if(obj == NULL) 
+               return NULL;
+       
+    lv_watch_obj_set_anim_mode(obj, LV_WATCH_ANIM_NO);
+
+       lv_do_not_disturb_ext_t * ext = (lv_do_not_disturb_ext_t * )lv_obj_allocate_ext_attr(obj, sizeof(lv_do_not_disturb_ext_t));
+       
+       lv_obj_t * cont = lv_cont_create(obj, NULL);
+       lv_obj_set_size(cont, LV_HOR_RES, LV_VER_RES);
+       lv_obj_set_style_local_bg_color(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
+       //lv_obj_set_style_local_radius(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 30);
+       lv_obj_align(cont, NULL, LV_ALIGN_CENTER, 0, 0);
+       lv_obj_set_click(cont, false);
+       //lv_watch_obj_add_element(cont);
+       ext->cont = cont;
+
+       mmi_watch_do_not_disturb_screen_display(cont);
+       ext->refresh_task = lv_task_create(mmi_watch_do_not_disturb_task_cb, 2000, LV_TASK_PRIO_HIGH, NULL);
 
        return obj;
 }
index a21751a..8873fc8 100644 (file)
@@ -67,6 +67,16 @@ void mmi_watch_no_sim_power_off_check_mission(void);
 void mmi_ui_msg_update_charging_prompt(uint32_t chg_status);
 
 #ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__
+
+typedef struct
+{
+    lv_watch_obj_ext_t old_ext;
+       
+       lv_obj_t * cont;
+    lv_task_t * refresh_task;
+} lv_do_not_disturb_ext_t;
+
+
 void mmi_watch_do_not_disturb_nv_read(void);
 void mmi_watch_do_not_disturb_data_set(nv_watch_do_not_disturb_t * data);
 bool mmi_watch_is_in_do_not_disturb_time(void);