gengxin
author@CHENG <2393524978@qq.com>
Wed, 19 Jun 2024 09:02:35 +0000 (17:02 +0800)
committer@CHENG <2393524978@qq.com>
Wed, 19 Jun 2024 09:02:35 +0000 (17:02 +0800)
16 files changed:
2.sdk/sdk/gui/lv_watch/framework/message/mmi_msg_zhsx.c
2.sdk/sdk/gui/lv_watch/lv_apps/alarm/alarm.c
2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_main.c
2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_reset.c
2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_measure.c
2.sdk/sdk/gui/lv_watch/lv_apps/lowbattery/lowbattery.c
2.sdk/sdk/gui/lv_watch/lv_apps/mmi_remind/mmi_remind.c
2.sdk/sdk/gui/lv_watch/lv_apps/mmi_wechat/wechat.c
2.sdk/sdk/gui/lv_watch/lv_apps/mmi_wechat/wechat_circle.c
2.sdk/sdk/gui/lv_watch/lv_apps/phone/phone.c
2.sdk/sdk/gui/lv_watch/lv_apps/restart_and_reset/restart_and_reset.c
2.sdk/sdk/gui/lv_watch/lv_apps/shutdown/shutdown.c
2.sdk/sdk/gui/lv_watch/lv_apps/sos/sos.c
2.sdk/sdk/gui/lv_watch/lv_watch.c
2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.c
2.sdk/sdk/product/craneg_modem/lv_gui_main.c

index 6b1a692..c501ea4 100644 (file)
@@ -110,19 +110,17 @@ void mmi_ui_msg_action_charging_prompt(uint32_t chg_status)
                return;
        }
 
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_WATCH_SEARCHING))
-               return;
-
 #ifdef __MMI_ZHSX_SUPPORT_HEALTH_SENSOR__
        if(true == mmi_health_measure_state_is_ui_measure())
                return;
 #endif
 
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_MAIN))
-               return;
-       
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_TEST))
+       if((true == mmi_is_ACT_ID_FACTORY_MODE_MAIN())
+               || (true == mmi_is_ACT_ID_WATCH_SEARCHING())
+               )
+       {
                return;
+       }
        
        mmi_msg_charging_prompt_t * msg_info = (mmi_msg_charging_prompt_t *)Hal_Mem_Alloc(sizeof(mmi_msg_charging_prompt_t));
 
@@ -157,10 +155,7 @@ void mmi_ui_msg_action_do_not_disturb(uint8_t flag)
        if(0 == Hal_Pm_Get_State())
                return;
 
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_MAIN))
-               return;
-       
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_TEST))
+       if(true == mmi_is_ACT_ID_FACTORY_MODE_MAIN())
                return;
        
        mmi_msg_do_not_disturb_t * msg_info = (mmi_msg_do_not_disturb_t *)Hal_Mem_Alloc(sizeof(mmi_msg_do_not_disturb_t));
index 8a4ff0b..3ec0bbc 100644 (file)
@@ -39,6 +39,14 @@ static void shutdown_prepare_destory(lv_obj_t * activity_obj);
 /**********************
  *   GLOBAL FUNCTIONS
 ***********************/
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_ALARM = false;
+
+bool mmi_is_ACT_ID_ALARM(void)
+{
+       return s_is_ACT_ID_ALARM;
+}
+#endif
 
 #ifdef __MMI_ZHSX_SUPPORT__
 void mmi_alarm_ring_click_stop(lv_obj_t * obj, lv_event_t e)
@@ -134,6 +142,10 @@ lv_obj_t * alarm_create(lv_obj_t * activity_obj)
         activity_obj = lv_watch_creat_activity_obj(&activity_ext);
     }
 
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_ALARM = true;
+#endif
+
     /* watch obj */
     lv_obj_t * obj = lv_watch_obj_create(activity_obj);
     lv_watch_obj_set_anim_mode(obj, LV_WATCH_ANIM_HOR_RIGHT_HIDE);
@@ -364,6 +376,10 @@ static void alarm_prepare_destory(lv_obj_t * activity_obj)
     /* inform voice msg of the end */
     voice_msg_alarm_end();
 #endif
+
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_ALARM = false;
+#endif
 }
 
 static lv_alarm_obj_ext_t * alarm_get_ext(void)
index e61c74c..ed0f083 100644 (file)
@@ -125,6 +125,16 @@ static bool s_is_in_factory_mode = false;
 /**********************
  *   GLOBAL FUNCTIONS
 ***********************/
