Z5_HA_K18
author@CHENG <2393524978@qq.com>
Thu, 12 Jun 2025 08:34:18 +0000 (16:34 +0800)
committer@CHENG <2393524978@qq.com>
Thu, 12 Jun 2025 08:34:18 +0000 (16:34 +0800)
14 files changed:
2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_DRINK.mp3 [new file with mode: 0644]
2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_MEDICINE.mp3 [new file with mode: 0644]
2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_SEDENTARY.mp3 [new file with mode: 0644]
2.sdk/project/Z5_HA_K18/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h
2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm.h
2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm_api.c
2.sdk/sdk/gui/lv_watch/include/ui_nvm_interface.h
2.sdk/sdk/gui/lv_watch/lv_apps/mmi_remind/mmi_remind.c
2.sdk/sdk/gui/lv_watch/lv_apps/mmi_remind/mmi_remind.h
2.sdk/sdk/gui/lv_watch/lv_watch.c
2.sdk/sdk/gui/lv_watch/lv_watch_res.h
2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c
2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h
2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c

diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_DRINK.mp3 b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_DRINK.mp3
new file mode 100644 (file)
index 0000000..a60b9bc
Binary files /dev/null and b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_DRINK.mp3 differ
diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_MEDICINE.mp3 b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_MEDICINE.mp3
new file mode 100644 (file)
index 0000000..6aeb41c
Binary files /dev/null and b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_MEDICINE.mp3 differ
diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_SEDENTARY.mp3 b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_SEDENTARY.mp3
new file mode 100644 (file)
index 0000000..d694e7a
Binary files /dev/null and b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_REMIND_SEDENTARY.mp3 differ
index f25dee8..9142851 100644 (file)
 #define __MMI_Z5_HA_K18_REMIND__
 #define __MMI_REMIND_WAKE_UP_SUPPORT__
 
+#define __MMI_REMIND_MEDICINE_SUPPORT__
+#define __MMI_REMIND_DRINK_SUPPORT__
+//#define __MMI_SEDENTARY_REMIND_SUPPORT__
+#define __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+
 
 #endif
 
