mmi_watch_sleep_time_mission_check();
#endif
+ // check chip temperature
+ mmi_watch_chip_temperature_check();
+
}
uos_timer_stop(s_timing_control_timer);
uos_timer_start(s_timing_control_timer, MS_TO_TICKS(MMI_GUI_TIMING_TIMER_INTERVAL), 0, mmi_gui_timing_timer_callback, NULL);
- s_timing_control_timer_counter++;
+ s_timing_control_timer_counter++; // 3s per time
mmi_gui_timing_task_msg_send(MMI_GUI_TIMING_MSG_3_SECOND, NULL); // 3 seconds
MMI_GUI_TIMING_MSG_3_SECOND,
MMI_GUI_TIMING_MSG_6_SECOND,
MMI_GUI_TIMING_MSG_15_SECOND,
+ MMI_GUI_TIMING_MSG_30_SECOND,
MMI_GUI_TIMING_MSG_1_MINUTE,
MMI_GUI_TIMING_MSG_2_MINUTE,
"有房颤风险", // WATCH_TEXT_ID_ATRIAL_FIBRILLATION_RISK,
"无房颤风险", // WATCH_TEXT_ID_ATRIAL_FIBRILLATION_NO_RISK,
"请重新测量", // WATCH_TEXT_ID_IN_MEASURE_AGAIN,
+ "设备温度过高\n请暂缓使用", // WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE,
//CHENG_MODIFY
"确认是否跌倒?", // WATCH_TEXT_ID_falldown,
"确认是否删除",
"With risk", // WATCH_TEXT_ID_ATRIAL_FIBRILLATION_RISK,
"No risk", // WATCH_TEXT_ID_ATRIAL_FIBRILLATION_NO_RISK,
"Please try again", // WATCH_TEXT_ID_IN_MEASURE_AGAIN,
+ "Temperature too high\nPlease suspended use", // WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE,
//CHENG_MODIFY
"Confirm a fall",
"Confirm deletion",
#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
#define MODEM_ADP_TASK_PRIORITY 199
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_falldown(void);
-
-
-#if 0
-
-#define MODEM_ADP_TASK_PRIORITY 199
-MODEM_VIDEO_CALL_REG_STAT g_ModemVcRegStat = MODEM_VIDEO_CALL_REG_FAIL;
+void mmi_ui_msg_action_chip_high_temperature(uint32_t flag);
+void mmi_ui_falldown(void);
-VOID MMI_ModemAdp_Video_Call_Init_Req(VOID)
-{
- uos_create_task(MMI_ModemAdp_Video_Call_Main, NULL, 64, 4 * 1000, MODEM_ADP_TASK_PRIORITY, "modem_adpator_video_call");
-}
-static VOID MMI_ModemAdp_Video_Call_Main(VOID * para)
-{
- (void)para;
- voipmsg_t voipmsg;
-
- while(gui_task_id == NULL) {
- printf("gui_task_id is NULL");
- uos_sleep(10);
- }
-
- // get msg
- while(1) {
- // receive message
- if(voipMsgQueReceive(&voipmsg)) {
- printf("voip Q is not ready, sleep for 500ms\n");
- uos_sleep(100);
- continue;
- }
-
- switch(voipmsg.msgid) {
- case VOIP_UA_EVENT_CALL_INCOMING:
- printf("%s voipmsg id is VOIP_UA_EVENT_CALL_INCOMING\n", __FUNCTION__);
- if((voipmsg.callname_present) && (voipmsg.uri_present)) {
- MMI_Modem_Video_Call_Response_Incoming_t * Response;
-
- Response = (MMI_Modem_Video_Call_Response_Incoming_t *)Hal_Mem_Alloc(
- sizeof(MMI_Modem_Video_Call_Response_Incoming_t));
-
- strcpy(Response->callname, voipmsg.callname);
- strcpy(Response->uri, voipmsg.uri);
-
- if(VOIP_VOICE_CALL == voipmsg.calltype) {
- Response->calltype = MODEM_VIDEO_CALL_TYPE_VOICE;
- } else {
- Response->calltype = MODEM_VIDEO_CALL_TYPE_VIDEO;
- }
-
- MMI_Modem_Video_Call_Response_Incoming(Response);
- } else {
- printf("%s, invalid MT params", __FUNCTION__);
- bsapi_call_action(BARESIPAPI_REJ, BARESIPVIDMODE_INV);
- }
- break;
- case VOIP_UA_EVENT_CALL_RINGING:
- printf("%s voipmsg id is VOIP_UA_EVENT_CALL_RINGING\n", __FUNCTION__);
- //play tone
- MMI_Modem_Video_Call_Common_Response(MMI_MODEM_VIDEO_CALL_RESPONSE_RING);
- break;
- case VOIP_UA_EVENT_CALL_ESTABLISHED:
- printf("%s voipmsg id is VOIP_UA_EVENT_CALL_ESTABLISHED\n", __FUNCTION__);
- MMI_Modem_Video_Call_Common_Response(MMI_MODEM_VIDEO_CALL_RESPONSE_CONNECT);
- break;
- case VOIP_UA_EVENT_CALL_CLOSED:
- printf("%s voipmsg id is VOIP_UA_EVENT_CALL_CLOSED\n", __FUNCTION__);
- if(0 == Hal_Pm_Get_State()) {
- Hal_Pm_WakeUp();
- }
-
- MMI_Modem_Video_Call_Common_Response(MMI_MODEM_VIDEO_CALL_RESPONSE_DISCONNECT);
- break;
- case VOIP_UA_EVENT_CALL_TRANSFER:
- printf("%s voipmsg id is VOIP_UA_EVENT_CALL_TRANSFER\n", __FUNCTION__);
- break;
- case VOIP_UA_EVENT_REGISTER_OK:
- printf("%s voipmsg id is VOIP_UA_EVENT_REGISTER_OK\n", __FUNCTION__);
- g_ModemVcRegStat = MODEM_VIDEO_CALL_REG_OK;
- break;
- case VOIP_UA_EVENT_UNREGISTERING:
- printf("%s voipmsg id is VOIP_UA_EVENT_UNREGISTERING\n", __FUNCTION__);
- g_ModemVcRegStat = MODEM_VIDEO_CALL_REG_UNREGISTERING;
- break;
- case VOIP_UA_EVENT_REGISTER_FAIL:
- printf("%s voipmsg id is VOIP_UA_EVENT_REGISTER_FAIL\n", __FUNCTION__);
- g_ModemVcRegStat = MODEM_VIDEO_CALL_REG_FAIL;
- break;
- case VOIP_UA_EVENT_MWI_NOTIFY:
- printf("%s voipmsg id is VOIP_UA_EVENT_MWI_NOTIFY\n", __FUNCTION__);
- break;
- case VOIP_UA_EVENT_AUDIO_ERROR:
- printf("%s voipmsg id is VOIP_UA_EVENT_AUDIO_ERROR\n", __FUNCTION__);
- break;
- case VOIP_UA_EVENT_CALL_TERMINATE_BY_BOTTOM_LAYER:
- printf("%s voipmsg id is VOIP_UA_EVENT_CALL_TERMINATE_BY_BOTTOM_LAYER\n", __FUNCTION__);
- MMI_Modem_Video_Call_Common_Response(MMI_MODEM_VIDEO_CALL_RESPONSE_BOTTOM_ERR);
- break;
- case VOIP_UA_EVENT_CALL_NEED_REDIAL:
- printf("%s voipmsg id is VOIP_UA_EVENT_CALL_NEED_REDIAL\n", __FUNCTION__);
- MMI_Modem_Video_Call_Common_Response(MMI_MODEM_VIDEO_CALL_RESPONSE_NEED_REDIAL);
- break;
- case VOIP_UA_EVENT_AUTOTEST_START:
- printf("%s voipmsg id is VOIP_UA_EVENT_AUTOTEST_START \n", __FUNCTION__);
- if(0 == Hal_Pm_Get_State())
- Hal_Pm_WakeUp();
- MMI_Modem_Video_Call_Common_Response(MMI_MODEM_VIDEO_CALL_RESPONSE_AUTO_TEST);
- break;
- default:
- printf("%s voipmsg id is %d\n", __FUNCTION__, voipmsg.msgid);
- break;
- }
- }
-}
-#endif
#endif
void watch_ui_message_handle(uint16_t msgid, void * msg)
{
+ uint32_t flag = 0;
+
switch(msgid) {
case MMI_MODEM_POWER_UP_CNF:
watch_modem_power_up_cnf();
#endif
case MMI_MSG_LOW_BATTERY_SCREEN:
- uint32_t flag = ((mmi_msg_flag_para_t *)msg)->flag;
+ 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
MMI_MSG_HENGAI_BP_MEASURE_RESULT,
#endif
MMI_MSG_LOW_BATTERY_SCREEN,
+ MMI_MSG_CHIP_HIGH_TEMP,
#endif
WATCH_TEXT_ID_ATRIAL_FIBRILLATION_RISK, /* "有房颤风险" "With risk" */
WATCH_TEXT_ID_ATRIAL_FIBRILLATION_NO_RISK, /* "无房颤风险" "No risk" */
WATCH_TEXT_ID_IN_MEASURE_AGAIN, /* "请重新测量" "Please try again" */
+ WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE, /* "设备温度过高\n请暂缓使用" "Temperature too high\nPlease suspended use" */
//CHENG_MODIFY
WATCH_TEXT_ID_FALLDWON, /*确认是否跌倒*/
WATCH_TEXT_ID_CONFIRM_DELETE, /*确认是否删除*/
enum enum_canvas_button_hidden_flag canvas_button_hidden_flag;
lv_obj_t * signal_weak_label;
lv_obj_t * canvas;
+ lv_obj_t * prompt_cont;
#ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL_HZCH__
lv_obj_t * img_referral;
lv_obj_t * btn_referral;
void mmi_vc_activity_destroy_req(void);
uint8_t mmi_vc_get_call_volume(void);
+void mmi_vc_chip_high_temperature_prompt(void);
+
+
#ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL_FZD__
#include "mmi_video_call_fzd.h"
mmi_ui_msg_action_vc_call_stop();
}
+static void mmi_vc_chip_high_temp_task_cb(lv_task_t * task)
+{
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ Hal_Vibrator_Play_End();
+
+ lv_vc_call_obj_ext_t * ext = mmi_vc_call_get_ext();
+ if(NULL != ext)
+ lv_obj_set_hidden(ext->prompt_cont, true);
+
+ mmi_vc_ring_off_action(NULL, LV_EVENT_CLICKED);
+}
+
+void mmi_vc_chip_high_temperature_prompt(void)
+{
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ lv_vc_call_obj_ext_t * ext = mmi_vc_call_get_ext();
+ if(ext == NULL)
+ {
+ return;
+ }
+
+ if(MMI_VC_UI_CONNECTED == s_vc_call_ui)
+ {
+ Hal_Vibrator_Play_Onetime(NULL, 800);
+
+ lv_obj_set_hidden(ext->prompt_cont, false);
+ lv_task_t * task_ptr = lv_task_create(mmi_vc_chip_high_temp_task_cb, 1000 * 3, LV_TASK_PRIO_HIGH, NULL);
+ lv_task_once(task_ptr);
+ }
+}
+
static void mmi_vc_ui_dialing(lv_obj_t * content)
{
VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
lv_obj_align(btn, content, LV_ALIGN_IN_BOTTOM_RIGHT, MMI_VC_CALLING_RING_OFF_BTN_X_OFFSET, MMI_VC_RING_OFF_BTN_Y_OFFSET); //-20, -50);
//watch_set_suspend_enable(false, ACT_ID_VOIPPHONE, 0);
+
+ // chip high temperature
+ lv_obj_t * prompt_cont = lv_cont_create(content, NULL);
+ lv_coord_t t_width = lv_obj_get_width(content) * 5 / 6;
+ lv_obj_set_size(prompt_cont, t_width, t_width / 2);
+ lv_obj_set_style_local_bg_color(prompt_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(prompt_cont, NULL, LV_ALIGN_CENTER, 0, -20);
+ lv_obj_set_click(prompt_cont, false);
+
+ lv_obj_t * label = lv_label_create(prompt_cont, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_label_set_text_id(label, WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
+
+ lv_obj_set_hidden(prompt_cont, true);
+ ext->prompt_cont = prompt_cont;
}
else
{
lv_obj_set_hidden(ext->ring_off_button, ext->canvas_button_hidden_flag);
}
+ // chip high temperature
+ lv_obj_t * prompt_cont = lv_cont_create(canvas, NULL);
+ lv_coord_t t_width = lv_obj_get_width(canvas) * 5 / 6;
+ lv_obj_set_size(prompt_cont, t_width, t_width / 2);
+ lv_obj_set_style_local_bg_color(prompt_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(prompt_cont, NULL, LV_ALIGN_CENTER, 0, -20);
+ lv_obj_set_click(prompt_cont, false);
+
+ lv_obj_t * label = lv_label_create(prompt_cont, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_label_set_text_id(label, WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
+
+ lv_obj_set_hidden(prompt_cont, true);
+ ext->prompt_cont = prompt_cont;
+
if(mmi_vc_call_get_obj()) {
lv_watch_obj_set_down_slide_cb(mmi_vc_call_get_obj(), voip_phone_down_slide_callback);
}
mmi_ui_msg_action_vc_call_illegal();
}
+static void mmi_vc_chip_high_temp_task_cb(lv_task_t * task)
+{
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ Hal_Vibrator_Play_End();
+
+ lv_vc_call_obj_ext_t * ext = mmi_vc_call_get_ext();
+ if(NULL != ext)
+ lv_obj_set_hidden(ext->prompt_cont, true);
+
+ mmi_vc_ring_off_action(NULL, LV_EVENT_CLICKED);
+}
+
+void mmi_vc_chip_high_temperature_prompt(void)
+{
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ lv_vc_call_obj_ext_t * ext = mmi_vc_call_get_ext();
+ if(ext == NULL)
+ {
+ return;
+ }
+
+ if(MMI_VC_UI_CONNECTED == s_vc_call_ui)
+ {
+ Hal_Vibrator_Play_Onetime(NULL, 800);
+
+ lv_obj_set_hidden(ext->prompt_cont, false);
+ lv_task_t * task_ptr = lv_task_create(mmi_vc_chip_high_temp_task_cb, 1000 * 3, LV_TASK_PRIO_HIGH, NULL);
+ lv_task_once(task_ptr);
+ }
+}
+
static void mmi_vc_ui_dialing(lv_obj_t * content)
{
VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
lv_obj_set_hidden(ext->ring_off_button, ext->canvas_button_hidden_flag);
}
+ // chip high temperature
+ lv_obj_t * prompt_cont = lv_cont_create(canvas, NULL);
+ lv_coord_t t_width = lv_obj_get_width(canvas) * 5 / 6;
+ lv_obj_set_size(prompt_cont, t_width, t_width / 2);
+ lv_obj_set_style_local_bg_color(prompt_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(prompt_cont, NULL, LV_ALIGN_CENTER, 0, -20);
+ lv_obj_set_click(prompt_cont, false);
+
+ lv_obj_t * label = lv_label_create(prompt_cont, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_label_set_text_id(label, WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
+
+ lv_obj_set_hidden(prompt_cont, true);
+ ext->prompt_cont = prompt_cont;
+
if(mmi_vc_call_get_obj()) {
lv_watch_obj_set_down_slide_cb(mmi_vc_call_get_obj(), voip_phone_down_slide_callback);
}
mmi_ui_msg_action_vc_call_stop();
}
+static void mmi_vc_chip_high_temp_task_cb(lv_task_t * task)
+{
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ Hal_Vibrator_Play_End();
+
+ lv_vc_call_obj_ext_t * ext = mmi_vc_call_get_ext();
+ if(NULL != ext)
+ lv_obj_set_hidden(ext->prompt_cont, true);
+
+ mmi_vc_ring_off_action(NULL, LV_EVENT_CLICKED);
+}
+
+void mmi_vc_chip_high_temperature_prompt(void)
+{
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ lv_vc_call_obj_ext_t * ext = mmi_vc_call_get_ext();
+ if(ext == NULL)
+ {
+ return;
+ }
+
+ if(MMI_VC_UI_CONNECTED == s_vc_call_ui)
+ {
+ Hal_Vibrator_Play_Onetime(NULL, 800);
+
+ lv_obj_set_hidden(ext->prompt_cont, false);
+ lv_task_t * task_ptr = lv_task_create(mmi_vc_chip_high_temp_task_cb, 1000 * 3, LV_TASK_PRIO_HIGH, NULL);
+ lv_task_once(task_ptr);
+ }
+}
+
static void mmi_vc_ui_dialing(lv_obj_t * content)
{
VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_VIDEO_CALL_HANGUP_BTN);
lv_obj_set_event_cb(btn, mmi_vc_ring_off_action);
lv_obj_align(btn, content, LV_ALIGN_IN_BOTTOM_RIGHT, MMI_VC_CALLING_RING_OFF_BTN_X_OFFSET, MMI_VC_RING_OFF_BTN_Y_OFFSET); //-20, -50);
+
+ // chip high temperature
+ lv_obj_t * prompt_cont = lv_cont_create(content, NULL);
+ lv_coord_t t_width = lv_obj_get_width(content) * 5 / 6;
+ lv_obj_set_size(prompt_cont, t_width, t_width / 2);
+ lv_obj_set_style_local_bg_color(prompt_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(prompt_cont, NULL, LV_ALIGN_CENTER, 0, -20);
+ lv_obj_set_click(prompt_cont, false);
+
+ lv_obj_t * label = lv_label_create(prompt_cont, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_label_set_text_id(label, WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
+
+ lv_obj_set_hidden(prompt_cont, true);
+ ext->prompt_cont = prompt_cont;
}
else
{
lv_obj_set_hidden(ext->ring_off_button, ext->canvas_button_hidden_flag);
}
+ // chip high temperature
+ lv_obj_t * prompt_cont = lv_cont_create(canvas, NULL);
+ lv_coord_t t_width = lv_obj_get_width(canvas) * 5 / 6;
+ lv_obj_set_size(prompt_cont, t_width, t_width / 2);
+ lv_obj_set_style_local_bg_color(prompt_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(prompt_cont, NULL, LV_ALIGN_CENTER, 0, -20);
+ lv_obj_set_click(prompt_cont, false);
+
+ lv_obj_t * label = lv_label_create(prompt_cont, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_label_set_text_id(label, WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
+
+ lv_obj_set_hidden(prompt_cont, true);
+ ext->prompt_cont = prompt_cont;
+
if(mmi_vc_call_get_obj()) {
lv_watch_obj_set_down_slide_cb(mmi_vc_call_get_obj(), voip_phone_down_slide_callback);
}
mmi_ui_msg_action_vc_call_stop();
}
+static void mmi_vc_chip_high_temp_task_cb(lv_task_t * task)
+{
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ Hal_Vibrator_Play_End();
+
+ lv_vc_call_obj_ext_t * ext = mmi_vc_call_get_ext();
+ if(NULL != ext)
+ lv_obj_set_hidden(ext->prompt_cont, true);
+
+ mmi_vc_ring_off_action(NULL, LV_EVENT_CLICKED);
+}
+
+void mmi_vc_chip_high_temperature_prompt(void)
+{
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ lv_vc_call_obj_ext_t * ext = mmi_vc_call_get_ext();
+ if(ext == NULL)
+ {
+ return;
+ }
+
+ if(MMI_VC_UI_CONNECTED == s_vc_call_ui)
+ {
+ Hal_Vibrator_Play_Onetime(NULL, 800);
+
+ lv_obj_set_hidden(ext->prompt_cont, false);
+ lv_task_t * task_ptr = lv_task_create(mmi_vc_chip_high_temp_task_cb, 1000 * 3, LV_TASK_PRIO_HIGH, NULL);
+ lv_task_once(task_ptr);
+ }
+}
+
static void mmi_vc_ui_dialing(lv_obj_t * content)
{
VIDEO_CALL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_VIDEO_CALL_HANGUP_BTN);
lv_obj_set_event_cb(btn, mmi_vc_ring_off_action);
lv_obj_align(btn, content, LV_ALIGN_IN_BOTTOM_RIGHT, MMI_VC_CALLING_RING_OFF_BTN_X_OFFSET, MMI_VC_RING_OFF_BTN_Y_OFFSET); //-20, -50);
+
+ // chip high temperature
+ lv_obj_t * prompt_cont = lv_cont_create(content, NULL);
+ lv_coord_t t_width = lv_obj_get_width(content) * 5 / 6;
+ lv_obj_set_size(prompt_cont, t_width, t_width / 2);
+ lv_obj_set_style_local_bg_color(prompt_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(prompt_cont, NULL, LV_ALIGN_CENTER, 0, -20);
+ lv_obj_set_click(prompt_cont, false);
+
+ lv_obj_t * label = lv_label_create(prompt_cont, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_label_set_text_id(label, WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
+
+ lv_obj_set_hidden(prompt_cont, true);
+ ext->prompt_cont = prompt_cont;
}
else
{
lv_obj_set_hidden(ext->ring_off_button, ext->canvas_button_hidden_flag);
}
+ // chip high temperature
+ lv_obj_t * prompt_cont = lv_cont_create(canvas, NULL);
+ lv_coord_t t_width = lv_obj_get_width(canvas) * 5 / 6;
+ lv_obj_set_size(prompt_cont, t_width, t_width / 2);
+ lv_obj_set_style_local_bg_color(prompt_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(prompt_cont, NULL, LV_ALIGN_CENTER, 0, -20);
+ lv_obj_set_click(prompt_cont, false);
+
+ lv_obj_t * label = lv_label_create(prompt_cont, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_label_set_text_id(label, WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
+
+ lv_obj_set_hidden(prompt_cont, true);
+ ext->prompt_cont = prompt_cont;
+
if(mmi_vc_call_get_obj()) {
lv_watch_obj_set_down_slide_cb(mmi_vc_call_get_obj(), voip_phone_down_slide_callback);
}
}
}
+static void mmi_call_high_temp_task_cb(lv_task_t * task)
+{
+ printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ Hal_Vibrator_Play_End();
+
+ lv_phone_obj_ext_t * ext = phone_get_ext();
+ if(NULL != ext)
+ lv_obj_set_hidden(ext->prompt_cont, true);
+
+ ring_off_action(NULL, LV_EVENT_CLICKED);
+}
+
+void mmi_call_chip_high_temperature_prompt(void)
+{
+ printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ lv_phone_obj_ext_t * ext = phone_get_ext();
+ if(ext == NULL)
+ return;
+
+ if(PHONE_UI_CONNECTED == ext->phone_ui_id)
+ {
+ Hal_Vibrator_Play_Onetime(NULL, 800);
+
+ lv_obj_set_hidden(ext->prompt_cont, false);
+ lv_task_t * task_ptr = lv_task_create(mmi_call_high_temp_task_cb, 1000 * 3, LV_TASK_PRIO_HIGH, NULL);
+ lv_task_once(task_ptr);
+ }
+}
+
+
#ifdef USE_LV_WATCH_UI_CIRCLE
#ifdef USE_LV_WATCH_UI_240_240
connected_animation(ext->phone_status_label);
}
+ // chip high temperature
+ lv_obj_t * prompt_cont = lv_cont_create(content, NULL);
+ lv_coord_t t_width = lv_obj_get_width(content) * 5 / 6;
+ lv_obj_set_size(prompt_cont, t_width, t_width / 2);
+ lv_obj_set_style_local_bg_color(prompt_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(prompt_cont, NULL, LV_ALIGN_CENTER, 0, -20);
+ lv_obj_set_click(prompt_cont, false);
+
+ lv_obj_t * label = lv_label_create(prompt_cont, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_label_set_text_id(label, WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
+
+ lv_obj_set_hidden(prompt_cont, true);
+ ext->prompt_cont = prompt_cont;
+
return obj;
}
connected_animation(ext->phone_status_label);
}
+ // chip high temperature
+ lv_obj_t * prompt_cont = lv_cont_create(content, NULL);
+ lv_coord_t t_width = lv_obj_get_width(content) * 5 / 6;
+ lv_obj_set_size(prompt_cont, t_width, t_width / 2);
+ lv_obj_set_style_local_bg_color(prompt_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(prompt_cont, NULL, LV_ALIGN_CENTER, 0, -20);
+ lv_obj_set_click(prompt_cont, false);
+
+ lv_obj_t * label = lv_label_create(prompt_cont, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_label_set_text_id(label, WATCH_TEXT_ID_CHIP_HIGH_TEMPERATURE);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
+
+ lv_obj_set_hidden(prompt_cont, true);
+ ext->prompt_cont = prompt_cont;
+
return obj;
}
#endif
phone_ui_t phone_ui_id;
lv_obj_t * num_label;
lv_obj_t * btn_cont;
+#ifdef __MMI_ZHSX_SUPPORT__
+ lv_obj_t * prompt_cont;
+#endif
} lv_phone_obj_ext_t;
/**********************
lv_obj_t * phone_get_activity_obj(void);
void phone_audio_ctrl_callback(AUDIO_CTRL_PRIORITY priority);
+#ifdef __MMI_ZHSX_SUPPORT__
+void mmi_call_chip_high_temperature_prompt(void);
+#endif
+
+
/**********************
* MACROS
**********************/
#endif
+void mmi_ui_msg_update_chip_high_temperature(uint32_t flag)
+{
+ if(0 == flag) // in call
+ {
+ mmi_call_chip_high_temperature_prompt();
+ }
+#ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__
+ else if(1 == flag) // in video call
+ {
+ mmi_vc_chip_high_temperature_prompt();
+ }
+#endif
+}
+
+void mmi_watch_chip_temperature_check(void)
+{
+ if(MMI_MODEM_CALL_STATE_NULL != phone_get_call_state())
+ {
+ 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)
+ {
+ mmi_ui_msg_action_chip_high_temperature(0);
+ }
+ }
+#ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__
+ else if(true == voip_connect_check_req())
+ {
+ 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)
+ {
+ mmi_ui_msg_action_chip_high_temperature(1);
+ }
+ }
+#endif
+}
+
+
#endif
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);
+void mmi_watch_chip_temperature_check(void);