+
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_FACTORY_MODE_MAIN = false;
+
+bool mmi_is_ACT_ID_FACTORY_MODE_MAIN(void)
+{
+       return s_is_ACT_ID_FACTORY_MODE_MAIN;
+}
+#endif
+
 lv_obj_t * factorymode_main_create(lv_obj_t * activity_obj)
 {
     lv_obj_t * obj;
@@ -141,6 +151,10 @@ lv_obj_t * factorymode_main_create(lv_obj_t * activity_obj)
         }
     }
 
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_FACTORY_MODE_MAIN = true;
+#endif
+
     obj = lv_watch_obj_create(activity_obj);
     LV_ASSERT_MEM(obj);
     if(NULL == obj) {
@@ -371,6 +385,9 @@ static void factorymode_main_prepare_destory(lv_obj_t * activity_obj)
 #ifdef __MMI_ZHSX_SUPPORT__
        s_is_in_factory_mode = false;
 #endif
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_FACTORY_MODE_MAIN = false;
+#endif
 }
 
 #ifdef __MMI_ZHSX_SUPPORT__
index 71470b8..c5b4e78 100644 (file)
@@ -258,6 +258,16 @@ static void factoryreset_no_btn_event_cb(lv_obj_t * btn, lv_event_t e)
 
 
 #ifdef __MMI_ZHSX_SUPPORT__
+
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_WATCH_FACTORY_RESET = false;
+
+bool mmi_is_ACT_ID_WATCH_FACTORY_RESET(void)
+{
+       return s_is_ACT_ID_WATCH_FACTORY_RESET;
+}
+#endif
+
 void mmi_watch_reset_prepare_destory(lv_obj_t * activity_obj)
 {
 
@@ -286,6 +296,10 @@ void mmi_watch_reset(lv_obj_t * activity_obj)
                        return ;
     }
 
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_WATCH_FACTORY_RESET = true;
+#endif
+
     lv_obj_t * watch_obj = lv_watch_obj_create(activity_obj);
     if(NULL == watch_obj)
         return ;
index 34a77b8..96d4c49 100644 (file)
@@ -107,13 +107,7 @@ void mmi_hsensor_blood_value_get(uint16_t * blood_high_value, uint16_t * blood_l
 
 void mmi_hsensor_spo2_value_get(uint16_t * spo2_value)
 {
-#if 1 // def __HEALTH_MEASURE_FAKE_DATA__
-       srand(Hal_Timer_Get_Counter());
-       * spo2_value = 95 + rand() % 6;
-#else
-
        mmi_hsensor_measure_value_get(NULL, NULL, NULL, spo2_value);
-#endif
 }
 
 void mmi_hsensor_blood_glucose_value_get(float * blood_glucose_value)
@@ -273,10 +267,13 @@ bool mmi_health_measure_spo2_data_process(uint16_t * spo2_value)
 
        mmi_hsensor_spo2_value_get(&t_value);
 
-       if(DEFAULT_SPO2_VALUE_MAX < t_value)
-               t_value = DEFAULT_SPO2_VALUE_MAX;
-       else if(DEFAULT_SPO2_VALUE_MIN > t_value)
-               t_value = DEFAULT_SPO2_VALUE_MIN;
+       if((DEFAULT_SPO2_VALUE_MAX < t_value)
+               || (DEFAULT_SPO2_VALUE_MIN > t_value)
+               )
+       {
+               srand(Hal_Timer_Get_Counter());
+               t_value = 95 + rand() % 6;
+       }
 
        * spo2_value = t_value;
 
@@ -888,8 +885,7 @@ void mmi_health_measure_process_finish(void)
 static void mmi_health_measure_process_timer_handle(uint32_t para)
 {
        if(false == mmi_health_measure_wear_state_get()
-               || (NULL != lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_MAIN))
-               || (NULL != lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_TEST))
+               || (true == mmi_is_ACT_ID_FACTORY_MODE_MAIN())
                || HAL_CHG_CONNECTED == Hal_Charger_Get_Status()
                )
        {
@@ -1026,10 +1022,7 @@ bool mmi_health_measure_timed_measure_start(MMI_HEALTH_MEASURE_TYPE_E measure_ty
        if(HAL_CHG_CONNECTED == Hal_Charger_Get_Status())
                return false;
        
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_MAIN))
-               return false;
-       
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_TEST))
+       if(true == mmi_is_ACT_ID_FACTORY_MODE_MAIN())
                return false;
        
        if(true == mmi_health_measure_state_is_in_measure())
@@ -1060,10 +1053,7 @@ void mmi_health_measure_app_measure_start(MMI_HEALTH_MEASURE_TYPE_E measure_type
        if(HAL_CHG_CONNECTED == Hal_Charger_Get_Status())
                return;
        
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_MAIN))
-               return;
-       
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_TEST))
+       if(true == mmi_is_ACT_ID_FACTORY_MODE_MAIN())
                return;
        
        if(true == mmi_health_measure_state_is_ui_measure())