index b9be263..8fd6fb4 100644 (file)
@@ -85,6 +85,9 @@ extern "C" {
 #ifdef __MMI_REMIND_DRINK_SUPPORT__
 #define NV_SECTION_UI_REMIND_DRINK_DATA_LEN            (sizeof(nv_watch_remind_drink_t))
 #endif
+#ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+#define NV_SECTION_UI_REMIND_SERVER_SEDENTARY_DATA_LEN         (sizeof(nv_watch_remind_server_sedentary_t))
+#endif
 #ifdef __MMI_CUSTOM_HENG_AI__
 #define NV_SECTION_UI_HENG_AI_WAKE_RING_TYPE_LEN       (sizeof(nv_watch_switch_t))
 #endif
@@ -235,6 +238,9 @@ typedef lv_fs_dir_t  ui_dir_t;
 #ifdef __MMI_REMIND_DRINK_SUPPORT__
 #define NV_SECTION_UI_REMIND_DRINK_DATA_FILE           "ui_remind_drink_data.nv"
 #endif
+#ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+#define NV_SECTION_UI_REMIND_SERVER_SEDENTARY_DATA_FILE                "ui_remind_server_sedentary_data.nv"
+#endif
 #ifdef __MMI_CUSTOM_HENG_AI__
 #define NV_SECTION_UI_HENG_AI_WAKE_RING_TYPE_FILE      "ui_heng_ai_wake_ring_type.nv"
 #endif
index 7aed6ca..d1e1a5e 100644 (file)
@@ -144,6 +144,10 @@ uint32_t UI_NV_Get_Section_Len(NV_UI_SECTION_ID SectionId)
                case NV_SECTION_UI_REMIND_DRINK_DATA:
                        return (NV_SECTION_LEN(NV_SECTION_UI_REMIND_DRINK_DATA));
        #endif
+       #ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+               case NV_SECTION_UI_REMIND_SERVER_SEDENTARY_DATA:
+                       return (NV_SECTION_LEN(NV_SECTION_UI_REMIND_SERVER_SEDENTARY_DATA));                    
+       #endif
        #ifdef __MMI_CUSTOM_HENG_AI__
                case NV_SECTION_UI_HENG_AI_WAKE_RING_TYPE:
                        return (NV_SECTION_LEN(NV_SECTION_UI_HENG_AI_WAKE_RING_TYPE));
@@ -313,6 +317,10 @@ char * UI_NV_Get_Section_path(NV_UI_SECTION_ID SectionId)
                case NV_SECTION_UI_REMIND_DRINK_DATA:
                        return (NV_SECTION_FILE_PATH(NV_SECTION_UI_REMIND_DRINK_DATA));
        #endif
+       #ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+               case NV_SECTION_UI_REMIND_SERVER_SEDENTARY_DATA:
+                       return (NV_SECTION_FILE_PATH(NV_SECTION_UI_REMIND_SERVER_SEDENTARY_DATA));                      
+       #endif
        #ifdef __MMI_CUSTOM_HENG_AI__
                case NV_SECTION_UI_HENG_AI_WAKE_RING_TYPE:
                        return (NV_SECTION_FILE_PATH(NV_SECTION_UI_HENG_AI_WAKE_RING_TYPE));
@@ -425,6 +433,9 @@ uint8_t UI_NV_Reset_Default(NV_UI_SECTION_ID SectionId)
 #ifdef __MMI_REMIND_DRINK_SUPPORT__
        nv_watch_remind_drink_t * remind_drink_data;
 #endif
+#ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+       nv_watch_remind_server_sedentary_t * remind_server_sedentary;
+#endif
 #ifdef __MMI_CUSTOM_HENGAI_SLEEP__
        nv_watch_heng_ai_sleep_activation_t * heng_ai_sleep_activation;
 #endif
@@ -751,6 +762,13 @@ uint8_t UI_NV_Reset_Default(NV_UI_SECTION_ID SectionId)
                        TempData = (char *)remind_drink_data;
                        break;
        #endif
+       #ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+               case NV_SECTION_UI_REMIND_SERVER_SEDENTARY_DATA:
+                       remind_server_sedentary = lv_mem_alloc(SectionLen);
+                       memset(remind_server_sedentary, 0x0, SectionLen);
+                       TempData = (char *)remind_server_sedentary;
+                       break;
+       #endif
        
        #ifdef __MMI_CUSTOM_HENG_AI__
                case NV_SECTION_UI_HENG_AI_WAKE_RING_TYPE:
index ef438b0..834d64c 100644 (file)
@@ -453,6 +453,28 @@ typedef struct
 } __packed nv_watch_remind_drink_t;
 #endif
 
