From: CCC <2393524978@qq.com> Date: Mon, 6 Nov 2023 09:21:13 +0000 (+0800) Subject: gengxin X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=617769c46964e97e030ff812306f2c7e7b19b810;p=mirrors%2FASR3603_Z5.git gengxin --- 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 555ba669..f773d07f 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 @@ -130,6 +130,11 @@ void mmi_ui_msg_action_heng_ai_wake_now(void) { mmi_ui_msg_action_no_para_msg(MMI_MSG_HENG_AI_WAKE_NOW); } + +void mmi_ui_msg_action_heng_ai_warning(void) +{ + mmi_ui_msg_action_no_para_msg(MMI_MSG_HENG_AI_WARNING); +} #endif #ifdef __MMI_CUSTOM_BEI_KE_RUI_SHENG__ void mmi_ui_msg_action_ai_talk_incoming(void) 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 03133846..3e4f9aad 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 @@ -78,6 +78,10 @@ void mmi_ui_msg_action_pedometer_update(void); void mmi_ui_msg_action_remind(void); #ifdef __MMI_CUSTOM_HENG_AI__ void mmi_ui_msg_action_heng_ai_wake_now(void); +void mmi_ui_msg_action_heng_ai_warning(void); +#endif +#ifdef __MMI_CUSTOM_BEI_KE_RUI_SHENG__ +void mmi_ui_msg_action_ai_talk_incoming(void); #endif 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 f407dee9..eb796bdb 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 @@ -434,6 +434,9 @@ void watch_ui_message_handle(uint16_t msgid, void * msg) case MMI_MSG_HENG_AI_WAKE_NOW: mmi_ui_msg_update_heng_ai_wake_now(); break; + case MMI_MSG_HENG_AI_WARNING: + mmi_ui_msg_update_heng_ai_warning(); + break; #endif #ifdef __MMI_CUSTOM_BEI_KE_RUI_SHENG__ case MMI_MSG_AI_TALK_INCOMING: 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 32254792..973d496e 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 @@ -124,6 +124,7 @@ enum MMI_MSG_REMIND, #ifdef __MMI_CUSTOM_HENG_AI__ MMI_MSG_HENG_AI_WAKE_NOW, + MMI_MSG_HENG_AI_WARNING, #endif #ifdef __MMI_CUSTOM_BEI_KE_RUI_SHENG__ MMI_MSG_AI_TALK_INCOMING, 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 456d3519..fa9c443e 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 @@ -208,6 +208,9 @@ enum ACT_ID_WEATHER_MENU, #endif ACT_ID_REMIND, +#ifdef __MMI_CUSTOM_HENG_AI__ + ACT_ID_HENG_AI_WARNING, +#endif #ifdef __MMI_CUSTOM_BEI_KE_RUI_SHENG__ ACT_ID_AI_TALK, ACT_ID_AI_TALK_RECORDING, diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai.c b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai.c index 18cdd1c9..e687fb6c 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai.c @@ -453,13 +453,12 @@ void mmi_heng_ai_wake_now_aciton(void) { return ; } - if(true == wechat_msg_voice_is_recording() - || true == wechat_msg_item_is_sending() - || true == wechat_msg_voice_is_playing() - ) +#ifdef __MMI_WECHAT_SUPPORT__ + if(true == wechat_screen_is_prohibit_interrupted()) { return; } +#endif if(true == mmi_remind_screen_is_active()) { @@ -498,4 +497,236 @@ uint8_t mmi_heng_ai_wake_ring_type_get(void) return (ring_type_data.switch_flag); } + +static mmi_heng_ai_warning_info_s s_heng_ai_warning_info = {0}; + +bool mmi_heng_ai_warning_screen_is_active(void) +{ + lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_HENG_AI_WARNING); + if(NULL != activity_obj) + return true; + + return false; +} + +static lv_remind_obj_ext_t * mmi_heng_ai_warning_screen_ext_get(void) +{ + lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_HENG_AI_WARNING); + if(NULL == activity_obj) + return NULL; + + lv_obj_t * watch_obj = NULL; + lv_watch_get_child_obj(activity_obj, lv_watch_obj_signal, &watch_obj); + if(NULL != watch_obj) + { + void * ext = lv_obj_get_ext_attr(watch_obj); + return ext; + } + + return NULL; +} + +static void mmi_heng_ai_warning_screen_prepare_destory(lv_obj_t * activity_obj) +{ + lv_watch_png_cache_all_free(); + + Hal_Vibrator_Play_End(); + + Hal_Tone_Play_End(); + Hal_Audio_Manage_End_Ind(AUDIO_CTRL_PRIORITY_REMIND); + + printf("[@CHENG_DEBUG][%s][%d]: 0x%x\n", __FUNCTION__, __LINE__, s_heng_ai_warning_info.prompt_str); + if(NULL != s_heng_ai_warning_info.prompt_str) + { + lv_mem_free(s_heng_ai_warning_info.prompt_str); + s_heng_ai_warning_info.prompt_str = NULL; + } + + lv_heng_ai_warning_obj_ext_t * ext = mmi_heng_ai_warning_screen_ext_get(); + if(ext) + { + if(NULL != ext->timer_id) + { + Hal_Timer_Stop(ext->timer_id); + ext->timer_id = NULL; + } + } + + watch_set_suspend_enable(true, ACT_ID_HENG_AI_WARNING, 0); +} + +void mmi_heng_ai_warning_screen_clean(void) +{ + mmi_heng_ai_warning_screen_prepare_destory(NULL); + + lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_HENG_AI_WARNING); + if(NULL != activity_obj) + { + printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + lv_obj_del(activity_obj); + } +} + +void mmi_heng_ai_warning_btn_event_cb(lv_obj_t * obj, lv_event_t e) +{ + if(LV_EVENT_CLICKED == e) + { + mmi_heng_ai_warning_screen_clean(); + } +} + +static void mmi_heng_ai_warning_screen_timeout(void * para) +{ + mmi_heng_ai_warning_screen_clean(); +} + +static lv_obj_t * mmi_heng_ai_warning_screen_create(lv_obj_t * activity_obj) +{ + printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + if(NULL == activity_obj) + { + lv_watch_activity_ext_t activity_ext = {0}; + + activity_ext.actId = ACT_ID_HENG_AI_WARNING; + activity_ext.create = mmi_heng_ai_warning_screen_create; + activity_ext.prepare_destory = mmi_heng_ai_warning_screen_prepare_destory; + activity_obj = lv_watch_creat_activity_obj(&activity_ext); + if(NULL == activity_obj) + return NULL; + } + + /* 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); + lv_heng_ai_warning_obj_ext_t * ext = (lv_heng_ai_warning_obj_ext_t *)lv_obj_allocate_ext_attr(obj, sizeof(lv_heng_ai_warning_obj_ext_t)); + + lv_obj_t * cont = lv_cont_create(obj, NULL); + lv_obj_set_size(cont, LV_HOR_RES, LV_VER_RES); + lv_obj_set_style_local_bg_color(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + //lv_obj_set_style_local_bg_color(cont, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_obj_set_click(cont, false); + + hal_rtc_t cur_time; + char time_str[8] = {0}; + + Hal_Rtc_Gettime(&cur_time); + sprintf(time_str, "%02d:%02d", cur_time.tm_hour, cur_time.tm_min); + + lv_obj_t * label_time = lv_label_create(cont, NULL); + lv_obj_add_style(label_time, LV_LABEL_PART_MAIN, &lv_watch_font26); + lv_label_set_text(label_time, time_str); + lv_label_set_align(label_time, LV_LABEL_ALIGN_CENTER); + lv_obj_align(label_time, NULL, LV_ALIGN_IN_TOP_MID, 0, 50); + + lv_obj_t * label_prompt = lv_label_create(cont, NULL); + lv_obj_add_style(label_prompt, LV_LABEL_PART_MAIN, &lv_watch_font26); + lv_label_set_align(label_prompt, LV_LABEL_ALIGN_CENTER); + lv_label_set_long_mode(label_prompt, LV_LABEL_LONG_BREAK); + lv_obj_set_width(label_prompt, lv_obj_get_width(obj) - 20); + lv_label_set_text(label_prompt, s_heng_ai_warning_info.prompt_str); + lv_obj_align(label_prompt, label_time, LV_ALIGN_OUT_BOTTOM_MID, 0, 10); + + + 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); + lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -20); + lv_obj_set_event_cb(btn, mmi_heng_ai_warning_btn_event_cb); + + lv_obj_t * label = lv_label_create(btn, NULL); + lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font26); + lv_label_set_text_id(label, WATCH_TEXT_ID_OK); + + /* start timer (1 min) */ + ext->timer_id = Hal_Timer_Start(1000 * 60, mmi_heng_ai_warning_screen_timeout, NULL, false); + + watch_set_suspend_enable(false, ACT_ID_HENG_AI_WARNING, 0); + + return obj; +} + +void mmi_heng_ai_warning_audio_ctrl_callback(AUDIO_CTRL_PRIORITY priority) +{ + printf("[@CHENG_DEBUG][%s][%d]: priority=%d\n", __FUNCTION__, __LINE__, priority); + + if(AUDIO_CTRL_PRIORITY_REMIND == priority) + { + // + } + else if(AUDIO_CTRL_PRIORITY_REMIND > priority) + { + mmi_heng_ai_warning_screen_clean(); + } +} + +void mmi_ui_msg_update_heng_ai_warning(void) +{ + printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + if(AUDIO_CTRL_PRIORITY_REMIND == Hal_Audio_Manage_Start_Req(AUDIO_CTRL_PRIORITY_REMIND, mmi_heng_ai_warning_audio_ctrl_callback)) + { + if(MMI_HENG_AI_WARNING_TYPE_SLEEP == s_heng_ai_warning_info.type) + Hal_NFFS_File_Play_Repeat(AUDIO_REMIND_SLEEP, query_current_volume()); + else + Hal_Vibrator_Play_Repeat(); + + mmi_heng_ai_warning_screen_create(NULL); + } +} + +void mmi_heng_ai_warning_info_set(uint8_t type_value, uint8_t state_value, char * unicode_description) +{ + printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + 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 ; + } +#ifdef __MMI_WECHAT_SUPPORT__ + if(true == wechat_screen_is_prohibit_interrupted()) + { + return; + } +#endif + + if(true == mmi_heng_ai_warning_screen_is_active()) + { + return ; + } + + if(NULL != s_heng_ai_warning_info.prompt_str) + { + lv_mem_free(s_heng_ai_warning_info.prompt_str); + s_heng_ai_warning_info.prompt_str = NULL; + } + s_heng_ai_warning_info.type = type_value; + s_heng_ai_warning_info.state = state_value; + + uint32_t unicode_length = strlen(unicode_description); + uint32_t memory_size = unicode_length / 4 * 3 + 1; + uint32_t output_len = 0; + + s_heng_ai_warning_info.prompt_str = lv_mem_alloc(memory_size); + if(NULL != s_heng_ai_warning_info.prompt_str) + { + printf("[@CHENG_DEBUG][%s][%d]: 0x%x\n", __FUNCTION__, __LINE__, s_heng_ai_warning_info.prompt_str); + + _lv_memset_00(s_heng_ai_warning_info.prompt_str, memory_size); + mmi_unicode_hex_str_to_utf8_str(unicode_description, unicode_length, s_heng_ai_warning_info.prompt_str, &output_len); + + printf("[@CHENG_DEBUG][%s][%d]: unicode_length=%d,memory_size=%d,output_len=%d\n", __FUNCTION__, __LINE__, unicode_length, memory_size, output_len); + + // ui + mmi_watch_wake_up(); + mmi_ui_msg_action_heng_ai_warning(); + } +} + #endif diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai.h b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai.h index fc211855..55786d55 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai.h +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai.h @@ -33,6 +33,57 @@ void mmi_heng_ai_camera_open(void); void mmi_heng_ai_wake_ring_type_set(uint8_t ring_type); uint8_t mmi_heng_ai_wake_ring_type_get(void); + + +typedef enum +{ + MMI_HENG_AI_WARNING_TYPE_NONE, + + MMI_HENG_AI_WARNING_TYPE_HEART_RATE = 1, + MMI_HENG_AI_WARNING_TYPE_SPO2, + MMI_HENG_AI_WARNING_TYPE_3, + MMI_HENG_AI_WARNING_TYPE_TEMPERATURE = 4, + MMI_HENG_AI_WARNING_TYPE_5, + MMI_HENG_AI_WARNING_TYPE_6, + MMI_HENG_AI_WARNING_TYPE_7, + MMI_HENG_AI_WARNING_TYPE_SLEEP = 8, + + MMI_HENG_AI_WARNING_TYPE_MAX +} MMI_HENG_AI_WARNING_TYPE_E; + +typedef enum +{ + MMI_HENG_AI_WARNING_STATE_NONE, + + MMI_HENG_AI_WARNING_STATE_NORMAL = MMI_HENG_AI_WARNING_STATE_NONE, + MMI_HENG_AI_WARNING_STATE_LOW, + MMI_HENG_AI_WARNING_STATE_HIGH, + MMI_HENG_AI_WARNING_STATE_LOWER, + MMI_HENG_AI_WARNING_STATE_HIGHER, + MMI_HENG_AI_WARNING_STATE_LOWEST, + MMI_HENG_AI_WARNING_STATE_HIGHEST, + + MMI_HENG_AI_WARNING_STATE_MAX +} MMI_HENG_AI_WARNING_STATE_E; + +typedef struct +{ + MMI_HENG_AI_WARNING_TYPE_E type; + MMI_HENG_AI_WARNING_STATE_E state; + void * prompt_str; +} mmi_heng_ai_warning_info_s; + +typedef struct +{ + lv_watch_obj_ext_t lv_watch_obj; + /*New data for this type */ + TIMER_ID timer_id; +} lv_heng_ai_warning_obj_ext_t; + + +void mmi_heng_ai_warning_info_set(uint8_t type_value, uint8_t state_value, char * unicode_description); + + #endif #ifdef __cplusplus diff --git a/2.sdk/sdk/gui/lv_watch/lv_watch_res.h b/2.sdk/sdk/gui/lv_watch/lv_watch_res.h index fd291503..ef57973f 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_watch_res.h +++ b/2.sdk/sdk/gui/lv_watch/lv_watch_res.h @@ -31,7 +31,7 @@ extern "C" { #ifdef __MMI_REMIND_WAKE_UP_SUPPORT__ #define AUDIO_REMIND_WAKE_UP "R:/audio/AUDIO_REMIND_WAKE_UP.mp3" #endif -#ifdef __MMI_REMIND_SLEEP_SUPPORT__ +#if defined(__MMI_REMIND_SLEEP_SUPPORT__) || defined(__MMI_CUSTOM_HENG_AI__) #define AUDIO_REMIND_SLEEP "R:/audio/AUDIO_REMIND_SLEEP.mp3" #endif 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 c78b84c6..4cdcc068 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 @@ -10,6 +10,9 @@ #include "../../../../product/craneg_modem/pcac/mbedtls/include/mbedtls/md5.h" #endif +// action key string & action case parse +#include "mmi_protocol_fzd_content.c" + static uint8_t s_fzd_time_data_flag = 0; static MMI_PROTOCOL_FZD_SEND_SPACE_STRUCT s_send_space_struct[MMI_FZD_ACTION_MAX] = {0}; @@ -18,8 +21,7 @@ static MMI_PROTOCOL_FZD_RECEIVE_SPACE_STRUCT s_receive_space_struct = {0}; static bool mmi_protocol_fzd_send_without_data(MMI_PROTOCOL_FZD_ACTION_ENUM action); static bool mmi_protocol_fzd_send_with_data(MMI_PROTOCOL_FZD_ACTION_ENUM action, unsigned char * content_buff, int content_lenth); -static unsigned char * mmi_protocol_fzd_action_string_get(MMI_PROTOCOL_FZD_ACTION_ENUM action); -static bool mmi_protocol_fzd_content_parse(unsigned char * content_ptr, unsigned int content_length); + // @@ -489,322 +491,7 @@ static bool mmi_protocol_fzd_send_with_data(MMI_PROTOCOL_FZD_ACTION_ENUM action, return result; } -static unsigned char * mmi_protocol_fzd_action_string_get(MMI_PROTOCOL_FZD_ACTION_ENUM action) -{ - struct - { - MMI_PROTOCOL_FZD_ACTION_ENUM action; - unsigned char* action_string; - }action_struct[MMI_FZD_ACTION_MAX] = - { - {MMI_FZD_ACTION_NONE, "NONE"}, //MMI_FZD_ACTION_NONE - - {MMI_FZD_ACTION_LINK, "LK"}, - {MMI_FZD_ACTION_HEARTBEAT, "KA"}, - {MMI_FZD_ACTION_BIND, "PING"}, // - {MMI_FZD_ACTION_GET_TIME, "LGZONE"}, // - {MMI_FZD_ACTION_SEND_LOCATION, "UD"}, // - {MMI_FZD_ACTION_SEND_CUR_LOCATION, "CRUD"}, // - {MMI_FZD_SERVER_GET_CUR_LOCATION, "CR"}, // - {MMI_FZD_SERVER_SET_UD_INTERVAL, "UPLOAD"}, // - {MMI_FZD_ACTION_ALERT, "AL"}, // - {MMI_FZD_SERVER_SET_FACTORY, "FACTORY"}, // - {MMI_FZD_SERVER_SET_POWEROFF, "POWEROFF"}, // - - {MMI_FZD_SERVER_FIND_WATCH, "FIND"}, // - {MMI_FZD_SERVER_GET_VERSION, "VERNO"}, // - {MMI_FZD_SERVER_SET_PHONEBOOK, "PHL"}, // - {MMI_FZD_SERVER_SET_CALL, "CALL"}, // - {MMI_FZD_SERVER_SET_REMIND, "REMIND"}, // - - {MMI_FZD_SERVER_SET_HEART_INTERVAL, "hrtstart"}, // - {MMI_FZD_ACTION_SEND_HEART, "heart"}, // - {MMI_FZD_SERVER_SET_TEMPERATURE_INTERVAL, "wdstart"}, // - {MMI_FZD_ACTION_SEND_TEMPERATURE, "temp"}, // - {MMI_FZD_SERVER_SET_BLOOD_INTERVAL, "bldstart"}, // - {MMI_FZD_ACTION_SEND_BLOOD, "blood"}, // - {MMI_FZD_SERVER_SET_SPO2_INTERVAL, "oxstart"}, // - {MMI_FZD_ACTION_SEND_SPO2, "oxygen"}, // - - #ifdef __MMI_WECHAT_SUPPORT__ - {MMI_FZD_ACTION_TALK, "TK"}, - {MMI_FZD_ACTION_TALK_MESSAGE, "MESSAGE"}, - #endif - #if USE_LV_WATCH_CAMERA != 0 - {MMI_FZD_ACTION_SEND_PHOTO, "img"}, - #endif - {MMI_FZD_ACTION_GET_WEATHER, "WT"}, // - {MMI_FZD_SERVER_SET_SOS_NUMBER, "SOS"}, // - {MMI_FZD_SERVER_SET_CENTER_NUMBER, "CENTER"}, // - {MMI_FZD_SERVER_SET_MONITOR, "MONITOR"}, - {MMI_FZD_ACTION_UNBIND, "DLT"}, - - #ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__ - #ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL_WULIAN__ - {MMI_FZD_WATCH_GET_VC_CONFIG, "jup_hoo_config"}, - {MMI_FZD_WATCH_GET_VC_CONTACT, "video_contact"}, - - {MMI_FZD_WATCH_VC_CALL_REQUEST, "jup_hoo_call"}, - {MMI_FZD_SERVER_VC_CALL_RESPONSE, "jup_hoo_reply"}, - - {MMI_FZD_SERVER_VC_CALL_REQUEST, "jup_hoo_request"}, - {MMI_FZD_WATCH_VC_CALL_RESPONSE, "jup_hoo_response"}, - #endif - #if defined(__MMI_ZHSX_SUPPORT_VIDEO_CALL_FZD__) || defined(__MMI_ZHSX_SUPPORT_VIDEO_CALL_TONGXIN__) - {MMI_FZD_WATCH_GET_VC_CONFIG, "JPREG"}, - {MMI_FZD_WATCH_GET_VC_CONTACT, "MEMBERS"}, - {MMI_FZD_WATCH_VC_CALL_REQUEST, "AGTALK"}, - {MMI_FZD_SERVER_VC_CALL_RESPONSE, "RTALK"}, - {MMI_FZD_SERVER_VC_CALL_REQUEST, "CALLING"}, - {MMI_FZD_WATCH_VC_CALL_RESPONSE, "RCALLING"}, - #endif - #endif - #ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ - {MMI_FZD_SERVER_SET_NOT_DISTURB, "SILENCETIME2"}, - #endif - {MMI_FZD_SERVER_SET_DIAL_PAD_SWITCH, "KEYBRD"}, - {MMI_FZD_SERVER_SET_WHITE_LIST_SWITCH, "WLKEY"}, - #ifdef __MMI_REMIND_WAKE_UP_SUPPORT__ - {MMI_FZD_SERVER_SET_REMIND_WAKE_UP, "REMIND_CH_WAKEUP"}, - #endif - #ifdef __MMI_CUSTOM_HENG_AI__ - {MMI_FZD_SERVER_SET_HENG_AI_WAKE_NOW, "HENG_AI_WAKE_NOW"}, - {MMI_FZD_SERVER_SET_HENG_AI_WAKE_RING_TYPE, "HENG_AI_WAKE_RING_TYPE"}, - #endif - - - /*******add before this line*******/ - {MMI_FZD_ACTION_MAX, ""}, // MMI_FZD_ACTION_MAX - }; - - return action_struct[action].action_string; -} - -static bool mmi_protocol_fzd_content_parse(unsigned char * content_ptr, unsigned int content_length) -{ - unsigned char * next_buff = NULL; - unsigned int next_buff_len = 0; - MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_ACTION_NONE; - uint8_t content_action_str_len = 0; - - PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: length=%d, content=%s\n", __FUNCTION__, __LINE__, content_length, content_ptr); - - km_strtok_r(content_ptr, ",", &next_buff); - content_action_str_len = strlen(content_ptr); - if(NULL == next_buff) - next_buff_len = 0; - else - next_buff_len = content_length - content_action_str_len - 1; - - for(action = MMI_FZD_ACTION_NONE; action < MMI_FZD_ACTION_MAX; action++) - { - unsigned char * action_string = mmi_protocol_fzd_action_string_get(action); - if(strlen(action_string) == content_action_str_len) - { - if(0 == strncmp(content_ptr, action_string, content_action_str_len)) - { - PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: action_string=%s, action=%d\n", __FUNCTION__, __LINE__, action_string, action); - break; - } - } - } - - if(MMI_FZD_ACTION_MAX == action) - { - PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); - return false; - } - - switch(action) - { - case MMI_FZD_ACTION_LINK: - mmi_protocol_fzd_parse_LINK(next_buff, next_buff_len); - break; - - case MMI_FZD_ACTION_HEARTBEAT: - mmi_protocol_fzd_parse_HEARTBEAT(next_buff, next_buff_len); - break; - - case MMI_FZD_ACTION_BIND: - mmi_protocol_fzd_parse_ACTION_BIND(next_buff, next_buff_len); - break; - - case MMI_FZD_ACTION_GET_TIME: - mmi_protocol_fzd_parse_ACTION_GET_TIME(next_buff, next_buff_len); - break; - - case MMI_FZD_ACTION_SEND_LOCATION: - break; - - case MMI_FZD_ACTION_SEND_CUR_LOCATION: - break; - - case MMI_FZD_SERVER_GET_CUR_LOCATION: - mmi_protocol_fzd_parse_SERVER_GET_CUR_LOCATION(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_SET_UD_INTERVAL: - mmi_protocol_fzd_parse_SERVER_SET_UD_INTERVAL(next_buff, next_buff_len); - break; - - case MMI_FZD_ACTION_ALERT: - break; - - case MMI_FZD_SERVER_SET_FACTORY: - mmi_protocol_fzd_parse_SERVER_SET_FACTORY(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_SET_POWEROFF: - mmi_protocol_fzd_parse_SERVER_SET_POWEROFF(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_FIND_WATCH: - mmi_protocol_fzd_parse_SERVER_FIND_WATCH(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_GET_VERSION: - mmi_protocol_fzd_parse_SERVER_GET_VERSION(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_SET_PHONEBOOK: - mmi_protocol_fzd_parse_SERVER_SET_PHONEBOOK(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_SET_CALL: - mmi_protocol_fzd_parse_SERVER_SET_CALL(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_SET_REMIND: - mmi_protocol_fzd_parse_SERVER_SET_REMIND(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_SET_HEART_INTERVAL: - mmi_protocol_fzd_parse_SERVER_SET_HEART_INTERVAL(next_buff, next_buff_len); - break; - - case MMI_FZD_ACTION_SEND_HEART: - break; - - case MMI_FZD_SERVER_SET_TEMPERATURE_INTERVAL: - mmi_protocol_fzd_parse_SERVER_SET_TEMPERATURE_INTERVAL(next_buff, next_buff_len); - break; - - case MMI_FZD_ACTION_SEND_TEMPERATURE: - break; - - case MMI_FZD_SERVER_SET_BLOOD_INTERVAL: - mmi_protocol_fzd_parse_SERVER_SET_BLOOD_INTERVAL(next_buff, next_buff_len); - break; - - case MMI_FZD_ACTION_SEND_BLOOD: - break; - - case MMI_FZD_SERVER_SET_SPO2_INTERVAL: - mmi_protocol_fzd_parse_SERVER_SET_SPO2_INTERVAL(next_buff, next_buff_len); - break; - - case MMI_FZD_ACTION_SEND_SPO2: - break; - - #ifdef __MMI_WECHAT_SUPPORT__ - case MMI_FZD_ACTION_TALK: - mmi_protocol_fzd_parse_ACTION_TALK(next_buff, next_buff_len); - break; - - case MMI_FZD_ACTION_TALK_MESSAGE: - mmi_protocol_fzd_parse_ACTION_TALK_MESSAGE(next_buff, next_buff_len); - break; - #endif - - #if USE_LV_WATCH_CAMERA != 0 - case MMI_FZD_ACTION_SEND_PHOTO: - break; - #endif - - case MMI_FZD_ACTION_GET_WEATHER: - mmi_protocol_fzd_parse_ACTION_GET_WEATHER(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_SET_SOS_NUMBER: - mmi_protocol_fzd_parse_SERVER_SET_SOS_NUMBER(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_SET_CENTER_NUMBER: - mmi_protocol_fzd_parse_SERVER_SET_CENTER_NUMBER(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_SET_MONITOR: - mmi_protocol_fzd_parse_SERVER_SET_MONITOR(next_buff, next_buff_len); - break; - - case MMI_FZD_ACTION_UNBIND: - break; - - #ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__ - #if defined(__MMI_ZHSX_SUPPORT_VIDEO_CALL_WULIAN__) || defined(__MMI_ZHSX_SUPPORT_VIDEO_CALL_FZD__) || defined(__MMI_ZHSX_SUPPORT_VIDEO_CALL_TONGXIN__) - case MMI_FZD_WATCH_GET_VC_CONFIG: - mmi_protocol_fzd_parse_WATCH_GET_VC_CONFIG(next_buff, next_buff_len); - break; - - case MMI_FZD_WATCH_GET_VC_CONTACT: - mmi_protocol_fzd_parse_WATCH_GET_VC_CONTACT(next_buff, next_buff_len); - break; - - case MMI_FZD_WATCH_VC_CALL_REQUEST: - mmi_protocol_fzd_parse_WATCH_VC_CALL_REQUEST(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_VC_CALL_RESPONSE: - mmi_protocol_fzd_parse_SERVER_VC_CALL_RESPONSE(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_VC_CALL_REQUEST: - mmi_protocol_fzd_parse_SERVER_VC_CALL_REQUEST(next_buff, next_buff_len); - break; - - case MMI_FZD_WATCH_VC_CALL_RESPONSE: - break; - #endif - #endif - - #ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ - case MMI_FZD_SERVER_SET_NOT_DISTURB: - mmi_protocol_fzd_parse_SERVER_SET_NOT_DISTURB(next_buff, next_buff_len); - break; - #endif - - case MMI_FZD_SERVER_SET_DIAL_PAD_SWITCH: - mmi_protocol_fzd_parse_SERVER_SET_DIAL_PAD_SWITCH(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_SET_WHITE_LIST_SWITCH: - mmi_protocol_fzd_parse_SERVER_SET_WHITE_LIST_SWITCH(next_buff, next_buff_len); - break; - - #ifdef __MMI_REMIND_WAKE_UP_SUPPORT__ - case MMI_FZD_SERVER_SET_REMIND_WAKE_UP: - mmi_protocol_fzd_parse_SERVER_SET_REMIND_WAKE_UP(next_buff, next_buff_len); - break; - #endif - - #ifdef __MMI_CUSTOM_HENG_AI__ - case MMI_FZD_SERVER_SET_HENG_AI_WAKE_NOW: - mmi_protocol_fzd_parse_SERVER_SET_HENG_AI_WAKE_NOW(next_buff, next_buff_len); - break; - - case MMI_FZD_SERVER_SET_HENG_AI_WAKE_RING_TYPE: - mmi_protocol_fzd_parse_SERVER_SET_HENG_AI_WAKE_RING_TYPE(next_buff, next_buff_len); - break; - #endif - - - default: - break; - } - - return true; -} - +///////////////////////// bool mmi_protocol_fzd_action_LINK(void) { @@ -3165,6 +2852,37 @@ bool mmi_protocol_fzd_parse_SERVER_SET_HENG_AI_WAKE_RING_TYPE(unsigned char * ne return result; } + +bool mmi_protocol_fzd_parse_SERVER_SET_HENG_AI_WARNING(unsigned char * next_buff, unsigned int next_buff_len) +{ + bool result = false; + MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_SERVER_SET_HENG_AI_WARNING; + + 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); + + char * temp_ptr = NULL; + uint8_t type_value = 0; + uint8_t state_value = 0; + + temp_ptr = km_strtok_r(NULL, ",", &next_buff); + type_value = atoi(temp_ptr); + + temp_ptr = km_strtok_r(NULL, ",", &next_buff); + state_value = atoi(temp_ptr); + + PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + mmi_heng_ai_warning_info_set(type_value, state_value, next_buff); + + 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 97243be1..002eb358 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 @@ -156,6 +156,7 @@ typedef enum #ifdef __MMI_CUSTOM_HENG_AI__ MMI_FZD_SERVER_SET_HENG_AI_WAKE_NOW, MMI_FZD_SERVER_SET_HENG_AI_WAKE_RING_TYPE, + MMI_FZD_SERVER_SET_HENG_AI_WARNING, #endif @@ -282,6 +283,7 @@ bool mmi_protocol_fzd_parse_SERVER_SET_REMIND_WAKE_UP(unsigned char * next_buff, #ifdef __MMI_CUSTOM_HENG_AI__ bool mmi_protocol_fzd_parse_SERVER_SET_HENG_AI_WAKE_NOW(unsigned char * next_buff, unsigned int next_buff_len); bool mmi_protocol_fzd_parse_SERVER_SET_HENG_AI_WAKE_RING_TYPE(unsigned char * next_buff, unsigned int next_buff_len); +bool mmi_protocol_fzd_parse_SERVER_SET_HENG_AI_WARNING(unsigned char * next_buff, unsigned int next_buff_len); #endif 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 new file mode 100644 index 00000000..d2ce5936 --- /dev/null +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c @@ -0,0 +1,333 @@ + + + +#include "lv_watch.h" + +#ifdef __MMI_ZHSX_SUPPORT_FZD__ + + +static unsigned char * mmi_protocol_fzd_action_string_get(MMI_PROTOCOL_FZD_ACTION_ENUM action) +{ + struct + { + MMI_PROTOCOL_FZD_ACTION_ENUM action; + unsigned char* action_string; + }action_struct[MMI_FZD_ACTION_MAX] = + { + {MMI_FZD_ACTION_NONE, "NONE"}, + + {MMI_FZD_ACTION_LINK, "LK"}, + {MMI_FZD_ACTION_HEARTBEAT, "KA"}, + {MMI_FZD_ACTION_BIND, "PING"}, + {MMI_FZD_ACTION_GET_TIME, "LGZONE"}, + {MMI_FZD_ACTION_SEND_LOCATION, "UD"}, + {MMI_FZD_ACTION_SEND_CUR_LOCATION, "CRUD"}, + {MMI_FZD_SERVER_GET_CUR_LOCATION, "CR"}, + {MMI_FZD_SERVER_SET_UD_INTERVAL, "UPLOAD"}, + {MMI_FZD_ACTION_ALERT, "AL"}, + {MMI_FZD_SERVER_SET_FACTORY, "FACTORY"}, + {MMI_FZD_SERVER_SET_POWEROFF, "POWEROFF"}, + + {MMI_FZD_SERVER_FIND_WATCH, "FIND"}, + {MMI_FZD_SERVER_GET_VERSION, "VERNO"}, + {MMI_FZD_SERVER_SET_PHONEBOOK, "PHL"}, + {MMI_FZD_SERVER_SET_CALL, "CALL"}, + {MMI_FZD_SERVER_SET_REMIND, "REMIND"}, + + {MMI_FZD_SERVER_SET_HEART_INTERVAL, "hrtstart"}, + {MMI_FZD_ACTION_SEND_HEART, "heart"}, + {MMI_FZD_SERVER_SET_TEMPERATURE_INTERVAL, "wdstart"}, + {MMI_FZD_ACTION_SEND_TEMPERATURE, "temp"}, + {MMI_FZD_SERVER_SET_BLOOD_INTERVAL, "bldstart"}, + {MMI_FZD_ACTION_SEND_BLOOD, "blood"}, + {MMI_FZD_SERVER_SET_SPO2_INTERVAL, "oxstart"}, + {MMI_FZD_ACTION_SEND_SPO2, "oxygen"}, + + #ifdef __MMI_WECHAT_SUPPORT__ + {MMI_FZD_ACTION_TALK, "TK"}, + {MMI_FZD_ACTION_TALK_MESSAGE, "MESSAGE"}, + #endif + #if USE_LV_WATCH_CAMERA != 0 + {MMI_FZD_ACTION_SEND_PHOTO, "img"}, + #endif + {MMI_FZD_ACTION_GET_WEATHER, "WT"}, + {MMI_FZD_SERVER_SET_SOS_NUMBER, "SOS"}, + {MMI_FZD_SERVER_SET_CENTER_NUMBER, "CENTER"}, + {MMI_FZD_SERVER_SET_MONITOR, "MONITOR"}, + {MMI_FZD_ACTION_UNBIND, "DLT"}, + + #ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__ + #ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL_WULIAN__ + {MMI_FZD_WATCH_GET_VC_CONFIG, "jup_hoo_config"}, + {MMI_FZD_WATCH_GET_VC_CONTACT, "video_contact"}, + + {MMI_FZD_WATCH_VC_CALL_REQUEST, "jup_hoo_call"}, + {MMI_FZD_SERVER_VC_CALL_RESPONSE, "jup_hoo_reply"}, + + {MMI_FZD_SERVER_VC_CALL_REQUEST, "jup_hoo_request"}, + {MMI_FZD_WATCH_VC_CALL_RESPONSE, "jup_hoo_response"}, + #endif + #if defined(__MMI_ZHSX_SUPPORT_VIDEO_CALL_FZD__) || defined(__MMI_ZHSX_SUPPORT_VIDEO_CALL_TONGXIN__) + {MMI_FZD_WATCH_GET_VC_CONFIG, "JPREG"}, + {MMI_FZD_WATCH_GET_VC_CONTACT, "MEMBERS"}, + {MMI_FZD_WATCH_VC_CALL_REQUEST, "AGTALK"}, + {MMI_FZD_SERVER_VC_CALL_RESPONSE, "RTALK"}, + {MMI_FZD_SERVER_VC_CALL_REQUEST, "CALLING"}, + {MMI_FZD_WATCH_VC_CALL_RESPONSE, "RCALLING"}, + #endif + #endif + #ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ + {MMI_FZD_SERVER_SET_NOT_DISTURB, "SILENCETIME2"}, + #endif + {MMI_FZD_SERVER_SET_DIAL_PAD_SWITCH, "KEYBRD"}, + {MMI_FZD_SERVER_SET_WHITE_LIST_SWITCH, "WLKEY"}, + #ifdef __MMI_REMIND_WAKE_UP_SUPPORT__ + {MMI_FZD_SERVER_SET_REMIND_WAKE_UP, "REMIND_CH_WAKEUP"}, + #endif + #ifdef __MMI_CUSTOM_HENG_AI__ + {MMI_FZD_SERVER_SET_HENG_AI_WAKE_NOW, "HENG_AI_WAKE_NOW"}, + {MMI_FZD_SERVER_SET_HENG_AI_WAKE_RING_TYPE, "HENG_AI_WAKE_RING_TYPE"}, + {MMI_FZD_SERVER_SET_HENG_AI_WARNING, "HENGAI_WARNING"}, + #endif + + + /*******add before this line*******/ + {MMI_FZD_ACTION_MAX, ""}, // MMI_FZD_ACTION_MAX + }; + + return action_struct[action].action_string; +} + +static bool mmi_protocol_fzd_content_parse(unsigned char * content_ptr, unsigned int content_length) +{ + unsigned char * next_buff = NULL; + unsigned int next_buff_len = 0; + MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_ACTION_NONE; + uint8_t content_action_str_len = 0; + + PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: length=%d, content=%s\n", __FUNCTION__, __LINE__, content_length, content_ptr); + + km_strtok_r(content_ptr, ",", &next_buff); + content_action_str_len = strlen(content_ptr); + if(NULL == next_buff) + next_buff_len = 0; + else + next_buff_len = content_length - content_action_str_len - 1; + + for(action = MMI_FZD_ACTION_NONE; action < MMI_FZD_ACTION_MAX; action++) + { + unsigned char * action_string = mmi_protocol_fzd_action_string_get(action); + if(strlen(action_string) == content_action_str_len) + { + if(0 == strncmp(content_ptr, action_string, content_action_str_len)) + { + PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: action_string=%s, action=%d\n", __FUNCTION__, __LINE__, action_string, action); + break; + } + } + } + + if(MMI_FZD_ACTION_MAX == action) + { + PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + return false; + } + + switch(action) + { + case MMI_FZD_ACTION_LINK: + mmi_protocol_fzd_parse_LINK(next_buff, next_buff_len); + break; + + case MMI_FZD_ACTION_HEARTBEAT: + mmi_protocol_fzd_parse_HEARTBEAT(next_buff, next_buff_len); + break; + + case MMI_FZD_ACTION_BIND: + mmi_protocol_fzd_parse_ACTION_BIND(next_buff, next_buff_len); + break; + + case MMI_FZD_ACTION_GET_TIME: + mmi_protocol_fzd_parse_ACTION_GET_TIME(next_buff, next_buff_len); + break; + + case MMI_FZD_ACTION_SEND_LOCATION: + break; + + case MMI_FZD_ACTION_SEND_CUR_LOCATION: + break; + + case MMI_FZD_SERVER_GET_CUR_LOCATION: + mmi_protocol_fzd_parse_SERVER_GET_CUR_LOCATION(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_UD_INTERVAL: + mmi_protocol_fzd_parse_SERVER_SET_UD_INTERVAL(next_buff, next_buff_len); + break; + + case MMI_FZD_ACTION_ALERT: + break; + + case MMI_FZD_SERVER_SET_FACTORY: + mmi_protocol_fzd_parse_SERVER_SET_FACTORY(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_POWEROFF: + mmi_protocol_fzd_parse_SERVER_SET_POWEROFF(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_FIND_WATCH: + mmi_protocol_fzd_parse_SERVER_FIND_WATCH(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_GET_VERSION: + mmi_protocol_fzd_parse_SERVER_GET_VERSION(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_PHONEBOOK: + mmi_protocol_fzd_parse_SERVER_SET_PHONEBOOK(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_CALL: + mmi_protocol_fzd_parse_SERVER_SET_CALL(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_REMIND: + mmi_protocol_fzd_parse_SERVER_SET_REMIND(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_HEART_INTERVAL: + mmi_protocol_fzd_parse_SERVER_SET_HEART_INTERVAL(next_buff, next_buff_len); + break; + + case MMI_FZD_ACTION_SEND_HEART: + break; + + case MMI_FZD_SERVER_SET_TEMPERATURE_INTERVAL: + mmi_protocol_fzd_parse_SERVER_SET_TEMPERATURE_INTERVAL(next_buff, next_buff_len); + break; + + case MMI_FZD_ACTION_SEND_TEMPERATURE: + break; + + case MMI_FZD_SERVER_SET_BLOOD_INTERVAL: + mmi_protocol_fzd_parse_SERVER_SET_BLOOD_INTERVAL(next_buff, next_buff_len); + break; + + case MMI_FZD_ACTION_SEND_BLOOD: + break; + + case MMI_FZD_SERVER_SET_SPO2_INTERVAL: + mmi_protocol_fzd_parse_SERVER_SET_SPO2_INTERVAL(next_buff, next_buff_len); + break; + + case MMI_FZD_ACTION_SEND_SPO2: + break; + + #ifdef __MMI_WECHAT_SUPPORT__ + case MMI_FZD_ACTION_TALK: + mmi_protocol_fzd_parse_ACTION_TALK(next_buff, next_buff_len); + break; + + case MMI_FZD_ACTION_TALK_MESSAGE: + mmi_protocol_fzd_parse_ACTION_TALK_MESSAGE(next_buff, next_buff_len); + break; + #endif + + #if USE_LV_WATCH_CAMERA != 0 + case MMI_FZD_ACTION_SEND_PHOTO: + break; + #endif + + case MMI_FZD_ACTION_GET_WEATHER: + mmi_protocol_fzd_parse_ACTION_GET_WEATHER(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_SOS_NUMBER: + mmi_protocol_fzd_parse_SERVER_SET_SOS_NUMBER(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_CENTER_NUMBER: + mmi_protocol_fzd_parse_SERVER_SET_CENTER_NUMBER(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_MONITOR: + mmi_protocol_fzd_parse_SERVER_SET_MONITOR(next_buff, next_buff_len); + break; + + case MMI_FZD_ACTION_UNBIND: + break; + + #ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__ + #if defined(__MMI_ZHSX_SUPPORT_VIDEO_CALL_WULIAN__) || defined(__MMI_ZHSX_SUPPORT_VIDEO_CALL_FZD__) || defined(__MMI_ZHSX_SUPPORT_VIDEO_CALL_TONGXIN__) + case MMI_FZD_WATCH_GET_VC_CONFIG: + mmi_protocol_fzd_parse_WATCH_GET_VC_CONFIG(next_buff, next_buff_len); + break; + + case MMI_FZD_WATCH_GET_VC_CONTACT: + mmi_protocol_fzd_parse_WATCH_GET_VC_CONTACT(next_buff, next_buff_len); + break; + + case MMI_FZD_WATCH_VC_CALL_REQUEST: + mmi_protocol_fzd_parse_WATCH_VC_CALL_REQUEST(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_VC_CALL_RESPONSE: + mmi_protocol_fzd_parse_SERVER_VC_CALL_RESPONSE(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_VC_CALL_REQUEST: + mmi_protocol_fzd_parse_SERVER_VC_CALL_REQUEST(next_buff, next_buff_len); + break; + + case MMI_FZD_WATCH_VC_CALL_RESPONSE: + break; + #endif + #endif + + #ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ + case MMI_FZD_SERVER_SET_NOT_DISTURB: + mmi_protocol_fzd_parse_SERVER_SET_NOT_DISTURB(next_buff, next_buff_len); + break; + #endif + + case MMI_FZD_SERVER_SET_DIAL_PAD_SWITCH: + mmi_protocol_fzd_parse_SERVER_SET_DIAL_PAD_SWITCH(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_WHITE_LIST_SWITCH: + mmi_protocol_fzd_parse_SERVER_SET_WHITE_LIST_SWITCH(next_buff, next_buff_len); + break; + + #ifdef __MMI_REMIND_WAKE_UP_SUPPORT__ + case MMI_FZD_SERVER_SET_REMIND_WAKE_UP: + mmi_protocol_fzd_parse_SERVER_SET_REMIND_WAKE_UP(next_buff, next_buff_len); + break; + #endif + + #ifdef __MMI_CUSTOM_HENG_AI__ + case MMI_FZD_SERVER_SET_HENG_AI_WAKE_NOW: + mmi_protocol_fzd_parse_SERVER_SET_HENG_AI_WAKE_NOW(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_HENG_AI_WAKE_RING_TYPE: + mmi_protocol_fzd_parse_SERVER_SET_HENG_AI_WAKE_RING_TYPE(next_buff, next_buff_len); + break; + + case MMI_FZD_SERVER_SET_HENG_AI_WARNING: + mmi_protocol_fzd_parse_SERVER_SET_HENG_AI_WARNING(next_buff, next_buff_len); + break; + #endif + + + default: + break; + } + + return true; +} + + +#endif + +