index 5dda400..5d38d5d 100644 (file)
@@ -98,60 +98,71 @@ void mmi_ui_msg_update_low_battery_screen(uint32_t flag)
        }
 }
 
+static void mmi_low_battery_check_task_cb(lv_task_t * task)
+{
+        if(HAL_CHG_CONNECTED == Hal_Charger_Get_Status())
+        {
+                s_low_battery_upload_flag = true;
+                
+                if(NULL != lv_watch_get_activity_obj(ACT_ID_LOWBATTERY))
+                {
+                        printf("[@CHENG_DEBUG]: power charging start and exit low battery mode\n");
+                        //mmi_ui_msg_action_low_battery(MMI_LOW_BATTERY_SCREEN_DESTROY);
+                        mmi_ui_msg_update_low_battery_screen(MMI_LOW_BATTERY_SCREEN_DESTROY);
+                }
+        }
+        else
+        {
+                if(Hal_Battery_Get_Status() < ENTER_LOWBATTERY_MODE_LEVEL)
+                {
+                        if(true == s_low_battery_upload_flag)
+                        {
+                                mmi_protocol_action_low_battery();
+                                s_low_battery_upload_flag = false;
+                        }
+                        
+                        if((NULL == lv_watch_get_activity_obj(ACT_ID_LOWBATTERY))
+                                && (NULL == lv_watch_get_activity_obj(ACT_ID_PHONE))
+                                )
+                        {
+                                printf("enter low battery mode\n");
+                                //mmi_ui_msg_action_low_battery(MMI_LOW_BATTERY_SCREEN_CREATE);
+                                mmi_ui_msg_update_low_battery_screen(MMI_LOW_BATTERY_SCREEN_CREATE);
+                        }
+                        else
+                        {
+                                // update time
+                                if(NULL == lv_watch_get_activity_obj(ACT_ID_PHONE))
+                                {
+                                        //mmi_ui_msg_action_low_battery(MMI_LOW_BATTERY_SCREEN_UPDATE);
+                                        mmi_ui_msg_update_low_battery_screen(MMI_LOW_BATTERY_SCREEN_UPDATE);
+                                }
+                                if(Hal_Battery_Get_Status() == AUTO_POWER_OFF_LEVEL)
+                                {
+                                        printf("power off in low battery mode\n");
+                                        //mmi_ui_msg_action_low_battery(MMI_LOW_BATTERY_POWER_OFF);
+                                        mmi_ui_msg_update_low_battery_screen(MMI_LOW_BATTERY_POWER_OFF);
+                                }
+                        }
+                } 
+                else
+                {
+                        s_low_battery_upload_flag = true;
+                        
+                        if(NULL != lv_watch_get_activity_obj(ACT_ID_LOWBATTERY))
+                        {
+                                printf("[@CHENG_DEBUG][%s][%d]: exit low battery mode\n", __FUNCTION__, __LINE__);
+                                //mmi_ui_msg_action_low_battery(MMI_LOW_BATTERY_SCREEN_DESTROY);
+                                mmi_ui_msg_update_low_battery_screen(MMI_LOW_BATTERY_SCREEN_DESTROY);
+                        }
+                }
+        }
+}
+
 void mmi_low_battery_check_mission(void)
 {
-    if(HAL_CHG_CONNECTED == Hal_Charger_Get_Status())
-       {
-               s_low_battery_upload_flag = true;
-               
-        if(NULL != lv_watch_get_activity_obj(ACT_ID_LOWBATTERY))
-               {
-            printf("[@CHENG_DEBUG]: power charging start and exit low battery mode\n");
-                       mmi_ui_msg_action_low_battery(MMI_LOW_BATTERY_SCREEN_DESTROY);
-        }
-    }
-       else
-       {
-        if(Hal_Battery_Get_Status() < ENTER_LOWBATTERY_MODE_LEVEL)
-               {
-                       if(true == s_low_battery_upload_flag)
-                       {
-                               mmi_protocol_action_low_battery();
-                               s_low_battery_upload_flag = false;
-                       }
-                       
-            if((NULL == lv_watch_get_activity_obj(ACT_ID_LOWBATTERY))
-                && (NULL == lv_watch_get_activity_obj(ACT_ID_PHONE))
-                )
-            {
-                printf("enter low battery mode\n");
-                               mmi_ui_msg_action_low_battery(MMI_LOW_BATTERY_SCREEN_CREATE);
-            }
-                       else
-                       {
-                // update time
-                if(NULL == lv_watch_get_activity_obj(ACT_ID_PHONE))
-                               {
-                                       mmi_ui_msg_action_low_battery(MMI_LOW_BATTERY_SCREEN_UPDATE);
-                }
-                if(Hal_Battery_Get_Status() == AUTO_POWER_OFF_LEVEL)
-                               {
-                    printf("power off in low battery mode\n");
-                                       mmi_ui_msg_action_low_battery(MMI_LOW_BATTERY_POWER_OFF);
-                }
-            }
-        } 
-               else
-               {
-                       s_low_battery_upload_flag = true;
-                       
-            if(NULL != lv_watch_get_activity_obj(ACT_ID_LOWBATTERY))
-                       {
-                printf("[@CHENG_DEBUG][%s][%d]: exit low battery mode\n", __FUNCTION__, __LINE__);
-                               mmi_ui_msg_action_low_battery(MMI_LOW_BATTERY_SCREEN_DESTROY);
-            }
-        }
-    }
+       lv_task_t * task_p = lv_task_create(mmi_low_battery_check_task_cb, 100, LV_TASK_PRIO_MID, NULL);
+       lv_task_once(task_p);
 }
 #else
 void lowbattery_task(lv_task_t * task)
