From: @CHENG <2393524978@qq.com> Date: Thu, 20 Feb 2025 02:07:53 +0000 (+0800) Subject: Z5_HA_K18_NFC ui & feather X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=cb0b4c5ae09e53f5ea5f8ccd44e6caf0f9b8bc11;p=mirrors%2FASR3603_Z5.git Z5_HA_K18_NFC ui & feather --- diff --git a/2.sdk/project/Z5_HA_K18_NFC/gui/lv_watch/resource/png/dial_style1/bg.png b/2.sdk/project/Z5_HA_K18_NFC/gui/lv_watch/resource/png/dial_style1/bg.png index f79c4aba..afa5f7d3 100644 Binary files a/2.sdk/project/Z5_HA_K18_NFC/gui/lv_watch/resource/png/dial_style1/bg.png and b/2.sdk/project/Z5_HA_K18_NFC/gui/lv_watch/resource/png/dial_style1/bg.png differ diff --git a/2.sdk/project/Z5_HA_K18_NFC/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/Z5_HA_K18_NFC/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index 34bf6878..2da4f5e3 100644 --- a/2.sdk/project/Z5_HA_K18_NFC/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/Z5_HA_K18_NFC/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -185,20 +185,20 @@ #define __MMI_ZHSX_SUPPORT_CHECK_SIM_UNBIND__ -#define __MMI_TOOL_MENU_SUPPORT__ +//#define __MMI_TOOL_MENU_SUPPORT__ -#if 0 != USE_LV_WATCH_WEATHER -#define __MMI_WEATHER_MENU_SUPPORT__ -#define __MMI_WEATHER_MENU_NOT_DISPLAY_TEMPERATURE_RANGE__ -#endif +//#if 0 != USE_LV_WATCH_WEATHER +//#define __MMI_WEATHER_MENU_SUPPORT__ +//#define __MMI_WEATHER_MENU_NOT_DISPLAY_TEMPERATURE_RANGE__ +//#endif #define __MMI_PEDOMETER_STEP_AND_GOAL_STYLE__ //#define __MMI_SLEEP_FUNCTION_SUPPORT__ //#define __MMI_CUSTOM_HENGAI_SLEEP__ -#define __MMI_CUSTOM_HENGAI_HEALTH__ -#define __MMI_CUSTOM_HENGAI_HEALTH_UPLOAD_USE_TCP__ +//#define __MMI_CUSTOM_HENGAI_HEALTH__ +//#define __MMI_CUSTOM_HENGAI_HEALTH_UPLOAD_USE_TCP__ //#define __MMI_CUSTOM_HENGAI_TCMS__ diff --git a/2.sdk/sdk/gui/lv_drivers/indev/sos_key.c b/2.sdk/sdk/gui/lv_drivers/indev/sos_key.c index 612cd7be..c2db9b6d 100644 --- a/2.sdk/sdk/gui/lv_drivers/indev/sos_key.c +++ b/2.sdk/sdk/gui/lv_drivers/indev/sos_key.c @@ -314,6 +314,13 @@ void sos_key_param_set(uint8_t param)//0:sos key task -normall, 1:sos key task - void sos_key_ui_handle(void) { +#ifdef MMI_PROJECT_Z5_HA_K18_NFC + if(true == mmi_k18_nfc_experience_screen_active()) + { + return; + } +#endif + #ifdef __MMI_KEY_BACK_RUN_PHONEBOOK_WHEN_IN_DIAL__ if(lv_watch_is_activity_one_level()) { 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 8e8f1b6b..b5cb3667 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 @@ -1003,6 +1003,10 @@ const void * lang_text_ch[] = { "深睡", // WATCH_TEXT_ID_DEEP_SLEEP, "浅睡", // WATCH_TEXT_ID_LIGHT_SLEEP, "快速眼动", // WATCH_TEXT_ID_REM_SLEEP, + "幸福值", // WATCH_TEXT_ID_HAPPINESS_VALUE, + "体验时间", // WATCH_TEXT_ID_EXPERIENCE_TIME, + "终止", // WATCH_TEXT_ID_EXPERIENCE_STOP, + "确定终止体验?", // WATCH_TEXT_ID_EXPERIENCE_STOP_Q, //CHENG_MODIFY "确认是否跌倒?", // WATCH_TEXT_ID_falldown, 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 81ab2460..8b735de0 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 @@ -1004,6 +1004,10 @@ const void * lang_text_en[] = { "Deep sleep", // WATCH_TEXT_ID_DEEP_SLEEP, "Light sleep", // WATCH_TEXT_ID_LIGHT_SLEEP, "REM", // WATCH_TEXT_ID_REM_SLEEP, + "Happiness", // WATCH_TEXT_ID_HAPPINESS_VALUE, + "Time", // WATCH_TEXT_ID_EXPERIENCE_TIME, + "Stop", // WATCH_TEXT_ID_EXPERIENCE_STOP, + "Stop the experience?", // WATCH_TEXT_ID_EXPERIENCE_STOP_Q, //CHENG_MODIFY "Confirm a fall", 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 d7870b7f..90fed253 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 @@ -213,85 +213,16 @@ void mmi_ui_msg_action_hengai_bp_measure_result(bool state, uint16_t bp_value_hi } #endif - - - - -#if 0 - -#define MODEM_ADP_TASK_PRIORITY 199 -MODEM_VIDEO_CALL_REG_STAT g_ModemVcRegStat = MODEM_VIDEO_CALL_REG_FAIL; - - -VOID MMI_ModemAdp_Video_Call_Init_Req(VOID) +#ifdef MMI_PROJECT_Z5_HA_K18_NFC +void mmi_ui_msg_action_k18_nfc_experience(void) { - uos_create_task(MMI_ModemAdp_Video_Call_Main, NULL, 64, 4 * 1000, MODEM_ADP_TASK_PRIORITY, "modem_adpator_video_call"); + mmi_ui_msg_action_no_para_msg(MMI_MSG_K18_NFC_EXPERIENCE); } +#endif + -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_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; - - default: - printf("%s voipmsg id is %d\n", __FUNCTION__, voipmsg.msgid); - break; - } - } -} -#endif void mmi_watch_lv_ui_message_action(uint16_t msgid, void * msg) 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 5d54659d..2550a55f 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 @@ -88,6 +88,9 @@ void mmi_ui_msg_action_ai_talk_incoming(void); void mmi_ui_msg_action_hengai_bp_calibrate_result(bool state); void mmi_ui_msg_action_hengai_bp_measure_result(bool state, uint16_t bp_value_high, uint16_t bp_value_low); #endif +#ifdef MMI_PROJECT_Z5_HA_K18_NFC +void mmi_ui_msg_action_k18_nfc_experience(void); +#endif void mmi_ui_falldown(void); diff --git a/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.c b/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.c index 820001f3..44739f3b 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 @@ -467,6 +467,11 @@ void watch_ui_message_handle(uint16_t msgid, void * msg) break; #endif + #ifdef MMI_PROJECT_Z5_HA_K18_NFC + case MMI_MSG_K18_NFC_EXPERIENCE: + mmi_ui_msg_update_k18_nfc_experience(); + break; + #endif #endif diff --git a/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.h b/2.sdk/sdk/gui/lv_watch/framework/message/watch_msg_handle.h index c7cc904f..b0d61681 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 @@ -137,6 +137,9 @@ enum MMI_MSG_HENGAI_BP_CALIBRATE_RESULT, MMI_MSG_HENGAI_BP_MEASURE_RESULT, #endif +#ifdef MMI_PROJECT_Z5_HA_K18_NFC + MMI_MSG_K18_NFC_EXPERIENCE, +#endif #endif diff --git a/2.sdk/sdk/gui/lv_watch/include/ui_activity_id.h b/2.sdk/sdk/gui/lv_watch/include/ui_activity_id.h index bac5866d..984fcb78 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 @@ -248,6 +248,9 @@ enum #endif #ifdef __MMI_CHIP_TEMPERATURE_MONITOR_SUPPORT__ ACT_ID_CHIP_TEMP_HIGH, +#endif +#ifdef MMI_PROJECT_Z5_HA_K18_NFC + ACT_ID_K18_NFC_EXPERIENCE, #endif ACT_ID_WATCH_FALLDWON, 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 b9be0ba9..eb7b5d9c 100644 --- a/2.sdk/sdk/gui/lv_watch/include/ui_textid.h +++ b/2.sdk/sdk/gui/lv_watch/include/ui_textid.h @@ -1011,6 +1011,10 @@ enum WATCH_TEXT_ID_DEEP_SLEEP, /* "深睡" "Deep sleep" */ WATCH_TEXT_ID_LIGHT_SLEEP, /* "浅睡" "Light sleep" */ WATCH_TEXT_ID_REM_SLEEP, /* "快速眼动" "REM" */ + WATCH_TEXT_ID_HAPPINESS_VALUE, /* "幸福值" "Happiness" */ + WATCH_TEXT_ID_EXPERIENCE_TIME, /* "体验时间" "Time" */ + WATCH_TEXT_ID_EXPERIENCE_STOP, /* "终止" "Stop" */ + WATCH_TEXT_ID_EXPERIENCE_STOP_Q, /* "确定终止体验?" "Stop the experience?" */ //CHENG_MODIFY WATCH_TEXT_ID_FALLDWON, /*确认是否跌倒*/ diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/custom_function.c b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/custom_function.c index 679459e6..ed8a9821 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/custom_function.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/custom_function.c @@ -38,6 +38,9 @@ #include "bei_ke_rui_sheng_data.c" #include "bei_ke_rui_sheng_socket.c" #endif +#ifdef MMI_PROJECT_Z5_HA_K18_NFC +#include "k18_nfc_experience_ui.c" +#endif diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/custom_function.h b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/custom_function.h index 47032ff8..ac8e77dd 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/custom_function.h +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/custom_function.h @@ -50,6 +50,9 @@ extern "C" { #include "bei_ke_rui_sheng_data.h" #include "bei_ke_rui_sheng_socket.h" #endif +#ifdef MMI_PROJECT_Z5_HA_K18_NFC +#include "k18_nfc_experience_ui.h" +#endif diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/k18_nfc_experience_ui.c b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/k18_nfc_experience_ui.c new file mode 100644 index 00000000..db44e495 --- /dev/null +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/k18_nfc_experience_ui.c @@ -0,0 +1,527 @@ + + + +#include "lv_watch.h" + +#ifdef MMI_PROJECT_Z5_HA_K18_NFC + +#define TIMER_TIME_STR_LEN_MAX (16) + +static unsigned char *s_experience_title_str = "8DD16B65673A"; // NULL; +static unsigned int s_experience_time_total = 60 * 3; // 0; // s +static unsigned int s_experience_time_remain = 0; // s +static unsigned int s_experience_value = 168; // 0; +static bool s_screen_is_active = false; + + +bool mmi_k18_nfc_experience_screen_active(void) +{ + return s_screen_is_active; +} + +void * mmi_k18_nfc_experience_ext_get(void) +{ + lv_watch_Activity_Id_t actId = ACT_ID_K18_NFC_EXPERIENCE; + lv_obj_t * activity_obj = lv_watch_get_activity_obj(actId); + 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; +} + +void mmi_k18_nfc_experience_prepare_destory(lv_obj_t * activity_obj) +{ + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + watch_set_suspend_enable(true, ACT_ID_K18_NFC_EXPERIENCE, 0); + watch_wakeup_time_reset(); + + lv_watch_png_cache_all_free(); + + lv_ntc_experience_ext_t * ext = mmi_k18_nfc_experience_ext_get(); + if(NULL == ext) + return ; + + if(NULL != ext->label_time_remaining) + { + lv_anim_del(ext->label_time_remaining, NULL); + } + + s_screen_is_active = false; +} + +void mmi_k18_nfc_experience_screen_clean(void) +{ + mmi_k18_nfc_experience_prepare_destory(NULL); + + lv_obj_t * obj = lv_watch_get_activity_obj(ACT_ID_K18_NFC_EXPERIENCE); + if(NULL != obj) + { + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + lv_obj_del(obj); + } +} + +static void mmi_k18_nfc_experience_timer_time_remain_str(unsigned int time_second, char *str, uint8_t size) +{ + if(NULL == str) + return; + memset(str, 0x0, size); + + uint8_t sec = (time_second) % 60; /*[0,59]*/ + uint8_t min = (time_second / 60) % 60; /*[0,59]*/ + uint8_t hour = (time_second / 3600) % 100; /*[0,99]*/ + + snprintf(str, size, "%.2d:%.2d:%.2d", hour, min, sec); +} + + +void mmi_k18_nfc_experience_stop_ok_btn_event_cb(lv_obj_t * obj, lv_event_t e) +{ + if(LV_EVENT_CLICKED != e) + return; + + mmi_k18_nfc_experience_screen_clean(); + lv_watch_go_home(); +} + +void mmi_k18_nfc_experience_stop_cancel_btn_event_cb(lv_obj_t * obj, lv_event_t e) +{ + if(LV_EVENT_CLICKED != e) + return; + + lv_ntc_experience_ext_t * ext = mmi_k18_nfc_experience_ext_get(); + if(NULL == ext) + return; + + if(NULL != ext->img) + lv_obj_set_hidden(ext->img, false); + + if(NULL != ext->cont_stop) + lv_obj_set_hidden(ext->cont_stop, true); +} + +void mmi_k18_nfc_experience_stop_btn_event_cb(lv_obj_t * obj, lv_event_t e) +{ + if(LV_EVENT_CLICKED != e) + return; + + lv_ntc_experience_ext_t * ext = mmi_k18_nfc_experience_ext_get(); + if(NULL == ext) + return; + + if(NULL != ext->img) + { + lv_obj_set_hidden(ext->img, true); + } + if(NULL != ext->cont_stop) + { + lv_obj_set_hidden(ext->cont_stop, false); + } + else + { + lv_obj_t * cont_stop = lv_cont_create(ext->cont, NULL); + lv_obj_set_size(cont_stop, LV_HOR_RES, LV_VER_RES); + lv_obj_set_style_local_bg_color(cont_stop, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + ext->cont_stop = cont_stop; + + lv_obj_t * label_prompt = lv_label_create(cont_stop, NULL); + lv_obj_add_style(label_prompt, LV_LABEL_PART_MAIN, &lv_watch_font40); + lv_label_set_text_id(label_prompt, WATCH_TEXT_ID_EXPERIENCE_STOP_Q); + lv_obj_align(label_prompt, NULL, LV_ALIGN_CENTER, 0, -40); + + lv_obj_t * btn_cancel = lv_btn_create(cont_stop, NULL); + lv_obj_set_size(btn_cancel, 140, 70); + lv_obj_set_style_local_bg_color(btn_cancel, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, lv_color_make(0x47, 0xA6, 0xFF)); + lv_obj_set_style_local_radius(btn_cancel, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 30); + lv_obj_set_style_local_bg_color(btn_cancel, LV_BTN_PART_MAIN, LV_STATE_PRESSED, lv_color_make(0x47, 0xA6, 0xFF)); + lv_obj_set_style_local_radius(btn_cancel, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 30); + lv_obj_align(btn_cancel, NULL, LV_ALIGN_IN_BOTTOM_LEFT, 70, -60); + lv_obj_set_event_cb(btn_cancel, mmi_k18_nfc_experience_stop_cancel_btn_event_cb); + + lv_obj_t * label_cancel = lv_label_create(btn_cancel, NULL); + lv_obj_add_style(label_cancel, LV_LABEL_PART_MAIN, &lv_watch_font40); + lv_label_set_text_id(label_cancel, WATCH_TEXT_ID_CANCEL); + + lv_obj_t * btn_ok = lv_btn_create(cont_stop, btn_cancel); + lv_obj_set_style_local_bg_color(btn_ok, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, lv_color_make(0xFF, 0x6F, 0x91)); + lv_obj_set_style_local_bg_color(btn_ok, LV_BTN_PART_MAIN, LV_STATE_PRESSED, lv_color_make(0xFF, 0x6F, 0x91)); + lv_obj_align(btn_ok, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, -70, -60); + lv_obj_set_event_cb(btn_ok, mmi_k18_nfc_experience_stop_ok_btn_event_cb); + + lv_obj_t * label_ok = lv_label_create(btn_ok, label_cancel); + lv_label_set_text_id(label_ok, WATCH_TEXT_ID_OK); + } +} + + +void mmi_k18_nfc_experience_finish_task_cb(lv_task_t * task) +{ + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + mmi_k18_nfc_experience_screen_clean(); + lv_watch_go_home(); +} + +void mmi_k18_nfc_experience_finish_screen(lv_obj_t * par) +{ + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + lv_obj_t * img = par; + + // title + lv_obj_t * label_title = lv_label_create(img, NULL); + lv_obj_add_style(label_title, LV_LABEL_PART_MAIN, &lv_watch_font36); + lv_label_set_align(label_title, LV_LABEL_ALIGN_CENTER); + lv_label_set_long_mode(label_title, LV_LABEL_LONG_BREAK); + lv_obj_set_width(label_title, 400); + lv_label_set_text(label_title, s_experience_title_str); + lv_obj_align(label_title, label_title, LV_ALIGN_IN_TOP_MID, 0, 85); + + lv_obj_t * img_title = lv_label_create(img, NULL); + lv_img_set_src(img_title, ICON_NFC_EXPERIENCE_TITLE); + lv_obj_set_click(img_title, false); + lv_obj_align(img_title, NULL, LV_ALIGN_OUT_BOTTOM_MID, 0, 2); + + // timer text + lv_obj_t * label_timer = lv_label_create(img, NULL); + lv_obj_add_style(label_timer, LV_LABEL_PART_MAIN, &lv_watch_font36); + lv_label_set_align(label_timer, LV_LABEL_ALIGN_CENTER); + lv_label_set_long_mode(label_timer, LV_LABEL_LONG_BREAK); + lv_obj_set_width(label_timer, 400); + lv_label_set_text_id(label_timer, WATCH_TEXT_ID_EXPERIENCE_TIME); + lv_obj_align(label_timer, NULL, LV_ALIGN_CENTER, 0, -40); + + //time remaining + char time_remain_str[TIMER_TIME_STR_LEN_MAX] = {0}; + mmi_k18_nfc_experience_timer_time_remain_str(s_experience_time_total, time_remain_str, TIMER_TIME_STR_LEN_MAX); + + lv_obj_t * label_time_remaining = lv_label_create(img, NULL); + lv_obj_add_style(label_time_remaining, LV_LABEL_PART_MAIN, &lv_watch_font60); + lv_label_set_align(label_time_remaining, LV_LABEL_ALIGN_CENTER); + lv_label_set_text(label_time_remaining, time_remain_str); + lv_obj_align(label_time_remaining, label_timer, LV_ALIGN_OUT_BOTTOM_MID, 0, 5); + //lv_obj_set_base_dir(label_time_remaining, LV_BIDI_DIR_LTR); + + // info + lv_obj_t * img_value = lv_img_create(img, NULL); + lv_img_set_src(img_value, ICON_NFC_EXPERIENCE_HEART_B); + lv_obj_set_click(img_value, false); + lv_obj_align(img_value, NULL, LV_ALIGN_IN_TOP_MID, 0, 315); + + lv_obj_t * label_value = lv_label_create(img_value, NULL); + lv_obj_add_style(label_value, LV_LABEL_PART_MAIN, &lv_watch_font20); + char temp_value[4] = {0}; + snprintf(temp_value, 4, "%d", s_experience_value); + lv_label_set_text(label_value, temp_value); + lv_obj_align(label_value, NULL, LV_ALIGN_CENTER, 0, 0); + + lv_obj_t * label_unit = lv_label_create(img, NULL); + lv_obj_add_style(label_unit, LV_LABEL_PART_MAIN, &lv_watch_font20); + snprintf(temp_value, 4, "bpm"); + lv_label_set_text(label_unit, temp_value); + lv_obj_align(label_unit, img_value, LV_ALIGN_OUT_RIGHT_BOTTOM, 0, -5); + + lv_obj_t * label_info = lv_label_create(img, NULL); + lv_obj_add_style(label_info, LV_LABEL_PART_MAIN, &lv_watch_font36); + lv_label_set_text_id(label_info, WATCH_TEXT_ID_HAPPINESS_VALUE); + lv_obj_align(label_info, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -45); + + //lv_task_t * task_p = lv_task_create(mmi_k18_nfc_experience_finish_task_cb, 1000 * 3, LV_TASK_PRIO_HIGH, NULL); + lv_task_t * task_p = lv_task_create(mmi_k18_nfc_experience_finish_task_cb, 1000 * 120, LV_TASK_PRIO_HIGH, NULL); + lv_task_once(task_p); +} + +void mmi_k18_nfc_experience_timeout_task_cb(lv_task_t * task) +{ + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + lv_ntc_experience_ext_t * ext = mmi_k18_nfc_experience_ext_get(); + if(NULL == ext) + return ; + + if(NULL != ext->label_time_remaining) + { + lv_anim_del(ext->label_time_remaining, NULL); + } + if(NULL != ext->img) + { + lv_obj_clean(ext->img); + } + mmi_k18_nfc_experience_finish_screen(ext->img); +} + +static void mmi_k18_nfc_experience_anim_cb(lv_anim_t * anim) +{ + if(0 != s_experience_time_remain) + { + s_experience_time_remain--; + + char time_remain_str[TIMER_TIME_STR_LEN_MAX] = {0}; + mmi_k18_nfc_experience_timer_time_remain_str(s_experience_time_remain, time_remain_str, TIMER_TIME_STR_LEN_MAX); + + if(anim->var) + { + lv_label_set_text(anim->var, time_remain_str); + //lv_obj_align(anim->var, NULL, LV_ALIGN_CENTER, 0, 0); + } + } + else + { + lv_task_t * task_p = lv_task_create(mmi_k18_nfc_experience_timeout_task_cb, 1000, LV_TASK_PRIO_HIGH, NULL); + lv_task_once(task_p); + } +} + +static void mmi_k18_nfc_experience_label_time_anim(lv_obj_t * obj) +{ + lv_anim_t a; + lv_anim_path_t path; + + lv_anim_path_init(&path); + lv_anim_path_set_cb(&path, lv_anim_path_step); + + lv_anim_init(&a); + lv_anim_set_var(&a, obj); + lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_k18_nfc_experience_anim_cb); + lv_anim_set_path(&a, &path); + lv_anim_set_time(&a, 1); + lv_anim_set_playback_time(&a, 0); + lv_anim_set_playback_delay(&a, 0); + lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); + lv_anim_set_repeat_delay(&a, 1000); + + lv_anim_start(&a); +} + +lv_obj_t * mmi_k18_nfc_experience_create(lv_obj_t * activity_obj) +{ + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + if(activity_obj == NULL) + { + lv_watch_activity_ext_t activity_ext; + + _lv_memset_00(&activity_ext, sizeof(lv_watch_activity_ext_t)); + activity_ext.actId = ACT_ID_K18_NFC_EXPERIENCE; + activity_ext.create = (lv_watch_activity_create_f_t)mmi_k18_nfc_experience_create; //NULL; + activity_ext.prepare_destory = mmi_k18_nfc_experience_prepare_destory; + activity_obj = lv_watch_creat_activity_obj(&activity_ext); + LV_ASSERT_MEM(activity_obj); + } + + lv_obj_t * obj = lv_watch_obj_create(activity_obj); + if(NULL == obj) + return NULL; + /*Allocate the tab type specific extended data*/ + lv_ntc_experience_ext_t * ext = (lv_ntc_experience_ext_t *)lv_obj_allocate_ext_attr(obj, sizeof(lv_ntc_experience_ext_t)); + if(NULL == ext) + return NULL; + + ext->slide_enable = 0; /*disable to slide to the right*/ + ext->cont = NULL; + ext->img = NULL; + ext->label_time_remaining = NULL; + ext->cont_stop = NULL; + + lv_obj_t * cont = lv_cont_create(obj, NULL); + lv_obj_set_size(cont, lv_obj_get_width(obj), lv_obj_get_height(obj)); + lv_obj_align(cont, NULL, LV_ALIGN_CENTER, 0, 0); + lv_obj_set_style_local_bg_color(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_watch_obj_add_element(cont); + ext->cont = cont; + + lv_obj_t * img = lv_img_create(cont, NULL); + lv_img_set_src(img, ICON_K18_NFC_EXPERIENCE_BG); + lv_obj_set_click(img, false); + lv_obj_align(img, NULL, LV_ALIGN_CENTER, 0, 0); + ext->img = img; + + // title + lv_obj_t * label_title = lv_label_create(img, NULL); + lv_obj_add_style(label_title, LV_LABEL_PART_MAIN, &lv_watch_font36); + lv_label_set_align(label_title, LV_LABEL_ALIGN_CENTER); + lv_label_set_long_mode(label_title, LV_LABEL_LONG_BREAK); + lv_obj_set_width(label_title, 400); + lv_label_set_text(label_title, s_experience_title_str); + lv_obj_align(label_title, NULL, LV_ALIGN_IN_TOP_MID, 0, 85); + + lv_obj_t * img_title = lv_label_create(img, NULL); + lv_img_set_src(img_title, ICON_NFC_EXPERIENCE_TITLE); + lv_obj_set_click(img_title, false); + lv_obj_align(img_title, label_title, LV_ALIGN_OUT_BOTTOM_MID, 0, 2); + + //time remaining + lv_obj_t * label_time_remaining = lv_label_create(img, NULL); + lv_obj_add_style(label_time_remaining, LV_LABEL_PART_MAIN, &lv_watch_font60); + lv_label_set_align(label_time_remaining, LV_LABEL_ALIGN_CENTER); + char time_remain_str[TIMER_TIME_STR_LEN_MAX] = {0}; + mmi_k18_nfc_experience_timer_time_remain_str(s_experience_time_remain, time_remain_str, TIMER_TIME_STR_LEN_MAX); + lv_label_set_text(label_time_remaining, time_remain_str); + lv_obj_align(label_time_remaining, NULL, LV_ALIGN_CENTER, 0, -25); + //lv_obj_set_base_dir(label_time_remaining, LV_BIDI_DIR_LTR); + ext->label_time_remaining = label_time_remaining; + + // timer text + lv_obj_t * label_timer = lv_label_create(img, NULL); + lv_obj_add_style(label_timer, LV_LABEL_PART_MAIN, &lv_watch_font20); + lv_label_set_align(label_timer, LV_LABEL_ALIGN_CENTER); + lv_label_set_long_mode(label_timer, LV_LABEL_LONG_BREAK); + lv_obj_set_width(label_timer, 30); + lv_label_set_text_id(label_timer, WATCH_TEXT_ID_TIMER); + lv_obj_align(label_timer, label_time_remaining, LV_ALIGN_OUT_LEFT_MID, -15, 0); + + // info + lv_obj_t * img_prompt = lv_img_create(img, NULL); + lv_img_set_src(img_prompt, ICON_NFC_EXPERIENCE_PROMPT); + lv_obj_set_click(img_prompt, false); + lv_obj_align(img_prompt, label_time_remaining, LV_ALIGN_OUT_BOTTOM_MID, 0, 15); + + lv_obj_t * img_info = lv_img_create(img, NULL); + lv_img_set_src(img_info, ICON_NFC_EXPERIENCE_HEART_S); + lv_obj_set_click(img_info, false); + lv_obj_align(img_info, NULL, LV_ALIGN_IN_TOP_LEFT, 145, 330); + + lv_obj_t * label_info = lv_label_create(img, NULL); + lv_obj_add_style(label_info, LV_LABEL_PART_MAIN, &lv_watch_font36); + lv_label_set_text_id(label_info, WATCH_TEXT_ID_HAPPINESS_VALUE); + lv_obj_align(label_info, img_info, LV_ALIGN_OUT_RIGHT_MID, 15, 0); + + //stop btn + lv_obj_t * btn_stop = lv_btn_create(img, NULL); + lv_obj_set_size(btn_stop, 140, 70); + lv_obj_set_style_local_bg_color(btn_stop, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, lv_color_make(0xFF, 0x6F, 0x91)); + lv_obj_set_style_local_radius(btn_stop, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 30); + lv_obj_set_style_local_bg_color(btn_stop, LV_BTN_PART_MAIN, LV_STATE_PRESSED, lv_color_make(0xFF, 0x6F, 0x91)); + lv_obj_set_style_local_radius(btn_stop, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 30); + lv_obj_align(btn_stop, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -20); + lv_obj_set_event_cb(btn_stop, mmi_k18_nfc_experience_stop_btn_event_cb); + + lv_obj_t * label_stop = lv_label_create(btn_stop, NULL); + lv_obj_add_style(label_stop, LV_LABEL_PART_MAIN, &lv_watch_font36); + lv_label_set_text_id(label_stop, WATCH_TEXT_ID_EXPERIENCE_STOP); + + + //create label anim to update time remaining. + mmi_k18_nfc_experience_label_time_anim(ext->label_time_remaining); + + watch_set_suspend_enable(false, ACT_ID_K18_NFC_EXPERIENCE, 0); + + s_screen_is_active = true; + + return obj; +} + +void mmi_k18_nfc_experience_create_event_cb(lv_obj_t * btn, lv_event_t e) +{ + if(NULL == s_experience_title_str) + { + return; + } + if(0 == s_experience_time_total) + { + return; + } + //s_experience_time_remain = s_experience_time_total; + s_experience_time_remain = s_experience_time_total + 1; + + if(LV_EVENT_CLICKED == e) + { + lv_watch_png_cache_all_free(); + lv_obj_t * obj = mmi_k18_nfc_experience_create(NULL); + LV_ASSERT_MEM(obj); + } +} + +void mmi_ui_msg_update_k18_nfc_experience(void) +{ + lv_watch_go_home(); + mmi_k18_nfc_experience_create_event_cb(NULL, LV_EVENT_CLICKED); +} + +bool mmi_k18_nfc_experience_cmd_trigger(unsigned char * next_buff, unsigned int next_buff_len) +{ +#if 0 + if(NULL == next_buff || 0 == next_buff_len) + { + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + return false; + } + //K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, next_buff_len); + //K18_NFC_LOG("[@CHENG_DEBUG]: %s\n", next_buff); + + uint32_t output_len = 0; + char * t_decode_str = lv_mem_alloc(next_buff_len); + if(NULL == t_decode_str) + { + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: memory alloc fail\n", __FUNCTION__, __LINE__); + return false; + } + _lv_memset_00(t_decode_str, next_buff_len); + + int ret_value = mbedtls_base64_decode(t_decode_str, next_buff_len, &output_len, next_buff, next_buff_len); + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, ret_value); + if(0 != ret_value) + { + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + lv_mem_free(t_decode_str); + return false; + } + //K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, strlen(t_decode_str)); + K18_NFC_LOG("[@CHENG_DEBUG][%d]: %s\n", __LINE__, t_decode_str); + + cJSON * json_recv = cJSON_Parse(t_decode_str); + if(NULL != json_recv) + { + if(cJSON_IsTrue(cJSON_GetObjectItem(json_recv, "status"))) + { + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: true\n", __FUNCTION__, __LINE__); + + cJSON * json_data = cJSON_GetObjectItem(json_recv, "data"); + uint16_t bp_value_high = cJSON_GetIntValue(cJSON_GetObjectItem(json_data, "sbp")); + uint16_t bp_value_low = cJSON_GetIntValue(cJSON_GetObjectItem(json_data, "dbp")); + //char * description = cJSON_GetStringValue(cJSON_GetObjectItem(json_data, "description")); + + s_experience_title_str; + s_experience_time_total; + + mmi_ui_msg_action_k18_nfc_experience(); + } + else + { + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: false\n", __FUNCTION__, __LINE__); + } + + } + else + { + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: not json file\n", __FUNCTION__, __LINE__); + } + + if(NULL != json_recv) + { + K18_NFC_LOG("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__); + cJSON_Delete(json_recv); + json_recv = NULL; + } + if(NULL != t_decode_str) + { + lv_mem_free(t_decode_str); + t_decode_str = NULL; + } +#endif + + return true; +} + + +#endif + diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/k18_nfc_experience_ui.h b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/k18_nfc_experience_ui.h new file mode 100644 index 00000000..f9976517 --- /dev/null +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/k18_nfc_experience_ui.h @@ -0,0 +1,62 @@ + + + +#ifndef __K18_NFC_EXPERIENCE_UI_H__ +#define __K18_NFC_EXPERIENCE_UI_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef LV_CONF_INCLUDE_SIMPLE +#include "lvgl.h" +#include "lv_watch_conf.h" +#else +#include "../../../lvgl/lvgl.h" +#include "../../../lv_watch_conf.h" +#endif + +#ifdef MMI_PROJECT_Z5_HA_K18_NFC + + +#define __MMI_AIGC_DEBUG__ +#ifdef __MMI_AIGC_DEBUG__ +#define K18_NFC_LOG(fmt, ...) printf("[AIGC]"fmt, ##__VA_ARGS__) +//#define K18_NFC_LOG(fmt, ...) CPUartLogPrintf("[AIGC]"fmt, ##__VA_ARGS__) +//#define K18_NFC_LOG(fmt, ...) cplog_printf("[AIGC]"fmt, ##__VA_ARGS__) +#else +#define K18_NFC_LOG(fmt, ...) +#endif + + +typedef struct +{ + lv_watch_obj_ext_t old_ext; + + lv_obj_t * cont; + lv_obj_t * img; + lv_obj_t * label_time_remaining; + //lv_obj_t * btn_stop; + lv_obj_t * cont_stop; + TIMER_ID cycle_timer_id; +}lv_ntc_experience_ext_t; + + + +bool mmi_k18_nfc_experience_screen_active(void); + +void mmi_k18_nfc_experience_create_event_cb(lv_obj_t * btn, lv_event_t e); + +void mmi_ui_msg_update_k18_nfc_experience(void); + +bool mmi_k18_nfc_experience_cmd_trigger(unsigned char * next_buff, unsigned int next_buff_len); + + +#endif + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif + diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_test.c b/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_test.c index 4b4c28b4..b3367653 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_test.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_test.c @@ -2379,7 +2379,8 @@ void mmi_factorymode_bt_ota_mode_create_btn_cb(lv_obj_t * btn,lv_event_t e) #define PULSE_WAVE_ABS(x) (((x) < 0) ? (-(x)) : (x)) #define PULSE_WAVE_TOTAL_COUNT (56) #define PULSE_WAVE_DATA_SECOND_NUM (2) -#define PULSE_WAVE_POINT_NUM_MAX (MMI_HENGAI_BP_RAW_DATA_SAMPLE_RATE * PULSE_WAVE_DATA_SECOND_NUM) +#define PULSE_WAVE_DATA_SAMPLE_RATE (81) +#define PULSE_WAVE_POINT_NUM_MAX (PULSE_WAVE_DATA_SAMPLE_RATE * PULSE_WAVE_DATA_SECOND_NUM) #define PULSE_WAVE_LINE_CONT_W (340) #define PULSE_WAVE_LINE_CONT_H (360) // (400) 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 fb8003f5..8fcef338 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_watch_res.h +++ b/2.sdk/sdk/gui/lv_watch/lv_watch_res.h @@ -1095,6 +1095,16 @@ LV_IMG_DECLARE(img_poweron_logo); #define ANIM_VOICECHAT_THINKING "R:/png/voice_chat/ANIM_VOICECHAT_THINKING.gif" #endif + +#ifdef MMI_PROJECT_Z5_HA_K18_NFC +#define ICON_K18_NFC_EXPERIENCE_BG "R:/png/custom_function/ICON_K18_NFC_EXPERIENCE_BG.png" +#define ICON_NFC_EXPERIENCE_TITLE "R:/png/custom_function/ICON_NFC_EXPERIENCE_TITLE.png" +#define ICON_NFC_EXPERIENCE_PROMPT "R:/png/custom_function/ICON_NFC_EXPERIENCE_PROMPT.png" +#define ICON_NFC_EXPERIENCE_HEART_S "R:/png/custom_function/ICON_NFC_EXPERIENCE_HEART_S.png" +#define ICON_NFC_EXPERIENCE_HEART_B "R:/png/custom_function/ICON_NFC_EXPERIENCE_HEART_B.png" +#endif + + #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 9433c22b..39dbb6ce 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 @@ -1788,8 +1788,8 @@ bool mmi_protocol_fzd_action_send_get_weather(MMI_WATCH_LOCATION_DATA_T * locati return result; } -//[XX*YYYY*009F*WT,Äê-ÔÂ-ÈÕ,ʱ:·Ö:Ãë,ÌìÆøÃèÊö,ÌìÆø±àºÅ,µ±Ç°Î¶È,×îµÍÎÂ,×î¸ßÎÂ,³ÇÊÐÃû] -//ÌìÆøÃèÊöÓà GB2312 ±àÂ룬³ÇÊÐÃûʹÓà Unicode ±àÂë ÌìÆø±àºÅ£º0¡ª¡ªÇç 1¡ª¡ªÒõ 2¡ª¡ªÓê 3¡ª¡ªÑ© +//[XX*YYYY*009F*WT,��-��-��,ʱ:��:��,��������,�������,��ǰ�¶�,�����,�����,������] +//���������� GB2312 ���룬������ʹ�� Unicode ���� ������ţ�0������ 1������ 2������ 3����ѩ //[XX*YYYY*009F*WT,16-09-24,11:00:00,b6e0d4c6,2,-5,-12,22,316df15733] //[SZKW*860132060004801*0035*WT,23-10-11,16:09:11,b6e0d4c6,1,27,-1,40,6DF157335E02] bool mmi_protocol_fzd_parse_ACTION_GET_WEATHER(unsigned char * next_buff, unsigned int next_buff_len) @@ -2273,7 +2273,7 @@ bool mmi_protocol_fzd_action_VC_CALL_REQUEST(char * number, uint8_t call_type) return result; } -// 1£º¶Ô·½ÔÚÏߣ¬µÈ´ý½ÓÌý£»0£º¶Ô·½²»ÔÚÏß +// 1���Է����ߣ��ȴ�������0���Է������� bool mmi_protocol_fzd_parse_WATCH_VC_CALL_REQUEST(unsigned char * next_buff, unsigned int next_buff_len) { bool result = false; @@ -2607,7 +2607,7 @@ bool mmi_protocol_fzd_action_SERVER_VC_CALL_REQUEST(int8_t state) return result; } -// [XT*YYYYYYYYYYYYYYY*LEN*CALLING,ºô½ÐÕßid,»áÒéid(ûÓÐÔòÁô¿Õ£¬µ«Î»Öñ£Áô£©,ÒôƵ»¹ÊÇÊÓÆµ£¨0ΪÒôƵ£¬1ΪÊÓÆµ£©£¬ÉùÍøToken] +// [XT*YYYYYYYYYYYYYYY*LEN*CALLING,������id,����id(û�������գ���λ�ñ�����,��Ƶ������Ƶ��0Ϊ��Ƶ��1Ϊ��Ƶ��������Token] bool mmi_protocol_fzd_parse_SERVER_VC_CALL_REQUEST(unsigned char * next_buff, unsigned int next_buff_len) { bool result = false; @@ -2652,7 +2652,7 @@ bool mmi_protocol_fzd_parse_SERVER_VC_CALL_REQUEST(unsigned char * next_buff, un return result; } -// [XT*YYYYYYYYYYYYYYY*LEN*RCALLING,ºô½ÐÕßid,»áÒéid(ûÓÐÔòÁô¿Õ£¬µ«Î»Öñ£Áô£©,ÒôƵ»¹ÊÇÊÓÆµ£¨0ΪÒôƵ£¬1ΪÊÓÆµ£©] +// [XT*YYYYYYYYYYYYYYY*LEN*RCALLING,������id,����id(û�������գ���λ�ñ�����,��Ƶ������Ƶ��0Ϊ��Ƶ��1Ϊ��Ƶ��] bool mmi_protocol_fzd_action_VC_CALL_RESPONSE(char * number, char * ticket, MODEM_VIDEO_CALL_TYPE type) { bool result = false; @@ -2762,7 +2762,7 @@ bool mmi_protocol_fzd_action_VC_CALL_REQUEST(char * number, uint8_t call_type) return result; } -// [XT*YYYYYYYYYYYYYYY*LEN*AGTALK,ÒôÊÓÆµ×´Ì¬,»áÒéid,appKey,ÃØÔ¿,token,uid] +// [XT*YYYYYYYYYYYYYYY*LEN*AGTALK,����Ƶ״̬,����id,appKey,��Կ,token,uid] // ״̬ 0-continue; other-stop bool mmi_protocol_fzd_parse_WATCH_VC_CALL_REQUEST(unsigned char * next_buff, unsigned int next_buff_len) { @@ -2845,7 +2845,7 @@ bool mmi_protocol_fzd_action_SERVER_VC_CALL_REQUEST(int8_t state) return result; } -// [XT*YYYYYYYYYYYYYYY*LEN*CALLING,ºô½ÐÕßÕ˺Å,ͨ»°ÀàÐÍ,»áÒéid,appKey,ÃØÔ¿,token,uid] +// [XT*YYYYYYYYYYYYYYY*LEN*CALLING,�������˺�,ͨ������,����id,appKey,��Կ,token,uid] bool mmi_protocol_fzd_parse_SERVER_VC_CALL_REQUEST(unsigned char * next_buff, unsigned int next_buff_len) { bool result = false; @@ -2899,7 +2899,7 @@ bool mmi_protocol_fzd_parse_SERVER_VC_CALL_REQUEST(unsigned char * next_buff, un return result; } -// [XT*YYYYYYYYYYYYYYY*LEN*RCALLING,ºô½ÐÕßÕ˺Å,ͨ»°ÀàÐÍ,»áÒéid] +// [XT*YYYYYYYYYYYYYYY*LEN*RCALLING,�������˺�,ͨ������,����id] bool mmi_protocol_fzd_action_VC_CALL_RESPONSE(char * number, char * ticket, MODEM_VIDEO_CALL_TYPE type) { bool result = false; @@ -3651,12 +3651,12 @@ bool mmi_protocol_fzd_action_hengai_activation(char * req_code) unsigned char * content_buff = NULL; unsigned int content_lenth = 256; - char * name = "Z5_HA_K7"; // É豸Ãû³Æ - char * model = "Z5_HA_K7"; // É豸ÐͺŠ- char * firm = "zh"; // É豸³§ÉÌ - char * sensor = "whale"; // ´«¸ÐÆ÷ÐͺŠ- uint16_t fs = 50; // ²ÉÑùÂÊ - char * sinklib_version = "v0.3.2.101122"; // ϳÁ¿â°æ±¾ºÅ + char * name = "Z5_HA_K7"; // �豸���� + char * model = "Z5_HA_K7"; // �豸�ͺ� + char * firm = "zh"; // �豸���� + char * sensor = "whale"; // �������ͺ� + uint16_t fs = 50; // ������ + char * sinklib_version = "v0.3.2.101122"; // �³���汾�� content_buff = (unsigned char *)lv_mem_alloc(content_lenth); if(NULL == content_buff) @@ -3978,6 +3978,10 @@ bool mmi_protocol_fzd_parse_ACTION_TCP_HTTP(unsigned char * next_buff, unsigned mmi_hengai_health_data_parse(next_buff, strlen(next_buff)); #else + #ifdef MMI_PROJECT_Z5_HA_K18_NFC + mmi_k18_nfc_experience_cmd_trigger(next_buff, strlen(next_buff)); + #endif + #endif } diff --git a/2.sdk/sdk/product/craneg_modem/lv_gui_main.c b/2.sdk/sdk/product/craneg_modem/lv_gui_main.c index b1c25287..099b214e 100644 --- a/2.sdk/sdk/product/craneg_modem/lv_gui_main.c +++ b/2.sdk/sdk/product/craneg_modem/lv_gui_main.c @@ -1011,6 +1011,13 @@ static void keypad_watch_cb(struct keypad_param *arg) if(arg->data.key == LV_KEY_END) { + #ifdef MMI_PROJECT_Z5_HA_K18_NFC + if(true == mmi_k18_nfc_experience_screen_active()) + { + return; + } + #endif + lv_obj_t * facau_obj = lv_watch_get_activity_obj(ACT_ID_FACTORY_MODE_AUTOTEST); lv_obj_t * emht_obj = lv_watch_get_activity_obj(ACT_ID_ENGINEER_MODE_ITEM_HWT); if(NULL != facau_obj) {