From: CCC <2393524978@qq.com> Date: Fri, 29 Dec 2023 03:17:35 +0000 (+0800) Subject: gengxin X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=414fca0bc9ff2f3d467c7d7eeddd162e85c734e3;p=mirrors%2FASR3603_Z5.git gengxin --- diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/png/custom_function/ANIM_HENGAI_BP_ATTEMPT.gif b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/png/custom_function/ANIM_HENGAI_BP_ATTEMPT.gif deleted file mode 100644 index 1f07957d..00000000 Binary files a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/png/custom_function/ANIM_HENGAI_BP_ATTEMPT.gif and /dev/null differ diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/png/custom_function/ANIM_HENGAI_BP_CALIBRATE.gif b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/png/custom_function/ANIM_HENGAI_BP_CALIBRATE.gif deleted file mode 100644 index 45342dc3..00000000 Binary files a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/png/custom_function/ANIM_HENGAI_BP_CALIBRATE.gif and /dev/null differ diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/png/custom_function/ANIM_HENGAI_BP_MEASURE.gif b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/png/custom_function/ANIM_HENGAI_BP_MEASURE.gif deleted file mode 100644 index 7759a5fb..00000000 Binary files a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/png/custom_function/ANIM_HENGAI_BP_MEASURE.gif and /dev/null differ diff --git a/2.sdk/project/Z5_Z12/gui/lv_watch/resource/png/setting/ICON_SETTING_PAGE_MAIN_MENU_TTS.png b/2.sdk/project/Z5_Z12/gui/lv_watch/resource/png/setting/ICON_SETTING_PAGE_MAIN_MENU_TTS.png new file mode 100644 index 00000000..43acb4a4 Binary files /dev/null and b/2.sdk/project/Z5_Z12/gui/lv_watch/resource/png/setting/ICON_SETTING_PAGE_MAIN_MENU_TTS.png differ diff --git a/2.sdk/project/Z5_Z12/gui/lv_watch/resource/png/setting/ICON_SETTING_SEDENTARY_REMIND.png b/2.sdk/project/Z5_Z12/gui/lv_watch/resource/png/setting/ICON_SETTING_SEDENTARY_REMIND.png new file mode 100644 index 00000000..86c571e9 Binary files /dev/null and b/2.sdk/project/Z5_Z12/gui/lv_watch/resource/png/setting/ICON_SETTING_SEDENTARY_REMIND.png differ diff --git a/2.sdk/project/Z5_Z12/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/Z5_Z12/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index 53021ac7..bd6c3ce8 100644 --- a/2.sdk/project/Z5_Z12/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/Z5_Z12/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -138,7 +138,7 @@ #define USE_LV_WATCH_SMS_MSG 1 -#define USE_LV_WATCH_UPGRADE 0 // 1 +#define USE_LV_WATCH_UPGRADE 1 // 1 #define USE_LV_WATCH_UPGRADE_RS 0 #define USE_LV_WATCH_WAKE_UP_SHORT_TIME 1 @@ -201,7 +201,34 @@ #define __MMI_POWER_ON_OFF_NO_RING__ +#define __MMI_KEY_POWER_LONG_PRESS_SCREEN_SUPPORT__ +#define __MMI_KEY_BACK_RUN_PHONEBOOK_WHEN_IN_DIAL__ + +#define __MMI_PAGE_MAIN_MENU_TTS_SUPPORT__ + +#define __MMI_SEDENTARY_REMIND_SUPPORT__ + +#define __MMI_NEW_SMS_SILENT_SUPPORT__ + +#define __MMI_PAGE_MAIN_MENU_TTS_SUPPORT__ + + +#define __MMI_REMIND_WAKE_UP_SUPPORT__ + +#define __MMI_REMIND_SLEEP_SUPPORT__ + +#define __MMI_REMIND_REST_SUPPORT__ + +#define __MMI_REMIND_HOME_SUPPORT__ + +#define __MMI_REMIND_MEDICINE_SUPPORT__ + +#define __MMI_REMIND_CUSTOM_MEDICINE_SUPPORT__ + +#define __MMI_REMIND_DRINK_SUPPORT__ + +//#define __MMI_CUSTOM_HENG_AI__ #endif diff --git a/2.sdk/sdk/gui/lv_watch/framework/language/lang_ch.c b/2.sdk/sdk/gui/lv_watch/framework/language/lang_ch.c index 21e22987..bf1f06ac 100644 --- a/2.sdk/sdk/gui/lv_watch/framework/language/lang_ch.c +++ b/2.sdk/sdk/gui/lv_watch/framework/language/lang_ch.c @@ -962,7 +962,7 @@ const void * lang_text_ch[] = { "校准结果已上传,当前血压异常。建议休息后重新校准", // WATCH_TEXT_ID_BLOOD_PRESSURE_LOW_PROMPT, "校准失败,请重新校准", // WATCH_TEXT_ID_BLOOD_PRESSURE_FAILED_PROMPT, "确认是否跌倒?", // WATCH_TEXT_ID_falldown, - + "确认是否删除", //CHENG_MODIFY diff --git a/2.sdk/sdk/gui/lv_watch/framework/language/lang_en.c b/2.sdk/sdk/gui/lv_watch/framework/language/lang_en.c index e7800eb6..38421704 100644 --- a/2.sdk/sdk/gui/lv_watch/framework/language/lang_en.c +++ b/2.sdk/sdk/gui/lv_watch/framework/language/lang_en.c @@ -963,7 +963,7 @@ const void * lang_text_en[] = { "Blood pressure low prompt", // WATCH_TEXT_ID_BLOOD_PRESSURE_LOW_PROMPT, "Blood pressure failed prompt", // WATCH_TEXT_ID_BLOOD_PRESSURE_FAILED_PROMPT, "Confirm a fall", - + "Confirm deletion", //CHENG_MODIFY diff --git a/2.sdk/sdk/gui/lv_watch/include/ui_textid.h b/2.sdk/sdk/gui/lv_watch/include/ui_textid.h index 65db4ad3..5640e330 100644 --- a/2.sdk/sdk/gui/lv_watch/include/ui_textid.h +++ b/2.sdk/sdk/gui/lv_watch/include/ui_textid.h @@ -970,7 +970,7 @@ enum WATCH_TEXT_ID_BLOOD_PRESSURE_LOW_PROMPT, /* "校准结果已上传,当前血压异常。建议休息后重新校准" "Blood pressure low prompt" */ WATCH_TEXT_ID_BLOOD_PRESSURE_FAILED_PROMPT, /* "校准失败,请重新校准" "Blood pressure failed prompt" */ WATCH_TEXT_ID_FALLDWON, /*确认是否跌倒*/ - + WATCH_TEXT_ID_CONFIRM_DELETE, /*确认是否删除*/ //CHENG_MODIFY diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/call_log/call_log.c b/2.sdk/sdk/gui/lv_watch/lv_apps/call_log/call_log.c index d883ceaf..4bf5a999 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/call_log/call_log.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/call_log/call_log.c @@ -446,6 +446,21 @@ void call_log_update_call_log_info(call_status_t call_status, char * number, hal call_log_write_nvm(nvm_call_log_list); } +void call_log_delete_date_call_log_info(uint_8 list_num) +{ + // read from nvm first + nv_watch_call_log_t * nvm_call_log_list = call_log_read_nvm(); + + memset(&nvm_call_log_list->info[list_num], 0, sizeof(nv_watch_call_log_info_t)); + // move call log list + if(list_num!=NV_WATCH_MAX_CALL_LOG_NUM-1) + { + memmove(&nvm_call_log_list->info[list_num], &nvm_call_log_list->info[list_num+1], (NV_WATCH_MAX_CALL_LOG_NUM -list_num-1 ) * sizeof(nv_watch_call_log_info_t)); + } + // write to nvm after updating + call_log_write_nvm(nvm_call_log_list); +} + static void call_log_update_call_log_ll(uint8_t call_log_num, nv_watch_call_log_t * call_log_list) { lv_call_log_obj_ext_t * ext = call_log_get_ext(); @@ -502,32 +517,126 @@ static lv_obj_t * call_log_list_create(lv_obj_t * obj) return list; } -static void call_log_log_btn_event_cb(lv_obj_t * btn, lv_event_t e) +static uint8_t call_log_dispaly_falg=0; +#ifdef coll_log_delete +static void delete_log_destory(lv_obj_t * activity_obj) { - if(LV_EVENT_CLICKED != e) - return; + lv_watch_png_cache_all_free(); + call_log_dispaly_falg=0; +} - lv_call_log_obj_ext_t * ext = call_log_get_ext(); + +static void delete_log_btn_action(lv_obj_t * btn, lv_event_t event) +{ + if(LV_EVENT_CLICKED != event) return; + uint8_t index = lv_obj_get_user_data(btn).user_num; + call_log_delete_date_call_log_info(index); + call_log_ui_update(); + lv_watch_obj_cleanup(btn); + delete_log_destory(NULL); +} + +static void delete_log_cancel_btn_action(lv_obj_t * btn, lv_event_t event) +{ + if(LV_EVENT_CLICKED != event) return; + lv_watch_obj_cleanup(btn); + delete_log_destory(NULL); +} + + +static lv_obj_t * delete_log_create(lv_obj_t * activity_obj,uint8_t list_num) +{ + if(activity_obj == NULL) { + lv_watch_activity_ext_t activity_ext; + memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t)); + activity_ext.actId = ACT_ID_SHUTDOWN; + activity_ext.create = NULL; + activity_ext.prepare_destory = delete_log_destory; + activity_obj = lv_watch_creat_activity_obj(&activity_ext); + LV_ASSERT_MEM(activity_obj); + if(activity_obj == NULL) return NULL; + } + call_log_dispaly_falg=1; + 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_HOR_RIGHT_HIDE); + + lv_obj_t * label = lv_label_create(obj, NULL); + lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font26); + lv_label_set_text_id(label, WATCH_TEXT_ID_CONFIRM_DELETE); + lv_obj_align(label, obj, LV_ALIGN_CENTER, 0, -40); + + lv_obj_t * btn = lv_imgbtn_create(obj, NULL); + lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_CONFIRM_BIG); + lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_CONFIRM_BIG); + lv_obj_set_event_cb(btn, delete_log_btn_action); + lv_watch_set_free_num(btn, list_num); + lv_watch_obj_add_element(btn); + lv_obj_align(btn, obj, LV_ALIGN_IN_BOTTOM_LEFT, 20+20, -20); + + + btn = lv_imgbtn_create(obj, NULL); + lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_CANCEL_BIG); + lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_CANCEL_BIG); + lv_obj_set_event_cb(btn, delete_log_cancel_btn_action); + lv_watch_obj_add_element(btn); + lv_obj_align(btn, obj, LV_ALIGN_IN_BOTTOM_RIGHT, -20-20, -20); + + return obj; +} + +#endif + + +static void call_log_log_btn_event_cb(lv_obj_t * btn, lv_event_t e) +{ + lv_call_log_obj_ext_t * ext = call_log_get_ext(); LV_ASSERT_MEM(ext); uint8_t index = lv_obj_get_user_data(btn).user_num; call_log_number_info_t * node = NULL; node = _lv_ll_get_head(ext->phone_number_list); - while(node) - { - if(index == node->index) { - printf("%s: mo start\n", __FUNCTION__); - uint8_t length = strlen(node->phone_number); - char * number_mo = (char *)Hal_Mem_Alloc(length + 1); - memset(number_mo, 0, length + 1); - memcpy(number_mo, node->phone_number, length); - phone_voice_call_req(number_mo); - break; - } else { - node = _lv_ll_get_next(ext->phone_number_list, node); + + #ifdef coll_log_delete + if(LV_EVENT_LONG_PRESSED==e) + { + while(node) + { + if(index == node->index) { + delete_log_create(NULL,node->index); + break; + } else { + node = _lv_ll_get_next(ext->phone_number_list, node); + } } + + } + #endif + + if(LV_EVENT_CLICKED != e) + return; + if(call_log_dispaly_falg==0) + { + while(node) + { + if(index == node->index) { + printf("%s: mo start\n", __FUNCTION__); + uint8_t length = strlen(node->phone_number); + char * number_mo = (char *)Hal_Mem_Alloc(length + 1); + memset(number_mo, 0, length + 1); + memcpy(number_mo, node->phone_number, length); + phone_voice_call_req(number_mo); + break; + } else { + node = _lv_ll_get_next(ext->phone_number_list, node); + } + } + } + + } static void call_log_content_create(lv_obj_t * list, uint8_t call_log_num, nv_watch_call_log_t * call_log_list) diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c index 2d63d577..87603b9d 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c @@ -1026,7 +1026,7 @@ bool mmi_protocol_fzd_parse_SERVER_SET_BOOTOFF(unsigned char * next_buff, unsign server_set_alarm[0].on_off = atoi(temp_ptr); server_set_alarm[1].on_off = atoi(temp_ptr); - server_set_alarm[0].repeat_bitmap = 0x01ff; + server_set_alarm[0].repeat_bitmap = 0x03ff; server_set_alarm[1].repeat_bitmap = 0x01ff; @@ -1187,6 +1187,103 @@ bool mmi_protocol_fzd_parse_SERVER_SET_TEMPERATURE_INTERVAL(unsigned char * next return result; } +static TIMER_ID t=NULL; +static void alarm_timeout(void * para) +{ + mmi_protocol_fzd_action_HEARTBEAT(); +} + +bool mmi_protocol_fzd_parse_SERVER_SET_STFREQ(unsigned char * next_buff, unsigned int next_buff_len) +{ + bool result = false; + MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_ACTION_SET_STFREQ; + + if(NULL == next_buff || 0 == next_buff_len) + { + PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + return false; + } + + result = true; + mmi_protocol_fzd_send_without_data(action); + int off= atoi(strtok(next_buff,",")); + + int value_interval = atoi(strtok(NULL,"\0")); + printf("MMI_FZD_ACTION_SET_STFREQ %d,%d",off,value_interval); + if(t==NULL) + { + if(off!=0) + { + t= Hal_Timer_Start(value_interval *1000*60, alarm_timeout, NULL,1); + } + else + { + Hal_Timer_Stop(t); + } + + } + else + { + if(off!=0) + { + Hal_Timer_Stop(t); + t= Hal_Timer_Start(value_interval *1000*60, alarm_timeout, NULL,1); + } + else + { + Hal_Timer_Stop(t); + } + + + } + + + return result; +} + +bool mmi_protocol_fzd_parse_SERVER_SET_SET_PEDO(unsigned char * next_buff, unsigned int next_buff_len) +{ + bool result = false; + MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_ACTION_SET_PEDO; + + if(NULL == next_buff || 0 == next_buff_len) + { + PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + return false; + } + + mmi_protocol_fzd_send_without_data(action); + int off= atoi(next_buff); + if(off==0) + { + if(t!=NULL) + { + Hal_Timer_Stop(t); + } + else + { + t= Hal_Timer_Start(5 *1000*60, alarm_timeout, NULL,1); + } + + } + + return result; +} + +bool mmi_protocol_fzd_parse_SERVER_SET_SLEEP_SW(unsigned char * next_buff, unsigned int next_buff_len) +{ + bool result = false; + MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_ACTION_SET_SLEEP_SW; + + if(NULL == next_buff || 0 == next_buff_len) + { + PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + return false; + } + + + return result; +} bool mmi_protocol_fzd_parse_SERVER_SET_BLOOD_INTERVAL(unsigned char * next_buff, unsigned int next_buff_len) { @@ -2487,14 +2584,20 @@ bool mmi_protocol_fzd_action_VC_CALL_RESPONSE(char * number, char * ticket, MODE bool result = false; MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_WATCH_VC_CALL_RESPONSE; - unsigned char content_buff[NV_WATCH_VC_CONTACT_NUMBER_LEN + 64 + 8] = {0}; - unsigned int content_lenth = 0; + if(NULL == number) // hang up + { + result = mmi_protocol_fzd_send_without_data(action); + } + else // reject + { + unsigned char content_buff[NV_WATCH_VC_CONTACT_NUMBER_LEN + 64 + 8] = {0}; + unsigned int content_lenth = 0; sprintf(content_buff, ",%s,%s,%d", number, ticket, type); content_lenth = strlen(content_buff); - result = mmi_protocol_fzd_send_with_data(action, content_buff, content_lenth); - + result = mmi_protocol_fzd_send_with_data(action, content_buff, content_lenth); + } return result; } #endif diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h index a4034d68..5ebecd56 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h @@ -119,6 +119,9 @@ typedef enum MMI_FZD_ACTION_SEND_BLOOD, MMI_FZD_SERVER_SET_SPO2_INTERVAL, MMI_FZD_ACTION_SEND_SPO2, + MMI_FZD_ACTION_SET_STFREQ, + MMI_FZD_ACTION_SET_PEDO, + MMI_FZD_ACTION_SET_SLEEP_SW, #endif #ifdef __MMI_WECHAT_SUPPORT__ diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c index ea5dd39a..ceeb0766 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c @@ -43,6 +43,9 @@ static unsigned char * mmi_protocol_fzd_action_string_get(MMI_PROTOCOL_FZD_ACTIO {MMI_FZD_ACTION_SEND_BLOOD, "blood"}, {MMI_FZD_SERVER_SET_SPO2_INTERVAL, "oxstart"}, {MMI_FZD_ACTION_SEND_SPO2, "oxygen"}, + {MMI_FZD_ACTION_SET_STFREQ, "STFreq"}, + {MMI_FZD_ACTION_SET_PEDO, "PEDO"}, + {MMI_FZD_ACTION_SET_SLEEP_SW, "SLEEP_SW"}, #endif #ifdef __MMI_WECHAT_SUPPORT__ @@ -261,6 +264,15 @@ static bool mmi_protocol_fzd_content_parse(unsigned char * content_ptr, unsigned case MMI_FZD_ACTION_SEND_SPO2: break; + case MMI_FZD_ACTION_SET_STFREQ: + mmi_protocol_fzd_parse_SERVER_SET_STFREQ(next_buff, next_buff_len); + break; + case MMI_FZD_ACTION_SET_PEDO: + mmi_protocol_fzd_parse_SERVER_SET_SET_PEDO(next_buff, next_buff_len); + break; + case MMI_FZD_ACTION_SET_SLEEP_SW: + mmi_protocol_fzd_parse_SERVER_SET_SLEEP_SW(next_buff, next_buff_len); + break; #endif #ifdef __MMI_WECHAT_SUPPORT__