index 97fafa6..6c412a0 100644 (file)
@@ -48,6 +48,14 @@ static mmi_remind_screen_info_t s_remind_info[] =
        { MMI_REMIND_TYPE_MAX, 0, NULL, NULL},
 };
 
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_REMIND = false;
+
+bool mmi_is_ACT_ID_REMIND(void)
+{
+       return s_is_ACT_ID_REMIND;
+}
+#endif
 
 #ifdef __MMI_REMIND_WAKE_UP_SUPPORT__
 static nv_watch_remind_item_t s_remind_wake_up_data = {0};
@@ -594,11 +602,15 @@ void mmi_remind_sedentary_screen_active(void)
 
 bool mmi_remind_screen_is_active(void)
 {
+#if 0
        lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_REMIND);
        if(NULL != activity_obj) 
                return true;
 
        return false;
+#else
+       return mmi_is_ACT_ID_REMIND();
+#endif
 }
 
 static lv_remind_obj_ext_t * mmi_remind_screen_ext_get(void)
@@ -638,6 +650,8 @@ static void mmi_remind_screen_prepare_destory(lv_obj_t * activity_obj)
     }
 
     watch_set_suspend_enable(true, ACT_ID_REMIND, 0);
+
+       s_is_ACT_ID_REMIND = false;
 }
 
 void mmi_remind_screen_clean(void)
@@ -682,6 +696,8 @@ static lv_obj_t * mmi_remind_screen_create(lv_obj_t * activity_obj)
                        return NULL;
        }
 
+       s_is_ACT_ID_REMIND = true;
+
        /* watch obj */
        lv_obj_t * obj = lv_watch_obj_create(activity_obj);
        lv_watch_obj_set_anim_mode(obj, LV_WATCH_ANIM_NO);
index b2b9350..ca21500 100644 (file)
@@ -13,6 +13,10 @@ static nv_watch_wechat_msg_item_info_t s_wechat_msg_item_info = {0};
 static uint8_t s_wechat_play_anim_count = 0;
 static char s_wechat_selected_item_index = -1;
 static bool s_item_receive_playing = false;
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_WECHAT_RECORDING = false;
+static bool s_is_ACT_ID_WECHAT_SENDING = false;
+#endif
 
 
 void wechat_msg_info_nv_write(void)
@@ -225,6 +229,9 @@ void wechat_prepare_destory(lv_obj_t * activity_obj)
        s_item_receive_playing = false;
 
        WECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+       s_is_ACT_ID_WECHAT_RECORDING = false;
+       s_is_ACT_ID_WECHAT_SENDING = false;
 }
 
 static void wechat_chat_list_set_slide_enable(lv_watch_obj_ext_t * ext, bool enable)
@@ -258,6 +265,7 @@ bool wechat_msg_voice_is_playing(void)
 
 bool wechat_msg_voice_is_recording(void)
 {
+#if 0
        bool result = false;
        
        if(lv_watch_get_activity_obj(ACT_ID_WECHAT_RECORDING)) 
@@ -266,10 +274,14 @@ bool wechat_msg_voice_is_recording(void)
        }
 
        return result;
+#else
+       return s_is_ACT_ID_WECHAT_RECORDING;
+#endif
 }
 
 bool wechat_msg_item_is_sending(void)
 {
+#if 0
        bool result = false;
        
        if(lv_watch_get_activity_obj(ACT_ID_WECHAT_SENDING)) 
@@ -278,6 +290,9 @@ bool wechat_msg_item_is_sending(void)
        }
 
        return result;
+#else
+       return s_is_ACT_ID_WECHAT_SENDING;
+#endif
 }
 
 bool wechat_screen_is_prohibit_interrupted(void)
@@ -753,6 +768,8 @@ void wechat_msg_sending_screen_prepare_destory(lv_obj_t * activity_obj)
                        sending_ext->result_timer_id = NULL;
                }
        }