+#ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+// [REMIND_CH_SIT,20,1,12:00-14:00-0,23:00-07:00-1]
+typedef struct
+{
+       uint8_t is_valid; // switch
+       uint16_t interval_minute; // minute
+       
+       uint8_t noon_is_valid; // noon rest switch
+    uint8_t noon_hour_begin;                                                 // [0, 23]
+    uint8_t noon_min_begin;                                                  // [0, 59]
+    uint8_t noon_hour_end;                                                 // [0, 23]
+    uint8_t noon_min_end;                                                  // [0, 59]
+
+       uint8_t night_is_valid; // night rest switch
+    uint8_t night_hour_begin;                                                 // [0, 23]
+    uint8_t night_min_begin;                                                  // [0, 59]
+    uint8_t night_hour_end;                                                 // [0, 23]
+    uint8_t night_min_end;                                                  // [0, 59]
+} __packed nv_watch_remind_server_sedentary_t;
+#endif
+
+
 #ifdef __MMI_Z5_HA_K18_REMIND__
 typedef struct
 {
@@ -773,6 +795,9 @@ enum
 #ifdef __MMI_REMIND_DRINK_SUPPORT__
        NV_SECTION_UI_REMIND_DRINK_DATA,                        // nv_watch_remind_drink_t
 #endif
+#ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+       NV_SECTION_UI_REMIND_SERVER_SEDENTARY_DATA,                     // nv_watch_remind_server_sedentary_t
+#endif
 #ifdef __MMI_CUSTOM_HENG_AI__
        NV_SECTION_UI_HENG_AI_WAKE_RING_TYPE,                   // nv_watch_switch_t
 #endif
index 82e6778..afb7676 100644 (file)
@@ -39,6 +39,8 @@ static mmi_remind_screen_info_t s_remind_info[] =
 #endif
 #ifdef __MMI_SEDENTARY_REMIND_SUPPORT__
        {MMI_REMIND_TYPE_SEDENTARY, WATCH_TEXT_ID_SEDENTARY_PROMPT, AUDIO_REMIND_SEDENTARY, ICON_SEDENTARY_REMIND_IMAGE},
+#elif defined(__MMI_REMIND_SERVER_SEDENTARY_SUPPORT__)
+       {MMI_REMIND_TYPE_SEDENTARY, WATCH_TEXT_ID_SEDENTARY_PROMPT, AUDIO_REMIND_SEDENTARY, NULL},
 #endif
 
        { MMI_REMIND_TYPE_MAX, 0, NULL, NULL},
@@ -587,6 +589,134 @@ void mmi_remind_drink_mission_power_on_check(void)
 #endif
 
 
+#ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+static nv_watch_remind_server_sedentary_t s_remind_server_sedentary_data = {0};
+static void * s_remind_server_sedentary_timer = NULL;
+
+void mmi_remind_server_sedentary_timer_stop(void);
+static void mmi_remind_server_sedentary_timer_start(void);
+static void mmi_remind_server_sedentary_trigger(uint32_t para);
+
+void mmi_remind_server_sedentary_nv_write(void)
+{
+       uint32_t nv_data_length = sizeof(nv_watch_remind_server_sedentary_t);
+       
+       if(nv_data_length != UI_NV_Write_Req(NV_SECTION_UI_REMIND_SERVER_SEDENTARY_DATA, 0, nv_data_length, (uint8_t *)&s_remind_server_sedentary_data))
+       {
+               printf("[@CHENG_DEBUG][%s][%d]: nv write fail\n", __FUNCTION__, __LINE__);
+       }
+}
+
+void mmi_remind_server_sedentary_nv_read(void)
+{
+       uint32_t nv_data_length = sizeof(nv_watch_remind_server_sedentary_t);
+       
+       if(nv_data_length != UI_NV_Read_Req(NV_SECTION_UI_REMIND_SERVER_SEDENTARY_DATA, 0, nv_data_length, (uint8_t *)&s_remind_server_sedentary_data))
+       {
+               printf("[@CHENG_DEBUG][%s][%d]: nv read fail\n", __FUNCTION__, __LINE__);
+               _lv_memset_00(&s_remind_server_sedentary_data, sizeof(nv_watch_remind_server_sedentary_t));
+       }
+}
+
+void mmi_remind_server_sedentary_data_set(nv_watch_remind_server_sedentary_t * data)
+{
+       mmi_remind_server_sedentary_timer_stop();
+       
+       if(NULL != data)
+       {
+               _lv_memset_00(&s_remind_server_sedentary_data, sizeof(nv_watch_remind_server_sedentary_t));
+               _lv_memcpy(&s_remind_server_sedentary_data, data, sizeof(nv_watch_remind_server_sedentary_t));
+               mmi_remind_server_sedentary_nv_write();
+
+               if(s_remind_server_sedentary_data.is_valid)
+               {
+                       mmi_remind_server_sedentary_timer_start();
+               }
+       }
+}
+
+void mmi_remind_server_sedentary_screen_active(void)
+{
+       if(s_remind_server_sedentary_data.noon_is_valid || s_remind_server_sedentary_data.night_is_valid)
+       {
+               hal_rtc_t cur_time = {0};
+               uint16_t t_cur_mins = 0;
+               uint16_t t_begin_mins = 0;
+               uint16_t t_end_mins = 0;
+
+               Hal_Rtc_Gettime(&cur_time);
+               t_cur_mins = cur_time.tm_hour * 60 + cur_time.tm_min;
+               
+               if(s_remind_server_sedentary_data.noon_is_valid)
+               {
+                       t_begin_mins = s_remind_server_sedentary_data.noon_hour_begin * 60 + s_remind_server_sedentary_data.noon_min_begin;
+                       t_end_mins = s_remind_server_sedentary_data.noon_hour_end * 60 + s_remind_server_sedentary_data.noon_min_end;
+
+                       if((t_cur_mins >= t_begin_mins) && (t_cur_mins <= t_end_mins))
+                       {
+                               printf("[@CHENG_DEBUG][%s][%d]: in noon rest time\n", __FUNCTION__, __LINE__);
+                               return ;
+                       }
+               }
+               
+               if(s_remind_server_sedentary_data.night_is_valid)
+               {
+                       t_begin_mins = s_remind_server_sedentary_data.night_hour_begin * 60 + s_remind_server_sedentary_data.night_min_begin;
+                       t_end_mins = s_remind_server_sedentary_data.night_hour_end * 60 + s_remind_server_sedentary_data.night_min_end;
+
+                       if((t_begin_mins > t_end_mins) && (t_cur_mins >= t_begin_mins || t_cur_mins <= t_end_mins)
+                               || (t_begin_mins < t_end_mins) && (t_cur_mins >= t_begin_mins && t_cur_mins <= t_end_mins)
+                               )
+                       {
+                               printf("[@CHENG_DEBUG][%s][%d]: in night rest time\n", __FUNCTION__, __LINE__);
+                               return ;
+                       }
+               }
+       }
+       
+       s_remind_type = MMI_REMIND_TYPE_SEDENTARY;
+       mmi_remind_screen_active();
+}
+
+void mmi_remind_server_sedentary_timer_stop(void)
+{
+       if(NULL != s_remind_server_sedentary_timer)
+       {
+               uos_timer_stop(s_remind_server_sedentary_timer);
+               uos_timer_delete(s_remind_server_sedentary_timer);
+               s_remind_server_sedentary_timer = NULL;
+       }
+}
+
+static void mmi_remind_server_sedentary_timer_start(void)
+{
+       mmi_remind_server_sedentary_timer_stop();
+
+       if(0 == s_remind_server_sedentary_data.is_valid)
+       {
+               return ;
+       }
+       
+       uint32_t time_second = s_remind_server_sedentary_data.interval_minute * 60;
+               
+       uos_timer_create(&s_remind_server_sedentary_timer);
+       uos_timer_start(s_remind_server_sedentary_timer, MS_TO_TICKS(time_second * 1000), 0, mmi_remind_server_sedentary_trigger, NULL);
+}
+
+static void mmi_remind_server_sedentary_trigger(uint32_t para)
+{
+       mmi_remind_server_sedentary_screen_active();
+       mmi_remind_server_sedentary_timer_start();
+}
+
+void mmi_remind_server_sedentary_mission_power_on_check(void)
+{
+       mmi_remind_server_sedentary_nv_read();
+       mmi_remind_server_sedentary_timer_start();
+}
+#endif
+
+
 #ifdef __MMI_SEDENTARY_REMIND_SUPPORT__
 
 void mmi_remind_sedentary_screen_content(lv_obj_t * cont)
@@ -754,6 +884,36 @@ static lv_obj_t * mmi_remind_screen_create(lv_obj_t * activity_obj)
        {
        #ifdef __MMI_SEDENTARY_REMIND_SUPPORT__
                mmi_remind_sedentary_screen_content(cont);
+
+       #elif defined(__MMI_REMIND_SERVER_SEDENTARY_SUPPORT__)
+               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);
+               
+       #ifdef USE_LV_WATCH_UI_466_466
+               lv_obj_t * label_time = lv_label_create(cont, NULL);
+               lv_obj_add_style(label_time, LV_LABEL_PART_MAIN, &lv_watch_font40);
+               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, LV_VER_RES / 5);
+
+               lv_obj_t * label_prompt = lv_label_create(cont, label_time);
+               lv_label_set_text_id(label_prompt, s_remind_info[s_remind_index].remind_txt_id);
+               lv_obj_align(label_prompt, NULL, LV_ALIGN_CENTER, 0, -10);
+       #else
+               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, label_time);
+               lv_label_set_text_id(label_prompt, s_remind_info[s_remind_index].remind_txt_id);
+               lv_obj_align(label_prompt, label_time, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
+       #endif
+
        #endif
        }
        else
