{
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)
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
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:
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,
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,
{
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())
{
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
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
#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
#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};
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);
+
//
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)
{
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
#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
#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
--- /dev/null
+
+
+
+#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
+
+