+
+       s_is_ACT_ID_WECHAT_SENDING = false;
 }
 
 lv_obj_t * wechat_msg_sending_screen_create(lv_obj_t * activity_obj)
@@ -771,6 +788,9 @@ lv_obj_t * wechat_msg_sending_screen_create(lv_obj_t * activity_obj)
                        return NULL;
     }
 
+       s_is_ACT_ID_WECHAT_RECORDING = false;
+       s_is_ACT_ID_WECHAT_SENDING = true;
+
     lv_obj_t * obj = lv_watch_obj_create(activity_obj);
        if(NULL == obj)
                return NULL;
@@ -1012,6 +1032,8 @@ void wechat_msg_recording_screen_prepare_destory(lv_obj_t * activity_obj)
     lv_watch_png_cache_all_free();
 
        wechat_msg_recording_stop(true);
+
+       s_is_ACT_ID_WECHAT_RECORDING = false;
 }
 
 lv_obj_t * wechat_msg_recording_screen_create(lv_obj_t * activity_obj)
@@ -1030,6 +1052,8 @@ lv_obj_t * wechat_msg_recording_screen_create(lv_obj_t * activity_obj)
                        return NULL;
     }
 
+       s_is_ACT_ID_WECHAT_RECORDING = true;
+
     lv_obj_t * obj = lv_watch_obj_create(activity_obj);
     LV_ASSERT_MEM(obj);
        
index 4f5971f..2b0f99a 100644 (file)
@@ -13,6 +13,10 @@ static nv_watch_wechat_msg_item_info_t s_wechat_msg_item_info = {0};
 static uint8_t s_wechat_play_anim_count = 0;
 static char s_wechat_selected_item_index = -1;
 static bool s_item_receive_playing = false;
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_WECHAT_RECORDING = false;
+static bool s_is_ACT_ID_WECHAT_SENDING = false;
+#endif
 
 
 void wechat_msg_info_nv_write(void)
@@ -225,6 +229,9 @@ void wechat_prepare_destory(lv_obj_t * activity_obj)
        s_item_receive_playing = false;
 
        WECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+       s_is_ACT_ID_WECHAT_RECORDING = false;
+       s_is_ACT_ID_WECHAT_SENDING = false;
 }
 
 static void wechat_chat_list_set_slide_enable(lv_watch_obj_ext_t * ext, bool enable)
@@ -258,6 +265,7 @@ bool wechat_msg_voice_is_playing(void)
 
 bool wechat_msg_voice_is_recording(void)
 {
+#if 0
        bool result = false;
        
        if(lv_watch_get_activity_obj(ACT_ID_WECHAT_RECORDING)) 
@@ -266,10 +274,14 @@ bool wechat_msg_voice_is_recording(void)
        }
 
        return result;
+#else
+       return s_is_ACT_ID_WECHAT_RECORDING;
+#endif
 }
 
 bool wechat_msg_item_is_sending(void)
 {
+#if 0
        bool result = false;
        
        if(lv_watch_get_activity_obj(ACT_ID_WECHAT_SENDING)) 
@@ -278,6 +290,9 @@ bool wechat_msg_item_is_sending(void)
        }
 
        return result;
+#else
+       return s_is_ACT_ID_WECHAT_SENDING;
+#endif
 }
 
 bool wechat_screen_is_prohibit_interrupted(void)
@@ -847,6 +862,8 @@ void wechat_msg_sending_screen_prepare_destory(lv_obj_t * activity_obj)
                        sending_ext->result_timer_id = NULL;
                }
        }
+
+       s_is_ACT_ID_WECHAT_SENDING = false;
 }
 
 lv_obj_t * wechat_msg_sending_screen_create(lv_obj_t * activity_obj)
@@ -865,6 +882,9 @@ lv_obj_t * wechat_msg_sending_screen_create(lv_obj_t * activity_obj)
                        return NULL;
     }
 
+       s_is_ACT_ID_WECHAT_RECORDING = false;
+       s_is_ACT_ID_WECHAT_SENDING = true;
+
     lv_obj_t * obj = lv_watch_obj_create(activity_obj);
        if(NULL == obj)
                return NULL;
@@ -1079,6 +1099,8 @@ void wechat_msg_recording_screen_prepare_destory(lv_obj_t * activity_obj)
     lv_watch_png_cache_all_free();
 
        wechat_msg_recording_stop(true);
+
+       s_is_ACT_ID_WECHAT_RECORDING = false;
 }
 
 lv_obj_t * wechat_msg_recording_screen_create(lv_obj_t * activity_obj)
@@ -1097,6 +1119,8 @@ lv_obj_t * wechat_msg_recording_screen_create(lv_obj_t * activity_obj)
                        return NULL;
     }
 
+       s_is_ACT_ID_WECHAT_RECORDING = true;
+
     lv_obj_t * obj = lv_watch_obj_create(activity_obj);
     LV_ASSERT_MEM(obj);
        
index 919932b..7306edb 100644 (file)
@@ -58,6 +58,16 @@ extern phone_call_params_t  call_params;
 /**********************
  *   GLOBAL FUNCTIONS
 ***********************/
+
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_PHONE = false;
+
+bool mmi_is_ACT_ID_PHONE(void)
+{
+       return s_is_ACT_ID_PHONE;
+}
+#endif
+
 #ifdef __MMI_ZHSX_SUPPORT__
 
 #define MMI_AUTO_ANSWER_TIMEOUT (1000 * 30) // ms
@@ -331,6 +341,10 @@ lv_obj_t * phone_create(lv_obj_t * activity_obj, phone_ui_t phone_ui_id)
                        return NULL;
        }
 
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_PHONE = true;
+#endif
+
        lv_obj_t * obj = lv_watch_obj_create(activity_obj);
        LV_ASSERT_MEM(obj);
        if(obj == NULL) 
@@ -620,6 +634,10 @@ lv_obj_t * phone_create(lv_obj_t * activity_obj, phone_ui_t phone_ui_id)
                        return NULL;
        }
 
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_PHONE = true;
+#endif
+
        lv_obj_t * obj = lv_watch_obj_create(activity_obj);
        LV_ASSERT_MEM(obj);
        if(obj == NULL) 
@@ -1536,6 +1554,9 @@ static void phone_prepare_destory(lv_obj_t * activity_obj)
 #ifdef __MMI_ZHSX_SUPPORT__
        mmi_incoming_call_auto_answer_timer_stop();
 #endif
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_PHONE = false;
+#endif
 }
 
 static void get_time_elaps(uint32_t last_time, char * str, int8_t size)
index e72055e..1720e9f 100644 (file)
@@ -36,6 +36,15 @@ static lv_task_t * restart_task_p;
 /**********************
  *   GLOBAL FUNCTIONS
 ***********************/
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_RESTART = false;
+
+bool mmi_is_ACT_ID_RESTART(void)
+{
+       return s_is_ACT_ID_RESTART;
+}
+#endif
+
 lv_obj_t * restart_and_reset_create(lv_obj_t * activity_obj)
 {
     lv_obj_t * obj;
@@ -148,6 +157,10 @@ lv_obj_t * restart_create(lv_obj_t * activity_obj)
             return NULL;
     }
 
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_RESTART = true;
+#endif
+
     obj = lv_watch_obj_create(activity_obj);
     if(NULL == obj)
         return NULL;
@@ -284,6 +297,10 @@ void restart_and_reset_prepare_destory(lv_obj_t * activity_obj)
 void restart_prepare_destory(lv_obj_t * activity_obj)
 {
     lv_watch_png_cache_all_free();
+
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_RESTART = false;
+#endif
 }
 
 #if USE_POWER_OFF_GIF
index 34438b4..ffbc885 100644 (file)
@@ -41,6 +41,15 @@ static uint8_t   shutdown_performance_flg = WATCH_SHUTDOWN_UNPERFORMED;
 /**********************
  *   GLOBAL FUNCTIONS
 ***********************/
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_SHUTDOWN = false;
+
+bool mmi_is_ACT_ID_SHUTDOWN(void)
+{
+       return s_is_ACT_ID_SHUTDOWN;
+}
+#endif
+
 lv_obj_t * shutdown_create(lv_obj_t * activity_obj, bool confirm)
 {
     if(activity_obj == NULL) {
@@ -54,6 +63,10 @@ lv_obj_t * shutdown_create(lv_obj_t * activity_obj, bool confirm)
         if(activity_obj == NULL) return NULL;
     }
 
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_SHUTDOWN = true;
+#endif
+
     lv_obj_t * obj = lv_watch_obj_create(activity_obj);
     LV_ASSERT_MEM(obj);
     if(obj == NULL) return NULL;
@@ -118,6 +131,10 @@ void shutdown_create_btn_action(lv_obj_t * btn, lv_event_t event)
 static void shutdown_prepare_destory(lv_obj_t * activity_obj)
 {
     lv_watch_png_cache_all_free();
+
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_SHUTDOWN = false;
+#endif
 }
 
 static void shutdown_cancel_btn_action(lv_obj_t * btn, lv_event_t event)
index d1edebc..d5ff715 100644 (file)
@@ -18,6 +18,14 @@ static uint8_t s_sos_state = SOS_OFF;
 static nv_watch_sos_number_t s_sos_number = {0};
 static uint8_t s_sos_dial_index = 0;
 
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_SOS = false;
+
+bool mmi_is_ACT_ID_SOS(void)
+{
+       return s_is_ACT_ID_SOS;
+}
+#endif
 
 void mmi_sos_number_nv_write(void)
 {
@@ -129,6 +137,10 @@ void sos_destory(void)
         lv_task_del(ext->gif_task_p);
         lv_obj_del(lv_watch_get_activity_obj(ACT_ID_SOS));
     }
+
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_SOS = false;
+#endif
 }
 
 static void sos_do_dailing_next(void)
@@ -265,6 +277,10 @@ lv_obj_t * sos_create(lv_obj_t * activity_obj)
     if(activity_obj == NULL) 
                return NULL;
 
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_SOS = true;
+#endif
+
     set_sos_status(SOS_GIF_ON);
     lv_sos_ext_t * ext = lv_obj_allocate_ext_attr(activity_obj, sizeof(lv_sos_ext_t));
     if(ext == NULL) 
index dd8cb27..ba500b8 100644 (file)
@@ -312,6 +312,16 @@ void option_key(struct _lv_obj_t * obj, lv_event_t event)
 }
 #endif
 
+
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_POWON_LOGO = false;
+
+bool mmi_is_ACT_ID_POWON_LOGO(void)
+{
+       return s_is_ACT_ID_POWON_LOGO;
+}
+#endif
+
 void watch_poweron_logo(void)
 {
     lv_obj_t * activity_obj = NULL;
@@ -324,6 +334,10 @@ void watch_poweron_logo(void)
     lv_obj_set_style_local_border_side(activity_obj, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_BORDER_SIDE_NONE);
     LV_ASSERT_MEM(activity_obj);
 
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_POWON_LOGO = true;
+#endif
+
     lv_obj_t * poweron_logo = lv_img_create(activity_obj, NULL);
     lv_img_set_src(poweron_logo, ICON_POWERON_LOGO);
     lv_obj_align(poweron_logo, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 0);
@@ -368,6 +382,10 @@ static void watch_poweron_logo_del(void)
         lv_obj_del(activity_obj);
         lv_img_cache_invalidate_src(ICON_POWERON_LOGO);
     }
+
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_POWON_LOGO = false;
+#endif
 }
 
 void watch_low_power_ind_cb(void * para)
index 491ff07..7483abe 100644 (file)
@@ -12,55 +12,54 @@ bool mmi_active_screen_is_prohibit_interrupted(void)
                return true;
        }
        
-    lv_obj_t * obj = lv_watch_get_activity_obj(ACT_ID_PHONE);
-    if(NULL != obj)
+    if(true == mmi_is_ACT_ID_PHONE())
        {
                return true;
        }
 
-    if(NULL != lv_watch_get_activity_obj(ACT_ID_ANYOBJ))
-       {
-               return true;
-       }
+//    if(NULL != lv_watch_get_activity_obj(ACT_ID_ANYOBJ))
+//     {
+//             return true;
+//     }
        
-    if(NULL != lv_watch_get_activity_obj(ACT_ID_SHUTDOWN))
+    if(true == mmi_is_ACT_ID_SHUTDOWN())
        {
                return true;
        }
 
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_RESTART))
+       if(true == mmi_is_ACT_ID_RESTART())
        {
                return true;
        }
 
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_POWON_LOGO))
+       if(true == mmi_is_ACT_ID_POWON_LOGO())
        {
                return true;
        }
 
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_WATCH_FACTORY_RESET))
+       if(true == mmi_is_ACT_ID_WATCH_FACTORY_RESET())
        {
                return true;
        }
 
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_ALARM))
+       if(true == mmi_is_ACT_ID_ALARM())
        {
                return true;
        }
 
 #if USE_LV_WATCH_SOS != 0
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_SOS))
+       if(true == mmi_is_ACT_ID_SOS())
        {
                return true;
        }
 #endif
        
-#if USE_LV_WATCH_UPGRADE != 0
-    if(NULL != lv_watch_get_activity_obj(ACT_ID_UPGRADE))
-       {
-               return true;
-       }
-#endif
+//#if USE_LV_WATCH_UPGRADE != 0
+//    if(NULL != lv_watch_get_activity_obj(ACT_ID_UPGRADE))
+//     {
+//             return true;
+//     }
+//#endif
 
        return false;
 }
@@ -163,6 +162,15 @@ void mmi_watch_reboot_aciton(void)
 }
 
 
