From: @CHENG <2393524978@qq.com> Date: Tue, 9 Jul 2024 03:16:10 +0000 (+0800) Subject: gengxin X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=2f1df9a2f805af51a011e930b64db3090fb8416d;p=mirrors%2FASR3603_Z5_DS.git gengxin --- diff --git a/2.sdk/project/C55_DS_D11G_DT_HZCH/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/C55_DS_D11G_DT_HZCH/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index 90764c31..5a05a3a5 100644 --- a/2.sdk/project/C55_DS_D11G_DT_HZCH/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/C55_DS_D11G_DT_HZCH/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -241,6 +241,8 @@ #define __MMI_PEDOMETER_STEP_AND_GOAL_STYLE__ +#define __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + #endif diff --git a/2.sdk/project/C55_DS_D11G_DT_HZCH_LTP/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/C55_DS_D11G_DT_HZCH_LTP/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index 90764c31..5a05a3a5 100644 --- a/2.sdk/project/C55_DS_D11G_DT_HZCH_LTP/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/C55_DS_D11G_DT_HZCH_LTP/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -241,6 +241,8 @@ #define __MMI_PEDOMETER_STEP_AND_GOAL_STYLE__ +#define __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + #endif diff --git a/2.sdk/project/Z5_DS_Z11XG_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/Z5_DS_Z11XG_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index 32d12a6e..1fe4e355 100644 --- a/2.sdk/project/Z5_DS_Z11XG_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/Z5_DS_Z11XG_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -243,6 +243,8 @@ #define __MMI_DIAL_WITH_SIGNAL_SUPPORT__ #define __MMI_DIAL_WITH_CHARGE_STATE_SUPPORT__ +#define __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + #endif diff --git a/2.sdk/project/Z5_DS_Z11XG_DTM_FZD_LTP/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/Z5_DS_Z11XG_DTM_FZD_LTP/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index 32d12a6e..1fe4e355 100644 --- a/2.sdk/project/Z5_DS_Z11XG_DTM_FZD_LTP/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/Z5_DS_Z11XG_DTM_FZD_LTP/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -243,6 +243,8 @@ #define __MMI_DIAL_WITH_SIGNAL_SUPPORT__ #define __MMI_DIAL_WITH_CHARGE_STATE_SUPPORT__ +#define __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + #endif diff --git a/2.sdk/project/Z5_DS_Z11XG_DTM_NEWSMY/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/Z5_DS_Z11XG_DTM_NEWSMY/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index ccb1adb7..caf5b120 100644 --- a/2.sdk/project/Z5_DS_Z11XG_DTM_NEWSMY/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/Z5_DS_Z11XG_DTM_NEWSMY/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -243,6 +243,8 @@ #define __MMI_DIAL_WITH_SIGNAL_SUPPORT__ #define __MMI_DIAL_WITH_CHARGE_STATE_SUPPORT__ +#define __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + #endif diff --git a/2.sdk/project/Z5_DS_Z12G_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/Z5_DS_Z12G_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index 248f85d0..abc4ba3f 100644 --- a/2.sdk/project/Z5_DS_Z12G_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/Z5_DS_Z12G_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -240,6 +240,8 @@ #define __MMI_PEDOMETER_STEP_AND_GOAL_STYLE__ +#define __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + #endif diff --git a/2.sdk/project/Z5_DS_Z12G_DTM_LZGDZ/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/Z5_DS_Z12G_DTM_LZGDZ/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index 26ece18f..190942e0 100644 --- a/2.sdk/project/Z5_DS_Z12G_DTM_LZGDZ/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/Z5_DS_Z12G_DTM_LZGDZ/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -240,6 +240,8 @@ #define __MMI_PEDOMETER_STEP_AND_GOAL_STYLE__ +#define __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + #endif diff --git a/2.sdk/project/Z5_DS_Z12XG_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/Z5_DS_Z12XG_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index 7515d1b1..8a564b68 100644 --- a/2.sdk/project/Z5_DS_Z12XG_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/Z5_DS_Z12XG_DTM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -240,6 +240,8 @@ #define __MMI_PEDOMETER_STEP_AND_GOAL_STYLE__ +#define __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + #endif diff --git a/2.sdk/project/Z5_DS_Z12XG_QCBM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/Z5_DS_Z12XG_QCBM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index 88326b44..f2c84ae6 100644 --- a/2.sdk/project/Z5_DS_Z12XG_QCBM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/Z5_DS_Z12XG_QCBM_FZD/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -240,6 +240,9 @@ #define __MMI_CUSTOM_BEI_KE_RUI_SHENG__ +#define __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + + #endif diff --git a/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c b/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c index f29011ce..3a55fe94 100644 --- a/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c +++ b/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c @@ -235,7 +235,9 @@ static void mmi_gui_timing_task_1_minute_mission(void * time_param) #endif // check chip temperature +#ifdef __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ mmi_watch_chip_temperature_check(); +#endif diff --git a/2.sdk/sdk/gui/lv_watch/framework/message/mmi_msg_zhsx.c b/2.sdk/sdk/gui/lv_watch/framework/message/mmi_msg_zhsx.c index e5b0a825..6d9fc998 100644 --- a/2.sdk/sdk/gui/lv_watch/framework/message/mmi_msg_zhsx.c +++ b/2.sdk/sdk/gui/lv_watch/framework/message/mmi_msg_zhsx.c @@ -112,11 +112,6 @@ void mmi_ui_msg_action_charging_prompt(uint32_t chg_status) } #endif - if(true == voip_connect_check_req()) - { - return; - } - #ifdef __MMI_ZHSX_SUPPORT_HEALTH_SENSOR__ if(true == mmi_health_measure_state_is_ui_measure()) return; @@ -138,22 +133,6 @@ void mmi_ui_msg_action_charging_prompt(uint32_t chg_status) Hal_Send_Message((TASK_ID)gui_task_id, (void *)msg_info); } -void mmi_ui_msg_action_low_battery(uint32_t flag) -{ - printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); - - if(0 == Hal_Pm_Get_State()) - return; - - mmi_msg_flag_para_t * msg_info = (mmi_msg_flag_para_t *)Hal_Mem_Alloc(sizeof(mmi_msg_flag_para_t)); - - memset(msg_info, 0x0, sizeof(mmi_msg_flag_para_t)); - msg_info->header.MsgId = MMI_MSG_LOW_BATTERY_SCREEN; - msg_info->flag = flag; - - Hal_Send_Message((TASK_ID)gui_task_id, (void *)msg_info); -} - #ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ void mmi_ui_msg_action_do_not_disturb(uint8_t flag) { @@ -239,21 +218,6 @@ void mmi_ui_msg_action_hengai_bp_measure_result(bool state, uint16_t bp_value_hi #endif -void mmi_ui_msg_action_chip_high_temperature(uint32_t flag) -{ - printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); - - mmi_watch_wake_up(); - - mmi_msg_flag_para_t * msg_info = (mmi_msg_flag_para_t *)Hal_Mem_Alloc(sizeof(mmi_msg_flag_para_t)); - - memset(msg_info, 0x0, sizeof(mmi_msg_flag_para_t)); - msg_info->header.MsgId = MMI_MSG_CHIP_HIGH_TEMP; - msg_info->flag = flag; - - Hal_Send_Message((TASK_ID)gui_task_id, (void *)msg_info); -} - #if 0 diff --git a/2.sdk/sdk/gui/lv_watch/framework/message/mmi_msg_zhsx.h b/2.sdk/sdk/gui/lv_watch/framework/message/mmi_msg_zhsx.h index 9c8f9a3a..9be588dc 100644 --- a/2.sdk/sdk/gui/lv_watch/framework/message/mmi_msg_zhsx.h +++ b/2.sdk/sdk/gui/lv_watch/framework/message/mmi_msg_zhsx.h @@ -73,7 +73,6 @@ void mmi_ui_msg_action_center_number_dialing(void); void mmi_ui_msg_action_no_sim_power_off(void); #endif void mmi_ui_msg_action_charging_prompt(uint32_t chg_status); -void mmi_ui_msg_action_low_battery(uint32_t flag); #ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ void mmi_ui_msg_action_do_not_disturb(uint8_t flag); #endif @@ -92,7 +91,6 @@ void mmi_ui_msg_action_ai_talk_incoming(void); void mmi_ui_msg_action_hengai_bp_calibrate_result(bool state); void mmi_ui_msg_action_hengai_bp_measure_result(bool state, uint16_t bp_value_high, uint16_t bp_value_low); #endif -void mmi_ui_msg_action_chip_high_temperature(uint32_t flag); void mmi_ui_falldown(void); diff --git a/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.c b/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.c index 581cfeaa..0e209a64 100644 --- a/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.c +++ b/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.c @@ -477,15 +477,6 @@ void watch_ui_message_handle(uint16_t msgid, void * msg) break; #endif - case MMI_MSG_LOW_BATTERY_SCREEN: - flag = ((mmi_msg_flag_para_t *)msg)->flag; - mmi_ui_msg_update_low_battery_screen(flag); - break; - - case MMI_MSG_CHIP_HIGH_TEMP: - flag = ((mmi_msg_flag_para_t *)msg)->flag; - mmi_ui_msg_update_chip_high_temperature(flag); - break; #endif diff --git a/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.h b/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.h index 0ce59674..97cb86e4 100644 --- a/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.h +++ b/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.h @@ -142,8 +142,6 @@ enum MMI_MSG_HENGAI_BP_CALIBRATE_RESULT, MMI_MSG_HENGAI_BP_MEASURE_RESULT, #endif - MMI_MSG_LOW_BATTERY_SCREEN, - MMI_MSG_CHIP_HIGH_TEMP, #endif diff --git a/2.sdk/sdk/gui/lv_watch/include/ui_activity_id.h b/2.sdk/sdk/gui/lv_watch/include/ui_activity_id.h index f97d40f0..f81745b5 100644 --- a/2.sdk/sdk/gui/lv_watch/include/ui_activity_id.h +++ b/2.sdk/sdk/gui/lv_watch/include/ui_activity_id.h @@ -236,6 +236,9 @@ enum #endif #ifdef __MMI_USER_PROFILE_SUPPORT__ ACT_ID_USER_PROFILE, +#endif +#ifdef __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + ACT_ID_CHIP_TEMP_HIGH, #endif ACT_ID_WATCH_FALLDWON, ACT_ID_WATCH_CONFIRM, diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/alarm/alarm.c b/2.sdk/sdk/gui/lv_watch/lv_apps/alarm/alarm.c index 3ec0bbc4..63d416e9 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/alarm/alarm.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/alarm/alarm.c @@ -524,12 +524,14 @@ static void alarm_ring(void) /* set recent alarm to rtc */ alarm_set_recent_to_rtc(alarms); -#ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ - if(true == mmi_watch_is_in_do_not_disturb_time()) + if(true == mmi_active_screen_is_prohibit_interrupted() + #ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ + || true == mmi_watch_is_in_do_not_disturb_time() + #endif + ) { - return; + return ; } -#endif lv_obj_t * alarm_obj = lv_watch_get_activity_obj(ACT_ID_ALARM); if(NULL != alarm_obj) { diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/phone/phone_api.c b/2.sdk/sdk/gui/lv_watch/lv_apps/phone/phone_api.c index 5c2d1f7a..81c1d426 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/phone/phone_api.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/phone/phone_api.c @@ -306,15 +306,20 @@ void watch_modem_call_response_clip(int32_t index, MMI_Modem_Call_Response_Clip_ return; } -#ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ - if(true == mmi_watch_is_in_do_not_disturb_time()) + if(false + #ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ + || (true == mmi_watch_is_in_do_not_disturb_time()) + #endif + #ifdef __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + || (true == mmi_is_ACT_ID_CHIP_TEMP_HIGH()) + #endif + ) { printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); Hal_Mem_Free(clip->number); Hal_Mem_Free(clip); return; } -#endif printf("%s: index=%d, number=%s, type=%d\n", __func__, index, clip->number, clip->type); diff --git a/2.sdk/sdk/gui/lv_watch/lv_watch_common.c b/2.sdk/sdk/gui/lv_watch/lv_watch_common.c index 0ca7cbf6..704b91eb 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_watch_common.c +++ b/2.sdk/sdk/gui/lv_watch/lv_watch_common.c @@ -482,6 +482,12 @@ void lv_watch_go_home(void) return; } #endif +#ifdef __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + if(true == mmi_is_ACT_ID_CHIP_TEMP_HIGH()) + { + return; + } +#endif #endif #if USE_LV_WATCH_EXERCISE != 0 @@ -573,14 +579,19 @@ void lv_watch_go_back(void) { mmi_watch_search_screen_destroy(); } -#endif - #ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ if(true == mmi_watch_is_in_do_not_disturb_time()) { return; } #endif +#ifdef __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + if(true == mmi_is_ACT_ID_CHIP_TEMP_HIGH()) + { + return; + } +#endif +#endif #if USE_LV_WATCH_EXERCISE != 0 if(exercise_sport_back_key_handle()) { diff --git a/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.c b/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.c index 6e18806c..4acaf283 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.c +++ b/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.c @@ -22,6 +22,13 @@ bool mmi_active_screen_is_prohibit_interrupted(void) { return true; } + +#ifdef __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + if(true == mmi_is_ACT_ID_CHIP_TEMP_HIGH()) + { + return true; + } +#endif if(true == mmi_is_ACT_ID_SHUTDOWN()) { @@ -1478,20 +1485,531 @@ void mmi_watch_sim_unbind_check(void) #endif -void mmi_ui_msg_update_chip_high_temperature(uint32_t flag) +#ifdef __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + +#ifdef __DEBUG_CHIP_TEMPERATURE_MONITOR_SUPPORT__ +static uint8_t s_CHIP_TEMP_HIGH_THRESHOLD = 50; +static uint8_t s_CHIP_TEMP_LOW_THRESHOLD = 45; +static lv_obj_t * s_high_label = NULL; +static lv_obj_t * s_low_label = NULL; + +static void __prepare_destory(lv_obj_t * activity_obj) +{ + lv_watch_png_cache_all_free(); +} + +static void __low_decrease_btn_action(lv_obj_t * btn, lv_event_t event) +{ + if(LV_EVENT_CLICKED!= event) + return; + + s_CHIP_TEMP_LOW_THRESHOLD--; + + char low_value[8] = {0}; + sprintf(low_value, "%d", s_CHIP_TEMP_LOW_THRESHOLD); + lv_label_set_text(s_low_label, low_value); +} + +static void __low_increase_btn_action(lv_obj_t * btn, lv_event_t event) +{ + if(LV_EVENT_CLICKED!= event) + return; + + if((s_CHIP_TEMP_HIGH_THRESHOLD - 1) > s_CHIP_TEMP_LOW_THRESHOLD) + s_CHIP_TEMP_LOW_THRESHOLD++; + + char low_value[8] = {0}; + sprintf(low_value, "%d", s_CHIP_TEMP_LOW_THRESHOLD); + lv_label_set_text(s_low_label, low_value); +} + +static void __high_decrease_btn_action(lv_obj_t * btn, lv_event_t event) +{ + if(LV_EVENT_CLICKED!= event) + return; + + if((s_CHIP_TEMP_LOW_THRESHOLD + 1) < s_CHIP_TEMP_HIGH_THRESHOLD) + s_CHIP_TEMP_HIGH_THRESHOLD--; + + char high_value[8] = {0}; + sprintf(high_value, "%d", s_CHIP_TEMP_HIGH_THRESHOLD); + lv_label_set_text(s_high_label, high_value); +} + +static void __high_increase_btn_action(lv_obj_t * btn, lv_event_t event) +{ + if(LV_EVENT_CLICKED!= event) + return; + + s_CHIP_TEMP_HIGH_THRESHOLD++; + + char high_value[8] = {0}; + sprintf(high_value, "%d", s_CHIP_TEMP_HIGH_THRESHOLD); + lv_label_set_text(s_high_label, high_value); +} + +static lv_obj_t * __create(lv_obj_t * activity_obj) +{ + 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_ANYOBJ; + activity_ext.create = __create; + activity_ext.prepare_destory = __prepare_destory; + activity_obj = lv_watch_creat_activity_obj(&activity_ext); + LV_ASSERT_MEM(activity_obj); + if(NULL == activity_obj) { + return NULL; + } + } + + lv_obj_t * obj = lv_watch_obj_create(activity_obj); + LV_ASSERT_MEM(obj); + if(NULL == obj) { + return NULL; + } + + lv_obj_t * content = lv_cont_create(obj, NULL); + lv_obj_set_size(content, lv_obj_get_width(obj), lv_obj_get_height(obj)); + lv_obj_add_style(content, LV_CONT_PART_MAIN, &lv_watch_style_transp); + lv_obj_align(content, NULL, LV_ALIGN_CENTER, 0, 0); + + // low + lv_obj_t * low_label = lv_label_create(content, NULL); + lv_obj_add_style(low_label, LV_LABEL_PART_MAIN, &lv_watch_font26_gray); + char low_value[8] = {0}; + sprintf(low_value, "%d", s_CHIP_TEMP_LOW_THRESHOLD); + lv_label_set_text(low_label, low_value); + lv_label_set_align(low_label, LV_LABEL_ALIGN_CENTER); + lv_obj_align(low_label, NULL, LV_ALIGN_IN_TOP_MID, 0, 40); + s_low_label = low_label; + + lv_obj_t * low_btn_decrease = lv_imgbtn_create(content, NULL); + lv_imgbtn_set_src(low_btn_decrease, LV_BTN_STATE_RELEASED, ICON_DECREASE); + lv_imgbtn_set_src(low_btn_decrease, LV_BTN_STATE_PRESSED, ICON_DECREASE); + lv_obj_align(low_btn_decrease, NULL, LV_ALIGN_IN_TOP_LEFT, 20, 30); + lv_obj_set_event_cb(low_btn_decrease, __low_decrease_btn_action); + + lv_obj_t * low_btn_increase = lv_imgbtn_create(content, NULL); + lv_imgbtn_set_src(low_btn_increase, LV_BTN_STATE_RELEASED, ICON_INCREASE); + lv_imgbtn_set_src(low_btn_increase, LV_BTN_STATE_PRESSED, ICON_INCREASE); + lv_obj_align(low_btn_increase, NULL, LV_ALIGN_IN_TOP_RIGHT, -20, 30); + lv_obj_set_event_cb(low_btn_increase, __low_increase_btn_action); + + // high + lv_obj_t * high_label = lv_label_create(content, NULL); + lv_obj_add_style(high_label, LV_LABEL_PART_MAIN, &lv_watch_font26_gray); + char high_value[8] = {0}; + sprintf(high_value, "%d", s_CHIP_TEMP_HIGH_THRESHOLD); + lv_label_set_text(high_label, high_value); + lv_label_set_align(high_label, LV_LABEL_ALIGN_CENTER); + lv_obj_align(high_label, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -40); + s_high_label = high_label; + + lv_obj_t * high_btn_decrease = lv_imgbtn_create(content, NULL); + lv_imgbtn_set_src(high_btn_decrease, LV_BTN_STATE_RELEASED, ICON_DECREASE); + lv_imgbtn_set_src(high_btn_decrease, LV_BTN_STATE_PRESSED, ICON_DECREASE); + lv_obj_align(high_btn_decrease, NULL, LV_ALIGN_IN_BOTTOM_LEFT, 20, -30); + lv_obj_set_event_cb(high_btn_decrease, __high_decrease_btn_action); + + lv_obj_t * high_btn_increase = lv_imgbtn_create(content, NULL); + lv_imgbtn_set_src(high_btn_increase, LV_BTN_STATE_RELEASED, ICON_INCREASE); + lv_imgbtn_set_src(high_btn_increase, LV_BTN_STATE_PRESSED, ICON_INCREASE); + lv_obj_align(high_btn_increase, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, -20, -30); + lv_obj_set_event_cb(high_btn_increase, __high_increase_btn_action); + + return obj; +} + +void __create_event_cb(lv_obj_t * btn, lv_event_t event) +{ + if(LV_EVENT_CLICKED == event) + { + lv_watch_png_cache_all_free(); + + lv_obj_t * obj = __create(NULL); + LV_ASSERT_MEM(obj); + if(obj == NULL) return; + } +} +#endif + +#if 0 +static lv_task_t * s_chip_high_temp_clean_task = NULL; +static bool s_is_ACT_ID_CHIP_TEMP_HIGH = false; + +bool mmi_is_ACT_ID_CHIP_TEMP_HIGH(void) +{ + return s_is_ACT_ID_CHIP_TEMP_HIGH; +} + +static void mmi_set_ACT_ID_CHIP_TEMP_HIGH(bool value) +{ + s_is_ACT_ID_CHIP_TEMP_HIGH = value; +} + +void mmi_chip_high_temp_btn_event_cb(lv_obj_t * obj, lv_event_t e) +{ + if(LV_EVENT_CLICKED != e) + return; + + mmi_watch_power_off(); +} + +static void mmi_chip_high_temp_screen_prepare_destory(lv_obj_t * activity_obj) +{ + SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + lv_watch_png_cache_all_free(); + + mmi_set_ACT_ID_CHIP_TEMP_HIGH(false); +} + +static void mmi_chip_high_temp_task_clean(void) +{ + if(NULL != s_chip_high_temp_clean_task) + { + lv_task_del(s_chip_high_temp_clean_task); + s_chip_high_temp_clean_task = NULL; + } +} + +static void mmi_chip_high_temp_clean_task_cb(lv_task_t * task) +{ + lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_CHIP_TEMP_HIGH); + if(NULL == activity_obj) + { + SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + mmi_chip_high_temp_task_clean(); + } + else + { + int chip_temp = asl_chip_temperature_get(); + SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: chip_temp=%d\n", __FUNCTION__, __LINE__, chip_temp); + + #ifdef __DEBUG_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + char info_buf[64] = {0}; + sprintf(info_buf, "chip_temp=%d", chip_temp); + mmi_debug_info_write_to_file(info_buf); + #endif + + if(MMI_CHIP_TEMP_LOW_THRESHOLD >= chip_temp) + { + mmi_chip_high_temp_screen_prepare_destory(NULL); + lv_obj_del(activity_obj); + mmi_chip_high_temp_task_clean(); + } + } +} + +static void mmi_watch_chip_temperature_clean(void) +{ + mmi_chip_high_temp_task_clean(); + s_chip_high_temp_clean_task = lv_task_create(mmi_chip_high_temp_clean_task_cb, 1000 * 5, LV_TASK_PRIO_HIGH, NULL); +} + +static lv_obj_t * mmi_chip_high_temp_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_CHIP_TEMP_HIGH; + activity_ext.create = mmi_chip_high_temp_screen_create; + activity_ext.prepare_destory = mmi_chip_high_temp_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; + + mmi_set_ACT_ID_CHIP_TEMP_HIGH(true); + mmi_watch_chip_temperature_clean(); + + 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_set_style_local_bg_color(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_RED); + //lv_obj_set_style_local_radius(prompt_cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 15); + lv_obj_align(cont, NULL, LV_ALIGN_CENTER, 0, 0); + lv_obj_set_click(cont, false); + + // image + lv_obj_t * img = lv_img_create(cont, NULL); + lv_img_set_src(img, ICON_WARNNING_PROMPT); +#ifdef USE_LV_WATCH_UI_CIRCLE + #ifdef USE_LV_WATCH_UI_240_240 + lv_obj_align(img, NULL, LV_ALIGN_IN_TOP_MID, 0, 15); + #else + lv_obj_align(img, NULL, LV_ALIGN_IN_TOP_MID, 0, 15); + #endif +#else + #if USE_LV_WATCH_UI_240_280 + lv_obj_align(img, NULL, LV_ALIGN_IN_TOP_MID, 0, 20); + #else + lv_obj_align(img, NULL, LV_ALIGN_IN_TOP_MID, 0, 20); + #endif +#endif + + // text + lv_obj_t * label_prompt = lv_label_create(cont, NULL); + lv_obj_add_style(label_prompt, LV_OBJ_PART_MAIN, &lv_watch_font26); + lv_label_set_text_id(label_prompt, WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE); + lv_label_set_align(label_prompt, LV_LABEL_ALIGN_CENTER); + lv_obj_align(label_prompt, NULL, LV_ALIGN_CENTER, 0, 0); + + // button + lv_obj_t * btn = lv_btn_create(cont, NULL); + lv_obj_set_size(btn, 100, 56); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0x47, 0xA6, 0xFF)); + lv_obj_set_style_local_radius(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 30); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, LV_COLOR_MAKE(0x47, 0xA6, 0xFF)); + lv_obj_set_style_local_radius(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 30); +#ifdef USE_LV_WATCH_UI_CIRCLE + #ifdef USE_LV_WATCH_UI_240_240 + lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -15); + #else + lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -15); + #endif +#else + #if USE_LV_WATCH_UI_240_280 + lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -20); + #else + lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -20); + #endif +#endif + lv_obj_set_event_cb(btn, mmi_chip_high_temp_btn_event_cb); + + lv_obj_t * label_btn = lv_label_create(btn, NULL); + lv_obj_add_style(label_btn, LV_LABEL_PART_MAIN, &lv_watch_font26); + lv_label_set_text_id(label_btn, WATCH_TEXT_ID_SHUTDOWN); + lv_label_set_align(label_btn, LV_LABEL_ALIGN_CENTER); + lv_obj_align(label_btn, NULL, LV_ALIGN_CENTER, 0, 0); + + return obj; +} + +static void mmi_chip_temp_high_task_cb(lv_task_t * task) { - if(0 == flag) // in call + SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + if(MMI_MODEM_CALL_STATE_NULL != phone_get_call_state()) { - mmi_call_chip_high_temperature_prompt(); + ring_off_action(NULL, LV_EVENT_CLICKED); } #ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__ - else if(1 == flag) // in video call + else if(true == voip_connect_check_req()) { - mmi_vc_chip_high_temperature_prompt(); + mmi_vc_ring_off_action(NULL, LV_EVENT_CLICKED); } #endif + + lv_watch_go_home(); + Hal_Vibrator_Play_Onetime(NULL, 800); + + mmi_chip_high_temp_screen_create(NULL); } +void mmi_watch_chip_temperature_check(void) +{ + int chip_temp = asl_chip_temperature_get(); + SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: chip_temp=%d\n", __FUNCTION__, __LINE__, chip_temp); + +#ifdef __DEBUG_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + char info_buf[64] = {0}; + sprintf(info_buf, "chip_temp=%d", chip_temp); + mmi_debug_info_write_to_file(info_buf); +#endif + + if(120 < chip_temp) + { + SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: chip temp unreasonable\n", __FUNCTION__, __LINE__); + } + else if(MMI_CHIP_TEMP_HIGH_THRESHOLD <= chip_temp) + { + if(false == mmi_is_ACT_ID_CHIP_TEMP_HIGH()) + { + SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + mmi_watch_wake_up(); + lv_task_t * task_ptr = lv_task_create(mmi_chip_temp_high_task_cb, 50, LV_TASK_PRIO_HIGH, NULL); + lv_task_once(task_ptr); + } + } + else if(MMI_CHIP_TEMP_LOW_THRESHOLD >= chip_temp) + { + if(true == mmi_is_ACT_ID_CHIP_TEMP_HIGH()) + { + SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + mmi_set_ACT_ID_CHIP_TEMP_HIGH(false); + } + } +} + +#else + +bool mmi_is_ACT_ID_CHIP_TEMP_HIGH(void) +{ + return false; +} + +static void mmi_chip_high_temp_screen_prepare_destory(lv_obj_t * activity_obj) +{ + SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + lv_watch_png_cache_all_free(); +} + +void mmi_chip_high_temp_btn_event_cb(lv_obj_t * obj, lv_event_t e) +{ + if(LV_EVENT_CLICKED != e) + return; + + mmi_chip_high_temp_screen_prepare_destory(NULL); + lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_CHIP_TEMP_HIGH); + if(NULL != activity_obj) + { + lv_obj_del(activity_obj); + } +} + +static lv_obj_t * mmi_chip_high_temp_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_CHIP_TEMP_HIGH; + activity_ext.create = mmi_chip_high_temp_screen_create; + activity_ext.prepare_destory = mmi_chip_high_temp_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_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_set_style_local_bg_color(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_RED); + //lv_obj_set_style_local_radius(prompt_cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 15); + lv_obj_align(cont, NULL, LV_ALIGN_CENTER, 0, 0); + lv_obj_set_click(cont, false); + + // image + lv_obj_t * img = lv_img_create(cont, NULL); + lv_img_set_src(img, ICON_WARNNING_PROMPT); +#ifdef USE_LV_WATCH_UI_CIRCLE + #ifdef USE_LV_WATCH_UI_240_240 + lv_obj_align(img, NULL, LV_ALIGN_IN_TOP_MID, 0, 15); + #else + lv_obj_align(img, NULL, LV_ALIGN_IN_TOP_MID, 0, 15); + #endif +#else + #if USE_LV_WATCH_UI_240_280 + lv_obj_align(img, NULL, LV_ALIGN_IN_TOP_MID, 0, 20); + #else + lv_obj_align(img, NULL, LV_ALIGN_IN_TOP_MID, 0, 20); + #endif +#endif + + // text + lv_obj_t * label_prompt = lv_label_create(cont, NULL); + lv_obj_add_style(label_prompt, LV_OBJ_PART_MAIN, &lv_watch_font26); + lv_label_set_text_id(label_prompt, WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE); + lv_label_set_align(label_prompt, LV_LABEL_ALIGN_CENTER); + lv_obj_align(label_prompt, NULL, LV_ALIGN_CENTER, 0, 0); + + // button + lv_obj_t * btn = lv_btn_create(cont, NULL); + lv_obj_set_size(btn, 100, 56); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0x47, 0xA6, 0xFF)); + lv_obj_set_style_local_radius(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 30); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, LV_COLOR_MAKE(0x47, 0xA6, 0xFF)); + lv_obj_set_style_local_radius(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 30); +#ifdef USE_LV_WATCH_UI_CIRCLE + #ifdef USE_LV_WATCH_UI_240_240 + lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -15); + #else + lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -15); + #endif +#else + #if USE_LV_WATCH_UI_240_280 + lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -20); + #else + lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -20); + #endif +#endif + lv_obj_set_event_cb(btn, mmi_chip_high_temp_btn_event_cb); + + lv_obj_t * label_btn = lv_label_create(btn, NULL); + lv_obj_add_style(label_btn, LV_LABEL_PART_MAIN, &lv_watch_font26); + lv_label_set_text_id(label_btn, WATCH_TEXT_ID_OK); + lv_label_set_align(label_btn, LV_LABEL_ALIGN_CENTER); + lv_obj_align(label_btn, NULL, LV_ALIGN_CENTER, 0, 0); + + return obj; +} + +static void mmi_call_chip_temp_high_task_cb(lv_task_t * task) +{ + SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + if(MMI_MODEM_CALL_STATE_NULL != phone_get_call_state()) + { + ring_off_action(NULL, LV_EVENT_CLICKED); + } + + lv_watch_go_home(); + Hal_Vibrator_Play_Onetime(NULL, 800); + + mmi_chip_high_temp_screen_create(NULL); +} + +#ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__ +static void mmi_vc_chip_temp_high_task_cb(lv_task_t * task) +{ + SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + if(true == voip_connect_check_req()) + { + mmi_vc_ring_off_action(NULL, LV_EVENT_CLICKED); + } + + lv_watch_go_home(); + Hal_Vibrator_Play_Onetime(NULL, 800); + + mmi_chip_high_temp_screen_create(NULL); +} +#endif + void mmi_watch_chip_temperature_check(void) { if(MMI_MODEM_CALL_STATE_NULL != phone_get_call_state()) @@ -1499,9 +2017,11 @@ void mmi_watch_chip_temperature_check(void) int chip_temp = asl_chip_temperature_get(); SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: chip_temp=%d\n", __FUNCTION__, __LINE__, chip_temp); - if(MMI_CHIP_TEMPERATURE_THRESHOLD <= chip_temp) + if(MMI_CHIP_TEMP_HIGH_THRESHOLD <= chip_temp) { - mmi_ui_msg_action_chip_high_temperature(0); + mmi_watch_wake_up(); + lv_task_t * task_ptr = lv_task_create(mmi_call_chip_temp_high_task_cb, 50, LV_TASK_PRIO_HIGH, NULL); + lv_task_once(task_ptr); } } #ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__ @@ -1510,13 +2030,18 @@ void mmi_watch_chip_temperature_check(void) int chip_temp = asl_chip_temperature_get(); SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: chip_temp=%d\n", __FUNCTION__, __LINE__, chip_temp); - if(MMI_CHIP_TEMPERATURE_THRESHOLD <= chip_temp) + if(MMI_CHIP_TEMP_HIGH_THRESHOLD <= chip_temp) { - mmi_ui_msg_action_chip_high_temperature(1); + mmi_watch_wake_up(); + lv_task_t * task_ptr = lv_task_create(mmi_vc_chip_temp_high_task_cb, 50, LV_TASK_PRIO_HIGH, NULL); + lv_task_once(task_ptr); } } #endif } +#endif + +#endif diff --git a/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.h b/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.h index 271c06d7..15da5cd9 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.h +++ b/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.h @@ -109,9 +109,22 @@ void mmi_watch_sim_unbind_switch_set(uint8_t value); void mmi_watch_sim_unbind_check(void); #endif -#define MMI_CHIP_TEMPERATURE_THRESHOLD (65) // (90) // (40) -void mmi_ui_msg_update_chip_high_temperature(uint32_t flag); +#ifdef __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ + +//#define __DEBUG_CHIP_TEMPERATURE_MONITOR_SUPPORT__ +#ifdef __DEBUG_CHIP_TEMPERATURE_MONITOR_SUPPORT__ +#define MMI_CHIP_TEMP_HIGH_THRESHOLD (s_CHIP_TEMP_HIGH_THRESHOLD) +#define MMI_CHIP_TEMP_LOW_THRESHOLD (s_CHIP_TEMP_LOW_THRESHOLD) + +void __create_event_cb(lv_obj_t * btn, lv_event_t event); +#else +#define MMI_CHIP_TEMP_HIGH_THRESHOLD (40) // (65) // (90) +#define MMI_CHIP_TEMP_LOW_THRESHOLD (35) // (55) // (30) +#endif + +bool mmi_is_ACT_ID_CHIP_TEMP_HIGH(void); void mmi_watch_chip_temperature_check(void); +#endif