index a403b77..c380716 100644 (file)
@@ -84,6 +84,10 @@ void mmi_remind_custom_medicine_data_set(nv_watch_remind_custom_medicine_t * dat
 void mmi_remind_drink_data_set(nv_watch_remind_drink_t * data);
 void mmi_remind_drink_mission_power_on_check(void);
 #endif
+#ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+void mmi_remind_server_sedentary_data_set(nv_watch_remind_server_sedentary_t * data);
+void mmi_remind_server_sedentary_mission_power_on_check(void);
+#endif
 
 bool mmi_remind_screen_is_active(void);
 void mmi_ui_msg_update_remind(void);
index 58d6bd6..77394d0 100644 (file)
@@ -138,6 +138,9 @@ static void mmi_data_init_after_watch_create(void)
 #ifdef __MMI_REMIND_DRINK_SUPPORT__
        mmi_remind_drink_mission_power_on_check();
 #endif
+#ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+       mmi_remind_server_sedentary_mission_power_on_check();
+#endif
 #ifdef __MMI_SEDENTARY_REMIND_SUPPORT__
        mmi_sedentary_remind_mission_power_on_check();
 #endif
index cec4781..a8e923c 100644 (file)
@@ -68,7 +68,7 @@ extern "C" {
 #define AUDIO_REMIND_CLOCK_IN                 "R:/audio/AUDIO_REMIND_CLOCK_IN.mp3"
 #endif
 
-#ifdef __MMI_SEDENTARY_REMIND_SUPPORT__
+#if defined(__MMI_SEDENTARY_REMIND_SUPPORT__) || defined(__MMI_REMIND_SERVER_SEDENTARY_SUPPORT__)
 #define AUDIO_REMIND_SEDENTARY                  "R:/audio/AUDIO_REMIND_SEDENTARY.mp3"
 #endif
 
index ff236a6..47f3632 100644 (file)
@@ -3615,6 +3615,72 @@ bool mmi_protocol_fzd_parse_SERVER_SET_REMIND_DRINK(unsigned char * next_buff, u
 }
 #endif
 
+// [REMIND_CH_SIT,20,1,12:00-14:00-0,23:00-07:00-1]
+#ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+bool mmi_protocol_fzd_parse_SERVER_SET_REMIND_SERVER_SEDENTARY(unsigned char * next_buff, unsigned int next_buff_len)
+{
+       bool result = false;
+       MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_SERVER_SET_REMIND_SERVER_SEDENTARY;
+
+       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);
+
+       nv_watch_remind_server_sedentary_t t_data = {0};
+       char * temp_ptr = NULL;
+
+       temp_ptr = km_strtok_r(NULL, ",", &next_buff);
+       t_data.interval_minute = atoi(temp_ptr);
+
+       temp_ptr = km_strtok_r(NULL, ",", &next_buff);
+       t_data.is_valid = atoi(temp_ptr);
+
+       if(t_data.is_valid)
+       {
+               // noon rest
+               temp_ptr = km_strtok_r(NULL, ":", &next_buff);
+               t_data.noon_hour_begin = atoi(temp_ptr);
+
+               temp_ptr = km_strtok_r(NULL, "-", &next_buff);
+               t_data.noon_min_begin = atoi(temp_ptr);
+
+               temp_ptr = km_strtok_r(NULL, ":", &next_buff);
+               t_data.noon_hour_end = atoi(temp_ptr);
+
+               temp_ptr = km_strtok_r(NULL, "-", &next_buff);
+               t_data.noon_min_end = atoi(temp_ptr);
+
+               temp_ptr = km_strtok_r(NULL, ",", &next_buff);
+               t_data.noon_is_valid = atoi(temp_ptr);
+
+               // night rest
+               temp_ptr = km_strtok_r(NULL, ":", &next_buff);
+               t_data.night_hour_begin = atoi(temp_ptr);
+
+               temp_ptr = km_strtok_r(NULL, "-", &next_buff);
+               t_data.night_min_begin = atoi(temp_ptr);
+
+               temp_ptr = km_strtok_r(NULL, ":", &next_buff);
+               t_data.night_hour_end = atoi(temp_ptr);
+
+               temp_ptr = km_strtok_r(NULL, "-", &next_buff);
+               t_data.night_min_end = atoi(temp_ptr);
+
+               temp_ptr = next_buff;
+               t_data.night_is_valid = atoi(temp_ptr);
+       }
+
+       mmi_remind_server_sedentary_data_set(&t_data);
+
+       return result;
+}
+#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)
index 8028a38..bb03d75 100644 (file)
@@ -187,6 +187,9 @@ typedef enum
 #ifdef __MMI_REMIND_DRINK_SUPPORT__
        MMI_FZD_SERVER_SET_REMIND_DRINK,
 #endif
+#ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+       MMI_FZD_SERVER_SET_REMIND_SERVER_SEDENTARY,
+#endif
 #ifdef __MMI_CUSTOM_HENG_AI__
        MMI_FZD_SERVER_SET_HENG_AI_WAKE_NOW,
        MMI_FZD_SERVER_SET_HENG_AI_WAKE_RING_TYPE,
@@ -365,6 +368,9 @@ bool mmi_protocol_fzd_parse_SERVER_SET_REMIND_CUSTOM_MEDICINE(unsigned char * ne
 #ifdef __MMI_REMIND_DRINK_SUPPORT__
 bool mmi_protocol_fzd_parse_SERVER_SET_REMIND_DRINK(unsigned char * next_buff, unsigned int next_buff_len);
 #endif
+#ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+bool mmi_protocol_fzd_parse_SERVER_SET_REMIND_SERVER_SEDENTARY(unsigned char * next_buff, unsigned int next_buff_len);
+#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);
index f553b8c..af4d92a 100644 (file)
@@ -119,6 +119,9 @@ static unsigned char * mmi_protocol_fzd_action_string_get(MMI_PROTOCOL_FZD_ACTIO
                #ifdef __MMI_REMIND_DRINK_SUPPORT__
                        {MMI_FZD_SERVER_SET_REMIND_DRINK, "REMIND_CH_DRINK"},
                #endif
+               #ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+                       {MMI_FZD_SERVER_SET_REMIND_SERVER_SEDENTARY, "REMIND_CH_SIT"},
+               #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"},
@@ -440,6 +443,11 @@ static bool mmi_protocol_fzd_content_parse(unsigned char * content_ptr, unsigned
                        mmi_protocol_fzd_parse_SERVER_SET_REMIND_DRINK(next_buff, next_buff_len);
                        break;
        #endif
+       #ifdef __MMI_REMIND_SERVER_SEDENTARY_SUPPORT__
+               case MMI_FZD_SERVER_SET_REMIND_SERVER_SEDENTARY:
+                       mmi_protocol_fzd_parse_SERVER_SET_REMIND_SERVER_SEDENTARY(next_buff, next_buff_len);
+                       break;
+       #endif
 
        #ifdef __MMI_CUSTOM_HENG_AI__
                case MMI_FZD_SERVER_SET_HENG_AI_WAKE_NOW: