--- /dev/null
+
+
+
+#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
+