+#ifdef __MMI_ZHSX_SUPPORT__
+static bool s_is_ACT_ID_WATCH_SEARCHING = false;
+
+bool mmi_is_ACT_ID_WATCH_SEARCHING(void)
+{
+       return s_is_ACT_ID_WATCH_SEARCHING;
+}
+#endif
+
 static TIMER_ID s_watch_search_timer_id = NULL;
 void mmi_watch_search_timer_stop(void)
 {
@@ -202,8 +210,6 @@ void mmi_watch_search_screen_destroy(void)
 {
        SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
        
-    //lv_watch_search_ext_t * ext = lv_obj_get_ext_attr(lv_watch_get_activity_obj(ACT_ID_WATCH_SEARCHING));
-       
        mmi_watch_search_timer_stop();
 
        Hal_NFFS_File_Play_End();
@@ -220,6 +226,10 @@ void mmi_watch_search_screen_destroy(void)
 
        watch_set_suspend_enable(true, ACT_ID_WATCH_SEARCHING, 0);
     //watch_wakeup_time_reset();
+
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_WATCH_SEARCHING = false;
+#endif
 }
 
 void mmi_watch_search_screen_event_cb(lv_obj_t * obj, lv_event_t e)
@@ -247,6 +257,10 @@ lv_obj_t * mmi_watch_server_search_screen_create(lv_obj_t * activity_obj)
             return NULL;
     }
 
+#ifdef __MMI_ZHSX_SUPPORT__
+       s_is_ACT_ID_WATCH_SEARCHING = true;
+#endif
+
     lv_obj_t * obj = lv_watch_obj_create(activity_obj);
     LV_ASSERT_MEM(obj);
        
@@ -317,7 +331,7 @@ void mmi_watch_searching_aciton(void)
        }
 #endif
 
-       if(NULL != lv_watch_get_activity_obj(ACT_ID_WATCH_SEARCHING))
+       if(true == mmi_is_ACT_ID_WATCH_SEARCHING())
        {
                return ;
        }
@@ -383,8 +397,7 @@ void mmi_falldwon_event_cb(lv_obj_t * obj, lv_event_t e)
 {      
     if(LV_EVENT_CLICKED == e)
        {
-               mmi_falldwon_destroy(); // lv_watch_del_interface(ACT_ID_WATCH_SEARCHING);
-               //lv_obj_del_async(lv_watch_get_activity_obj(ACT_ID_WATCH_SEARCHING));
+               mmi_falldwon_destroy(); // lv_watch_del_interface               //lv_obj_del_async
                lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_WATCH_FALLDWON);
                if(activity_obj)
                {
@@ -762,7 +775,8 @@ static void mmi_watch_no_sim_power_off_callback(uint32_t para)
        mmi_watch_no_sim_power_off_timer_stop();
        
        if((false == watch_modem_sim_present_check_req())
-               && (NULL == lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_MAIN))
+               && (false == mmi_is_ACT_ID_FACTORY_MODE_MAIN())
+               && (false == mmi_is_ACT_ID_PHONE())
                )
        {
                // power off prompt
@@ -798,8 +812,8 @@ void mmi_watch_no_sim_power_off_check_mission(void)
        if(true == watch_modem_sim_present_check_req())
                return;
 
-       if((NULL != lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_MAIN))
-               || (NULL != phone_get_activity_obj())
+       if((true == mmi_is_ACT_ID_FACTORY_MODE_MAIN())
+               || (true == mmi_is_ACT_ID_PHONE())
                )
                return;
 
@@ -838,6 +852,11 @@ static void mmi_watch_charging_prompt_cb(void *para)
        {
                lv_obj_del(activity_obj);
        }
+
+#ifdef __MMI_DIAL_WITH_CHARGE_STATE_SUPPORT__
+    dial_clean_canvas(false);
+       dial_clock_update_immediately();
+#endif
 }
 
 static lv_obj_t * mmi_watch_charging_prompt_screen_create(lv_obj_t * activity_obj, uint32_t chg_status)
index 1b0a4bd..a8c85ab 100644 (file)
@@ -1033,6 +1033,8 @@ static void keypad_watch_cb(struct keypad_param *arg)
                                        mmi_key_power_long_press_action();
                                #elif defined(MMI_PROJECT_C55_DS_D11G_DT_HZCH)
                                        sos_create_event_cb(NULL, LV_EVENT_CLICKED);
+                               #elif defined(MMI_PROJECT_Z5_DS_Z11_COMMON)
+                                       sos_confirm_create(NULL);
                                #endif
                 }
             } else if(arg->key_event == KEY_EVENT_POWER_ON) {
@@ -1490,6 +1492,7 @@ int ui_init_phase1(void)
 }
 
 
+int gui_task_running = 0;
 int ui_init_phase2(void)
 {
 #ifdef __CHENG_DEBUG__
@@ -1505,6 +1508,7 @@ int ui_init_phase2(void)
 #if USE_LV_ROM_FS
     lv_romfs_init(1);
 #endif
+       gui_task_running = 1;
     gui_task_id = uos_create_task(gui_main, NULL, 64, 0x4000, GUI_TASK_PRIORITY, "gui_task");
     printf("gui task %d,  queue id %d\n", gui_task_id, gui_task_id->nMailBoxId);
     return 0;