lv_apps/health_measure/health_heart_rate.c
lv_apps/health_measure/health_spo2.c
lv_apps/health_measure/health_temperature.c
+ lv_apps/setting/setting_main_menu_switch.c
)
set(lv_watch_font_sources
"删除选中", // WATCH_TEXT_ID_DELETE_CURRENT_ITEM,
"删除全部", // WATCH_TEXT_ID_DELETE_ALL_ITEM,
"无网络", // WATCH_TEXT_ID_NO_NETWORK,
+ "主题切换", // WATCH_TEXT_ID_MAIN_MENU_SWITCH,
+ "大图标", // WATCH_TEXT_ID_MAIN_MENU_SWITCH_ONE_PAGE,
+ "小图标", // WATCH_TEXT_ID_MAIN_MENU_SWITCH_LIST,
//CHENG_MODIFY
"Delete current", // WATCH_TEXT_ID_DELETE_CURRENT_ITEM,
"Delete all", // WATCH_TEXT_ID_DELETE_ALL_ITEM,
"No SIM or no network", // WATCH_TEXT_ID_NO_NETWORK,
+ "Theme switch", // WATCH_TEXT_ID_MAIN_MENU_SWITCH,
+ "Big icon", // WATCH_TEXT_ID_MAIN_MENU_SWITCH_ONE_PAGE,
+ "Small icon", // WATCH_TEXT_ID_MAIN_MENU_SWITCH_LIST,
//CHENG_MODIFY
#define NV_SECTION_UI_DO_NOT_DISTURB_LEN (sizeof(nv_watch_do_not_disturb_t))
#define NV_SECTION_UI_DIAL_PAD_SWITCH_LEN (sizeof(nv_watch_switch_t))
#define NV_SECTION_UI_WHITE_LIST_SWITCH_LEN (sizeof(nv_watch_switch_t))
+#define NV_SECTION_UI_MAIN_MENU_STYLE_LEN (sizeof(nv_watch_main_menu_style_t))
+
//#endif
#define NV_SECTION_UI_DO_NOT_DISTURB_FILE "ui_do_not_disturb.nv"
#define NV_SECTION_UI_DIAL_PAD_SWITCH_FILE "ui_dial_pad_switch.nv"
#define NV_SECTION_UI_WHITE_LIST_SWITCH_FILE "ui_white_list_switch.nv"
+#define NV_SECTION_UI_MAIN_MENU_STYLE_FILE "ui_main_menu_style.nv"
+
//#endif
return (NV_SECTION_LEN(NV_SECTION_UI_DIAL_PAD_SWITCH));
case NV_SECTION_UI_WHITE_LIST_SWITCH:
return (NV_SECTION_LEN(NV_SECTION_UI_WHITE_LIST_SWITCH));
+ case NV_SECTION_UI_MAIN_MENU_STYLE:
+ return (NV_SECTION_LEN(NV_SECTION_UI_MAIN_MENU_STYLE));
//#endif
return (NV_SECTION_FILE_PATH(NV_SECTION_UI_DIAL_PAD_SWITCH));
case NV_SECTION_UI_WHITE_LIST_SWITCH:
return (NV_SECTION_FILE_PATH(NV_SECTION_UI_WHITE_LIST_SWITCH));
+ case NV_SECTION_UI_MAIN_MENU_STYLE:
+ return (NV_SECTION_FILE_PATH(NV_SECTION_UI_MAIN_MENU_STYLE));
//#endif
nv_watch_do_not_disturb_t * do_not_disturb;
nv_watch_switch_t * dial_pad_switch;
nv_watch_switch_t * white_list_switch;
+ nv_watch_main_menu_style_t * main_menu_style;
//#endif
memset(white_list_switch, 0x0, SectionLen);
TempData = (char *)white_list_switch;
break;
+
+ case NV_SECTION_UI_MAIN_MENU_STYLE:
+ main_menu_style = lv_mem_alloc(SectionLen);
+ memset(main_menu_style, 0x0, SectionLen);
+ mmi_main_menu_style_nv_default(main_menu_style);
+ TempData = (char *)main_menu_style;
+ break;
+
//#endif
uint8_t switch_flag;
} __packed nv_watch_switch_t;
+typedef struct
+{
+ uint8_t style_value;
+} __packed nv_watch_main_menu_style_t;
+
+
//#endif
NV_SECTION_UI_DO_NOT_DISTURB, // nv_watch_do_not_disturb_t
NV_SECTION_UI_DIAL_PAD_SWITCH, // nv_watch_switch_t
NV_SECTION_UI_WHITE_LIST_SWITCH, // nv_watch_switch_t
+ NV_SECTION_UI_MAIN_MENU_STYLE, // nv_watch_main_menu_style_t
//#endif
WATCH_TEXT_ID_DELETE_CURRENT_ITEM, /* "删除选中" "Delete current" */
WATCH_TEXT_ID_DELETE_ALL_ITEM, /* "删除全部" "Delete all" */
WATCH_TEXT_ID_NO_NETWORK, /* "无网络" "No SIM or no network" */
+ WATCH_TEXT_ID_MAIN_MENU_SWITCH, /* "主题切换" "Theme switch" */
+ WATCH_TEXT_ID_MAIN_MENU_SWITCH_ONE_PAGE, /* "大图标" "Big icon" */
+ WATCH_TEXT_ID_MAIN_MENU_SWITCH_LIST, /* "小图标" "Small icon" */
} else {
lv_obj_set_hidden(ext->leds_content, false);
}
+
+ #ifdef __MMI_MAIN_MENU_SWITCH_MENU__
+ //ext->show_leds_en = 0;
+ lv_obj_set_hidden(ext->leds_content, true);
+ #endif
}
for(uint8_t i = 0; i < tab_cnt; i++) {
if(ext->leds[i] == NULL) continue;
#include <stdio.h>
+
+#ifdef __MMI_ZHSX_SUPPORT__
+
+#include "primary_menu_data.c"
+
+
+static watch_app_info_t * menu_app = NULL;
+static uint8_t watch_menu_app_cnt = 0;
+static nv_watch_main_menu_style_t s_main_menu_style = {0};
+
+
+void mmi_main_menu_style_nv_default(nv_watch_main_menu_style_t * data)
+{
+ data->style_value = MMI_MAIN_MENU_STYLE_DEFAULT;
+}
+
+void mmi_main_menu_style_nv_read(void)
+{
+ uint32_t nv_data_length = sizeof(nv_watch_main_menu_style_t);
+
+ if(nv_data_length != UI_NV_Read_Req(NV_SECTION_UI_MAIN_MENU_STYLE, 0, nv_data_length, (uint8_t *)&s_main_menu_style))
+ {
+ printf("[@CHENG_DEBUG][%s][%d]: nv read fail\n", __FUNCTION__, __LINE__);
+ mmi_main_menu_style_nv_default(&s_main_menu_style);
+ }
+}
+
+void mmi_main_menu_style_nv_write(void)
+{
+ uint32_t nv_data_length = sizeof(nv_watch_main_menu_style_t);
+
+ if(nv_data_length != UI_NV_Write_Req(NV_SECTION_UI_MAIN_MENU_STYLE, 0, nv_data_length, (uint8_t *)&s_main_menu_style))
+ {
+ printf("[@CHENG_DEBUG][%s][%d]: nv write fail\n", __FUNCTION__, __LINE__);
+ }
+}
+
+MMI_MAIN_MENU_STYLE_E mmi_main_menu_style_get(void)
+{
+ return s_main_menu_style.style_value;
+}
+
+void mmi_main_menu_style_set(MMI_MAIN_MENU_STYLE_E style_value)
+{
+ s_main_menu_style.style_value = style_value;
+ mmi_main_menu_style_nv_write();
+}
+
+uint8_t mmi_main_menu_app_num_pre_tab_get(void)
+{
+ uint8_t num = 0;
+ MMI_MAIN_MENU_STYLE_E style_value = mmi_main_menu_style_get();
+
+ switch(style_value)
+ {
+ case MMI_MAIN_MENU_STYLE_FOUR_GRID:
+ num = 4;
+ break;
+
+ case MMI_MAIN_MENU_STYLE_ONE_PAGE:
+ case MMI_MAIN_MENU_STYLE_LIST:
+ num = 1;
+ break;
+
+ default:
+ printf("[@CHENG_DEBUG][%s][%d]: should not run to here\n", __FUNCTION__, __LINE__);
+ break;
+ }
+
+ printf("[@CHENG_DEBUG][%s][%d]: num=%d\n", __FUNCTION__, __LINE__, num);
+ return num;
+}
+
+
+void primary_menu_init(void)
+{
+ uint8_t i = 0;
+ MMI_MAIN_MENU_STYLE_E style_value = MMI_MAIN_MENU_STYLE_MAX;
+
+ watch_menu_app_cnt = 0;
+ mmi_main_menu_style_nv_read();
+
+ style_value = mmi_main_menu_style_get();
+ printf("[@CHENG_DEBUG][%s][%d]: style_value=%d\n", __FUNCTION__, __LINE__, style_value);
+ switch(style_value)
+ {
+ case MMI_MAIN_MENU_STYLE_FOUR_GRID:
+ #ifdef __MMI_MAIN_MENU_FOUR_GRID_STYLE__
+ watch_menu_app_cnt = (sizeof(s_main_menu_four_grid) / sizeof(watch_app_info_t));
+ if(watch_menu_app_cnt > WATCH_APP_MAX_COUNT)
+ {
+ printf("[@CHENG_DEBUG][%s][%d]: primary menu count %d should not greater than %d\n", __FUNCTION__, __LINE__, watch_menu_app_cnt, WATCH_APP_MAX_COUNT);
+ return;
+ }
+ printf("[@CHENG_DEBUG][%s][%d]: menu count=%d\n", __FUNCTION__, __LINE__, watch_menu_app_cnt);
+ menu_app = (watch_app_info_t *)lv_mem_alloc(sizeof(watch_app_info_t) * watch_menu_app_cnt);
+ for(i = 0; i < watch_menu_app_cnt; i++)
+ {
+ memcpy(&menu_app[i], &(s_main_menu_four_grid[i]), sizeof(watch_app_info_t));
+ }
+ #endif
+ break;
+
+ case MMI_MAIN_MENU_STYLE_ONE_PAGE:
+ #ifdef __MMI_MAIN_MENU_ONE_PAGE_STYLE__
+ watch_menu_app_cnt = (sizeof(s_main_menu_one_page) / sizeof(watch_app_info_t));
+ if(watch_menu_app_cnt > WATCH_APP_MAX_COUNT)
+ {
+ printf("[@CHENG_DEBUG][%s][%d]: primary menu count %d should not greater than %d\n", __FUNCTION__, __LINE__, watch_menu_app_cnt, WATCH_APP_MAX_COUNT);
+ return;
+ }
+ printf("[@CHENG_DEBUG][%s][%d]: menu count=%d\n", __FUNCTION__, __LINE__, watch_menu_app_cnt);
+ menu_app = (watch_app_info_t *)lv_mem_alloc(sizeof(watch_app_info_t) * watch_menu_app_cnt);
+ for(i = 0; i < watch_menu_app_cnt; i++)
+ {
+ memcpy(&menu_app[i], &(s_main_menu_one_page[i]), sizeof(watch_app_info_t));
+ }
+ #endif
+ break;
+
+ case MMI_MAIN_MENU_STYLE_LIST:
+ #ifdef __MMI_MAIN_MENU_LIST_STYLE__
+ watch_menu_app_cnt = 1;
+ if(watch_menu_app_cnt > WATCH_APP_MAX_COUNT)
+ {
+ printf("[@CHENG_DEBUG][%s][%d]: primary menu count %d should not greater than %d\n", __FUNCTION__, __LINE__, watch_menu_app_cnt, WATCH_APP_MAX_COUNT);
+ return;
+ }
+ printf("[@CHENG_DEBUG][%s][%d]: menu count=%d\n", __FUNCTION__, __LINE__, watch_menu_app_cnt);
+ menu_app = (watch_app_info_t *)lv_mem_alloc(sizeof(watch_app_info_t) * watch_menu_app_cnt);
+ // do nothing
+ //
+ #endif
+ break;
+
+ default:
+ printf("[@CHENG_DEBUG][%s][%d]: should not run to here\n", __FUNCTION__, __LINE__);
+ break;
+ }
+}
+
+void primary_menu_destroy(void)
+{
+ if(menu_app != NULL)
+ {
+ lv_mem_free(menu_app);
+ menu_app = NULL;
+ }
+ watch_menu_app_cnt = 0;
+}
+
+#ifdef __MMI_MAIN_MENU_FOUR_GRID_STYLE__
+static lv_obj_t * mmi_main_menu_style_four_grid_display(lv_obj_t * tab, int8_t btn_id, void * btn_src, watchLangTxtId_t txtId, lv_event_cb_t event_cb)
+{
+ lv_obj_t * cont = lv_obj_get_child(tab, NULL);
+ LV_ASSERT_MEM(cont);
+ if(cont == NULL)
+ return NULL;
+
+ lv_obj_t * btn;
+ int8_t i = btn_id % mmi_main_menu_app_num_pre_tab_get();
+
+ btn = lv_imgbtn_create(cont, NULL);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, btn_src);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, btn_src);
+ lv_btn_set_checkable(btn, false);
+
+ lv_obj_set_event_cb(btn, event_cb);
+ lv_tileview_add_element(lv_obj_get_parent(tab), btn);
+
+ lv_obj_t * label = lv_label_create(cont, NULL);
+ lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font20);
+ lv_label_set_long_mode(label, LV_LABEL_LONG_DOT);
+ lv_obj_set_size(label, 100, 30);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_label_set_text_id(label, txtId);
+ lv_obj_set_click(label, false);
+
+#if USE_LV_WATCH_UI_360_360 != 0
+ if(i == 0) {
+ lv_obj_align(btn, cont, LV_ALIGN_IN_TOP_LEFT, 30*2, 20*2);
+ } else if(i == 1) {
+ lv_obj_align(btn, cont, LV_ALIGN_IN_TOP_RIGHT, -30*2, 20*2);
+ } else if(i == 2) {
+ lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_LEFT, 30*2, -45*2);
+ } else if(i == 3) {
+ lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_RIGHT, -30*2, -45*2);
+ }
+#elif USE_LV_WATCH_UI_240_320 != 0
+ if(0 == i)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_TOP_LEFT, 20, 40 - 15);
+ else if(1 == i)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_TOP_RIGHT, -20, 40 - 15);
+ else if(2 == i)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_LEFT, 20, -45 - 18);
+ else if(3 == i)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_RIGHT, -20, -45 - 18);
+#elif USE_LV_WATCH_UI_240_280
+ if(0 == i)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_TOP_LEFT, 23, 40 - 15);
+ else if(1 == i)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_TOP_RIGHT, -23, 40 - 15);
+ else if(2 == i)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_LEFT, 23, -45 - 8);
+ else if(3 == i)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_RIGHT, -23, -45 - 8);
+#else
+ if(i == 0)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_TOP_LEFT, 20, 40);
+ else if(i == 1)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_TOP_RIGHT, -20, 40);
+ else if(i == 2)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_LEFT, 20, -45);
+ else if(i == 3)
+ lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_RIGHT, -20, -45);
+
+#endif
+
+ lv_obj_align(label, btn, LV_ALIGN_OUT_BOTTOM_MID, 0, 5);
+
+ return btn;
+}
+#endif
+
+#ifdef __MMI_MAIN_MENU_ONE_PAGE_STYLE__
+static lv_obj_t * mmi_main_menu_style_one_page_display(lv_obj_t * tab, void * btn_src, watchLangTxtId_t txtId, lv_event_cb_t event_cb)
+{
+ lv_obj_t * cont = lv_obj_get_child(tab, NULL);
+ LV_ASSERT_MEM(cont);
+ if(cont == NULL)
+ return NULL;
+
+ lv_obj_t * btn;
+
+ btn = lv_imgbtn_create(cont, NULL);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, btn_src);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, btn_src);
+ lv_btn_set_checkable(btn, false);
+ lv_obj_set_event_cb(btn, event_cb);
+ lv_tileview_add_element(lv_obj_get_parent(tab), btn);
+ lv_obj_align(btn, cont, LV_ALIGN_CENTER, 0, 0);
+
+ lv_obj_t * label = lv_label_create(cont, NULL);
+ lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font30);
+ lv_label_set_long_mode(label, LV_LABEL_LONG_SROLL_CIRC);
+ lv_obj_set_size(label, LV_HOR_RES / 2, 40);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_label_set_text_id(label, txtId);
+ lv_obj_set_click(label, false);
+ lv_obj_align(label, cont, LV_ALIGN_IN_BOTTOM_MID, 0, -20);
+
+ return btn;
+}
+#endif
+
+#ifdef __MMI_MAIN_MENU_LIST_STYLE__
+static lv_obj_t * mmi_main_menu_style_list_display(lv_obj_t * tab)
+{
+ lv_obj_t * cont = lv_obj_get_child(tab, NULL);
+ LV_ASSERT_MEM(cont);
+ if(cont == NULL)
+ return NULL;
+
+ lv_obj_t * list;
+
+ list = lv_list_create(cont, NULL);
+ lv_obj_add_style(list, LV_LIST_PART_BG, &lv_watch_style_transp);
+ //lv_obj_set_style_local_pad_top(list, LV_LIST_PART_BG, LV_STATE_DEFAULT, 0);
+ //lv_obj_set_style_local_pad_bottom(list, LV_LIST_PART_BG, LV_STATE_DEFAULT, 0);
+ //lv_obj_set_style_local_pad_left(list, LV_LIST_PART_BG, LV_STATE_DEFAULT, 0);
+ //lv_obj_set_style_local_pad_right(list, LV_LIST_PART_BG, LV_STATE_DEFAULT, 0);
+ //lv_obj_set_style_local_pad_inner(list, LV_LIST_PART_BG, LV_STATE_DEFAULT, 0);
+ lv_list_set_scrollbar_mode(list, LV_SCROLLBAR_MODE_OFF);
+ lv_obj_set_size(list, lv_obj_get_width(cont) - 35 - 10, lv_obj_get_height(cont) - 20);
+ lv_obj_align(list, cont, LV_ALIGN_IN_TOP_LEFT, 35, 10);
+ lv_tileview_add_element(lv_obj_get_parent(tab), list);
+ //lv_watch_obj_add_element(lv_page_get_scrl(list));
+
+ uint8_t i = 0;
+ uint8_t menu_num = (sizeof(s_main_menu_list) / sizeof(watch_app_info_t));
+ lv_obj_t * btn;
+ lv_obj_t * content;
+ lv_obj_t * img;
+ lv_obj_t *label;
+
+ for(i = 0; i < menu_num; i++)
+ {
+ #if 0
+ btn = lv_list_add_btn(list, s_main_menu_list[i].img_src, (char *)lv_lang_get_text(s_main_menu_list[i].txtId));
+ lv_obj_set_event_cb(btn, s_main_menu_list[i].event_cb);
+ lv_watch_obj_add_element(btn);
+
+ lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 6);
+ lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 6);
+ lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); // 15
+ lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); // 15
+ lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 10);
+
+ lv_obj_t *label = lv_obj_get_child(btn, NULL);
+ lv_label_set_long_mode(label, LV_LABEL_LONG_EXPAND);
+ //lv_label_set_long_mode(label, LV_LABEL_LONG_SROLL);
+ lv_label_set_text_id(label, s_main_menu_list[i].txtId);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font30);
+ #else
+ btn = lv_list_add_btn(list, NULL, NULL);
+ lv_cont_set_layout(btn, LV_LAYOUT_OFF);
+ lv_obj_set_size(btn, lv_obj_get_width(list), 78);
+ lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 6);
+ lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 6);
+ lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); // 15
+ lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); // 15
+ lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 10);
+
+ lv_obj_set_click(btn, true);
+ lv_obj_set_event_cb(btn, s_main_menu_list[i].event_cb);
+ lv_page_glue_obj(btn, true);
+ lv_watch_obj_add_element(btn);
+
+ img = lv_img_create(btn, NULL);
+ lv_img_set_src(img, s_main_menu_list[i].img_src);
+ lv_obj_align(img, btn, LV_ALIGN_IN_LEFT_MID, 0, 0);
+
+ label = lv_label_create(btn, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font30);
+ lv_label_set_long_mode(label, LV_LABEL_LONG_SROLL);
+ lv_obj_set_width(label, lv_obj_get_width(btn) - 70);
+ lv_label_set_text_id(label, s_main_menu_list[i].txtId);
+ lv_obj_align(label, img, LV_ALIGN_OUT_RIGHT_MID, 10, 0);
+ #endif
+ }
+
+ return list;
+}
+#endif
+
+static lv_obj_t * primary_menu_add_btn(lv_obj_t * tab, int8_t btn_id, void * btn_src, watchLangTxtId_t txtId, lv_event_cb_t event_cb)
+{
+ lv_obj_t * btn;
+ MMI_MAIN_MENU_STYLE_E style_value = mmi_main_menu_style_get();
+ switch(style_value)
+ {
+ case MMI_MAIN_MENU_STYLE_FOUR_GRID:
+ #ifdef __MMI_MAIN_MENU_FOUR_GRID_STYLE__
+ btn = mmi_main_menu_style_four_grid_display(tab, btn_id, btn_src, txtId, event_cb);
+ #endif
+ break;
+
+ case MMI_MAIN_MENU_STYLE_ONE_PAGE:
+ #ifdef __MMI_MAIN_MENU_ONE_PAGE_STYLE__
+ btn = mmi_main_menu_style_one_page_display(tab, btn_src, txtId, event_cb);
+ #endif
+ break;
+
+ case MMI_MAIN_MENU_STYLE_LIST:
+ #ifdef __MMI_MAIN_MENU_LIST_STYLE__
+ btn = mmi_main_menu_style_list_display(tab);
+ #endif
+ break;
+
+ default:
+ printf("[@CHENG_DEBUG][%s][%d]: should not run to here\n", __FUNCTION__, __LINE__);
+ break;
+ }
+
+ return btn;
+}
+
+static lv_obj_t * menu_create(lv_obj_t * tileview, lv_obj_t * ancient_tab, uint16_t id)
+{
+ if(!tileview) tileview = lv_scr_act();
+ lv_obj_t * tab;
+
+ if(ancient_tab == NULL) {
+ /* desktop's signal support switch up or down view, all primary menu must be based on it */
+ tab = launcher_tileview_add_tile(tileview, id);
+ } else {
+ //printf("menu_create: lv_tabview_clean ancient_tab=%p\n", ancient_tab);
+ lv_tabview_clean_tab(ancient_tab);
+ tab = ancient_tab;
+ }
+
+ LV_ASSERT_MEM(tab);
+ if(tab == NULL) return NULL;
+
+ lv_obj_t * cont = lv_cont_create(tab, NULL);
+ LV_ASSERT_MEM(cont);
+ if(cont == NULL) return NULL;
+ lv_cont_set_layout(cont, LV_LAYOUT_OFF);
+ lv_obj_add_style(cont, LV_CONT_PART_MAIN, &lv_style_transp);
+ lv_obj_set_width(cont, LV_HOR_RES);
+ lv_obj_set_height(cont, LV_VER_RES);
+ lv_tileview_add_element(tileview, cont);
+ lv_obj_set_click(cont, false);
+
+ return tab;
+}
+
+lv_obj_t * primary_menu_create_all(lv_obj_t * tabview)
+{
+ return primary_menu_create(tabview, true, -1);
+}
+
+lv_obj_t * primary_menu_create_one(lv_obj_t * tabview, int8_t menu_id)
+{
+ return primary_menu_create(tabview, false, menu_id);
+}
+
+uint8_t primary_menu_get_menu_cnt(void)
+{
+ uint8_t app_num_pre_tab = mmi_main_menu_app_num_pre_tab_get();
+
+ return (watch_menu_app_cnt + (app_num_pre_tab - 1)) / app_num_pre_tab;
+}
+
+lv_obj_t * primary_menu_create(lv_obj_t * tileview, bool create_all, int8_t menu_id)
+{
+ lv_obj_t * tab = NULL;
+ uint8_t app_num_pre_tab = mmi_main_menu_app_num_pre_tab_get();
+
+ /* static add all menus, it need more memory space */
+ if(create_all) {
+ for(int8_t i = 0; i < watch_menu_app_cnt; i++) {
+ //printf("app[%d].txtId = %s\n", i, app[i].txtId);
+ int8_t j = i % app_num_pre_tab;
+ int8_t menu_index = i / app_num_pre_tab;
+ int8_t tab_index = 0;
+ if(j == 0) {
+ /* new a tab */
+ if(LAUNCHER_HOR_SLIDING_LOOP_MODE_ENABLE)
+ tab_index = menu_index + 2;
+ else
+ tab_index = menu_index + 1;
+ tab = menu_create(tileview, NULL, tab_index);
+ LV_ASSERT_MEM(tab);
+ if(tab == NULL) return NULL;
+ }
+
+ primary_menu_add_btn(tab, j, (void *)menu_app[i].img_src, menu_app[i].txtId, menu_app[i].event_cb);
+ }
+ return tab;
+ }
+
+ if(menu_id >= 0) {
+ /* dymatic add menu, it save memory space */
+ for(int8_t i = 0; i < watch_menu_app_cnt; i++) {
+ //printf("app[%d].english = %s\n", i, app[i].english);
+ int8_t j = i % app_num_pre_tab;
+ int8_t menu_index = i / app_num_pre_tab;
+ if(menu_index < menu_id) continue;
+ if(menu_index > menu_id) break;
+
+ if(j == 0) {
+ /* new a tab */
+ tab = menu_create(tileview, NULL, 0);
+ LV_ASSERT_MEM(tab);
+ if(tab == NULL) return NULL;
+ }
+ primary_menu_add_btn(tab, j, (void *)menu_app[i].img_src, menu_app[i].txtId, menu_app[i].event_cb);
+ }
+ }
+
+ return tab;
+}
+
+
+
+#else // __MMI_ZHSX_SUPPORT__
+
+
+
/*********************
* DEFINES
*********************/
-#ifdef __MMI_ZHSX_SUPPORT_PAGE_MAIN_MENU__
-#define PRIMARY_MENU_APP_NUM_PRE_TAB (1)
-#else
+
#define PRIMARY_MENU_APP_NUM_PRE_TAB (4)
-#endif
+
/**********************
* TYPEDEFS
static watch_app_info_t * menu_app = NULL;
static uint8_t watch_menu_app_cnt = 0;
-#ifdef __MMI_ZHSX_SUPPORT__
-
-#include "primary_menu_data.c"
-
-//count should not greater than WATCH_APP_MAX_COUNT !!
-#define PRIMARY_MENU_COUNT (sizeof(s_primary_grid_menu) / sizeof(watch_app_info_t))
-
-#else /*__MMI_ZHSX_SUPPORT__*/
static watch_app_info_t app[] = {
{ ICON_SETTING, WATCH_TEXT_ID_SETTINGS, setting_create_event_cb },
#endif
};
-#endif /*__MMI_ZHSX_SUPPORT__*/
/**********************
primary_set_default_menu(&launcher_info);
}
menu_app = (watch_app_info_t *)lv_mem_alloc(sizeof(watch_app_info_t) * watch_menu_app_cnt);
-#ifdef __MMI_ZHSX_SUPPORT__
- for(i = 0; i < watch_menu_app_cnt; i++)
- {
- memcpy(&menu_app[i], &(s_primary_grid_menu[i]), sizeof(watch_app_info_t));
- }
-#else
+
for(i = 0; i < WATCH_APP_MAX_COUNT; i++) {
if(launcher_info.menu_app_show[i] == 1) {
memcpy(&menu_app[j], &app[i], sizeof(watch_app_info_t));
j++;
}
}
-#endif
+
}
void primary_menu_destroy(void)
**********************/
static void primary_set_default_menu(nv_watch_launcher_t * launcher_info)
{
-#ifdef __MMI_ZHSX_SUPPORT__
- if(PRIMARY_MENU_COUNT > WATCH_APP_MAX_COUNT)
- {
- printf("[@CHENG_DEBUG][%s][%d]: primary menu count %d should not greater than %d\n", __FUNCTION__, __LINE__, PRIMARY_MENU_COUNT, WATCH_APP_MAX_COUNT);
- return;
- }
-
- uint8_t i = 0;
- for(i = 0; i < PRIMARY_MENU_COUNT; i++)
- {
- launcher_info->menu_app_show[i] = 1;
- }
- watch_menu_app_cnt = PRIMARY_MENU_COUNT;
-
-#else /*__MMI_ZHSX_SUPPORT__*/
-
launcher_info->menu_app_show[APP_SETTING] = 1;
launcher_info->menu_app_show[APP_WECHAT] = 1;
launcher_info->menu_app_show[APP_PHONEBOOK] = 1;
watch_menu_app_cnt++;
}
}
-#endif /*__MMI_ZHSX_SUPPORT__*/
UI_NV_Write_Req(NV_SECTION_UI_LAUNCHER, 0, sizeof(nv_watch_launcher_t), (uint8_t *)launcher_info);
printf("%s: add default show app cnt %d\n", __FUNCTION__, watch_menu_app_cnt);
{
int8_t i = btn_id % PRIMARY_MENU_APP_NUM_PRE_TAB;
-
lv_obj_t * cont = lv_obj_get_child(tab, NULL);
LV_ASSERT_MEM(cont);
if(cont == NULL) return NULL;
}
#endif
+
+
+
+#endif
+
+
#endif /*USE_LV_WATCH_PRIMARY_MENU*/
#endif
} watch_app_type_t;
+
+
+#ifdef __MMI_ZHSX_SUPPORT__
+typedef enum
+{
+ MMI_MAIN_MENU_STYLE_FOUR_GRID,
+ MMI_MAIN_MENU_STYLE_ONE_PAGE,
+ MMI_MAIN_MENU_STYLE_LIST,
+
+ MMI_MAIN_MENU_STYLE_MAX,
+}MMI_MAIN_MENU_STYLE_E;
+
+
+
+void mmi_main_menu_style_nv_default(nv_watch_main_menu_style_t * data);
+MMI_MAIN_MENU_STYLE_E mmi_main_menu_style_get(void);
+void mmi_main_menu_style_set(MMI_MAIN_MENU_STYLE_E style_value);
+
+#endif
+
/**********************
* GLOBAL PROTOTYPES
**********************/
//count need not greater than WATCH_APP_MAX_COUNT !!
-static watch_app_info_t s_primary_grid_menu[] =
+// four grid
+#ifdef __MMI_MAIN_MENU_FOUR_GRID_STYLE__
+static watch_app_info_t s_main_menu_four_grid[] =
{
{ ICON_PHONEBOOK, WATCH_TEXT_ID_PHONEBOOK, phonebook_create_btn_event_cb},
#if USE_LV_WATCH_SMS_MSG != 0
{ ICON_WECHAT, WATCH_TEXT_ID_WECHAT, wechat_create_event_cb },
#endif
- { ICON_CAMERA, WATCH_TEXT_ID_CAMERA, camera_create_btn_event_cb }, //test code
+#if USE_LV_WATCH_CAMERA != 0
+ { ICON_CAMERA, WATCH_TEXT_ID_CAMERA, camera_create_btn_event_cb },
{ ICON_ALBUM, WATCH_TEXT_ID_ALBUM, album_create_event_cb },
+#endif
#if USE_LV_WATCH_ALIPAY != 0
{ ICON_ALIPAY, WATCH_TEXT_ID_ALIPAY, upay_create_event_cb },
#endif
{ ICON_VIDEOCALL, WATCH_TEXT_ID_VIDEOCALL, video_call_create_event_cb },
#endif
-#if USE_LV_WATCH_AUDIO_PLAYER != 0
- { ICON_MUSIC, WATCH_TEXT_ID_AUDIO_PLAYER, audio_player_create_event_cb },
-#endif
{ ICON_ALARM, WATCH_TEXT_ID_ALARM, alarm_create_event_cb },
{ ICON_STOPWATCH, WATCH_TEXT_ID_STOPWATCH, stopwatch_create_event_cb },
{ ICON_TIMER, WATCH_TEXT_ID_TIMER, timer_create_event_cb },
{ ICON_CALENDAR, WATCH_TEXT_ID_CALENDER, calendar_create_event_cb },
{ ICON_SETTING, WATCH_TEXT_ID_SETTINGS, setting_create_event_cb },
};
+#endif
+
+
+
+// one page
+#ifdef __MMI_MAIN_MENU_ONE_PAGE_STYLE__
+
+#ifdef MMI_PROJECT_Z5_D12
+static watch_app_info_t s_main_menu_one_page[] =
+{
+ { ICON_PHONEBOOK_ONE_PAGE, WATCH_TEXT_ID_PHONEBOOK, phonebook_create_btn_event_cb},
+#if USE_LV_WATCH_SMS_MSG != 0
+ { ICON_SMS_MSG_ONE_PAGE, WATCH_TEXT_ID_SMS_MSG, sms_msg_create_event_cb},
+#endif
+ { ICON_DIALPAD_ONE_PAGE, WATCH_TEXT_ID_DIALPAD, dialpad_create_event_cb },
+
+#ifdef __MMI_HEALTH_MEASURE_HEART_SUPPORT__
+ { ICON_HEART_RATE_ONE_PAGE, WATCH_TEXT_ID_HEART_RATE, health_heart_rate_create_event_cb},
+#endif
+#ifdef __MMI_HEALTH_MEASURE_SPO2_SUPPORT__
+ { ICON_SPO2_ONE_PAGE, WATCH_TEXT_ID_SPO2, health_spo2_create_event_cb},
+#endif
+#ifdef __MMI_HEALTH_MEASURE_TEMPERATURE_SUPPORT__
+ { ICON_TEMPERATURE_ONE_PAGE, WATCH_TEXT_ID_TEMPERATURE, health_temperature_create_event_cb},
+#endif
+#ifdef __MMI_WECHAT_SUPPORT__
+ { ICON_WECHAT_ONE_PAGE, WATCH_TEXT_ID_WECHAT, wechat_create_event_cb },
+#endif
+
+#if USE_LV_WATCH_CAMERA != 0
+ { ICON_CAMERA_ONE_PAGE, WATCH_TEXT_ID_CAMERA, camera_create_btn_event_cb },
+ { ICON_ALBUM_ONE_PAGE, WATCH_TEXT_ID_ALBUM, album_create_event_cb },
+#endif
+#if USE_LV_WATCH_ALIPAY != 0
+ { ICON_ALIPAY_ONE_PAGE, WATCH_TEXT_ID_ALIPAY, upay_create_event_cb },
+#endif
+#ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__
+ { ICON_VIDEOCALL_ONE_PAGE, WATCH_TEXT_ID_VIDEOCALL, video_call_create_event_cb },
+#endif
+
+ { ICON_SETTING_ONE_PAGE, WATCH_TEXT_ID_SETTINGS, setting_create_event_cb },
+};
+
+#else
+
+static watch_app_info_t s_main_menu_one_page[] =
+{
+ { ICON_PHONEBOOK_ONE_PAGE, WATCH_TEXT_ID_PHONEBOOK, phonebook_create_btn_event_cb},
+#if USE_LV_WATCH_SMS_MSG != 0
+ { ICON_SMS_MSG_ONE_PAGE, WATCH_TEXT_ID_SMS_MSG, sms_msg_create_event_cb},
+#endif
+ { ICON_DIALPAD_ONE_PAGE, WATCH_TEXT_ID_DIALPAD, dialpad_create_event_cb },
+ { ICON_CALLLOG_ONE_PAGE, WATCH_TEXT_ID_CALL_LOG, call_log_create_event_cb },
+
+#ifdef __MMI_HEALTH_MEASURE_HEART_SUPPORT__
+ { ICON_HEART_RATE_ONE_PAGE, WATCH_TEXT_ID_HEART_RATE, health_heart_rate_create_event_cb},
+#endif
+#ifdef __MMI_HEALTH_MEASURE_SPO2_SUPPORT__
+ { ICON_SPO2_ONE_PAGE, WATCH_TEXT_ID_SPO2, health_spo2_create_event_cb},
+#endif
+#ifdef __MMI_HEALTH_MEASURE_TEMPERATURE_SUPPORT__
+ { ICON_TEMPERATURE_ONE_PAGE, WATCH_TEXT_ID_TEMPERATURE, health_temperature_create_event_cb},
+#endif
+#ifdef __MMI_WECHAT_SUPPORT__
+ { ICON_WECHAT_ONE_PAGE, WATCH_TEXT_ID_WECHAT, wechat_create_event_cb },
+#endif
+
+#if USE_LV_WATCH_CAMERA != 0
+ { ICON_CAMERA_ONE_PAGE, WATCH_TEXT_ID_CAMERA, camera_create_btn_event_cb },
+ { ICON_ALBUM_ONE_PAGE, WATCH_TEXT_ID_ALBUM, album_create_event_cb },
+#endif
+#if USE_LV_WATCH_ALIPAY != 0
+ { ICON_ALIPAY_ONE_PAGE, WATCH_TEXT_ID_ALIPAY, upay_create_event_cb },
+#endif
+#ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__
+ { ICON_VIDEOCALL_ONE_PAGE, WATCH_TEXT_ID_VIDEOCALL, video_call_create_event_cb },
+#endif
+
+ { ICON_ALARM_ONE_PAGE, WATCH_TEXT_ID_ALARM, alarm_create_event_cb },
+ { ICON_STOPWATCH_ONE_PAGE, WATCH_TEXT_ID_STOPWATCH, stopwatch_create_event_cb },
+ { ICON_TIMER_ONE_PAGE, WATCH_TEXT_ID_TIMER, timer_create_event_cb },
+
+ { ICON_CALCULATOR_ONE_PAGE, WATCH_TEXT_ID_CALCULATOR, calculator_create_event_cb },
+ { ICON_CALENDAR_ONE_PAGE, WATCH_TEXT_ID_CALENDER, calendar_create_event_cb },
+ { ICON_SETTING_ONE_PAGE, WATCH_TEXT_ID_SETTINGS, setting_create_event_cb },
+};
+#endif
+#endif
+
+
+
+// list
+#ifdef __MMI_MAIN_MENU_LIST_STYLE__
+
+static watch_app_info_t s_main_menu_list[] =
+{
+ { ICON_PHONEBOOK_LIST, WATCH_TEXT_ID_PHONEBOOK, phonebook_create_btn_event_cb},
+#if USE_LV_WATCH_SMS_MSG != 0
+ { ICON_SMS_MSG_LIST, WATCH_TEXT_ID_SMS_MSG, sms_msg_create_event_cb},
+#endif
+ { ICON_DIALPAD_LIST, WATCH_TEXT_ID_DIALPAD, dialpad_create_event_cb },
+
+#ifdef __MMI_HEALTH_MEASURE_HEART_SUPPORT__
+ { ICON_HEART_RATE_LIST, WATCH_TEXT_ID_HEART_RATE, health_heart_rate_create_event_cb},
+#endif
+#ifdef __MMI_HEALTH_MEASURE_SPO2_SUPPORT__
+ { ICON_SPO2_LIST, WATCH_TEXT_ID_SPO2, health_spo2_create_event_cb},
+#endif
+#ifdef __MMI_HEALTH_MEASURE_TEMPERATURE_SUPPORT__
+ { ICON_TEMPERATURE_LIST, WATCH_TEXT_ID_TEMPERATURE, health_temperature_create_event_cb},
+#endif
+#ifdef __MMI_WECHAT_SUPPORT__
+ { ICON_WECHAT_LIST, WATCH_TEXT_ID_WECHAT, wechat_create_event_cb },
+#endif
+
+#if USE_LV_WATCH_CAMERA != 0
+ { ICON_CAMERA_LIST, WATCH_TEXT_ID_CAMERA, camera_create_btn_event_cb },
+ { ICON_ALBUM_LIST, WATCH_TEXT_ID_ALBUM, album_create_event_cb },
+#endif
+#if USE_LV_WATCH_ALIPAY != 0
+ { ICON_ALIPAY_LIST, WATCH_TEXT_ID_ALIPAY, upay_create_event_cb },
+#endif
+#ifdef __MMI_ZHSX_SUPPORT_VIDEO_CALL__
+ { ICON_VIDEOCALL_LIST, WATCH_TEXT_ID_VIDEOCALL, video_call_create_event_cb },
+#endif
+
+ { ICON_ALARM_LIST, WATCH_TEXT_ID_ALARM, alarm_create_event_cb },
+ { ICON_STOPWATCH_LIST, WATCH_TEXT_ID_STOPWATCH, stopwatch_create_event_cb },
+ { ICON_TIMER_LIST, WATCH_TEXT_ID_TIMER, timer_create_event_cb },
+
+ { ICON_SETTING_LIST, WATCH_TEXT_ID_SETTINGS, setting_create_event_cb },
+};
+
+#endif
+
#endif /*__MMI_ZHSX_SUPPORT__*/
watchLangTxtId_t txtId;
lv_event_cb_t event_cb;
} settingList[] = {
+
+#ifdef __MMI_ZHSX_SUPPORT__
+
+ //{ ICON_SETTING_LANGUAGE, WATCH_TEXT_ID_LANGUAGE_SWITCH, language_create_btn_action },
+ { ICON_SETTING_DAIL_FORMAT_SWITCH, WATCH_TEXT_ID_DAIL_REPLACE, dial_switch_create_btn_action },
+#ifdef __MMI_MAIN_MENU_SWITCH_MENU__
+ { ICON_SETTING_MAIN_MENU_SWITCH, WATCH_TEXT_ID_MAIN_MENU_SWITCH, setting_main_menu_switch_create_event_cb },
+#endif
+ { ICON_SETTING_VOLUME, WATCH_TEXT_ID_VOLUME_ADJUST, setting_volume_create_btn_action },
+ { ICON_SETTING_BRIGHTNESS, WATCH_TEXT_ID_BRIGHTNESS_ADJUST, setting_brightness_create_btn_action },
+ { ICON_SETTING_DATETIME, WATCH_TEXT_ID_DATE_AND_TIME, setting_date_time_create_btn_action},
+#ifdef __MMI_APP_QRCODE_MENU_SUPPORT__
+ { ICON_SETTING_APP_QRCODE, WATCH_TEXT_ID_APP_QRCODE, app_qrcode_create_event_cb },
+#endif
+#if USE_LV_WATCH_QRCODE != 0
+ { ICON_SETTING_QRCODE, WATCH_TEXT_ID_DEVICE_QRCODE, qrcode_create_event_cb },
+#endif
+ { ICON_SETTING_RESET, WATCH_TEXT_ID_RESTART_AND_RESET, restart_and_reset_create_btn_action },
+#if USE_LV_WATCH_SHUTDOWN != 0
+ { ICON_SETTING_SHUTDOWN, WATCH_TEXT_ID_SHUTDOWN, shutdown_create_btn_action },
+#endif
+ { ICON_SETTING_ABOUT, WATCH_TEXT_ID_ABOUT_WATCH, setting_about_create_btn_action },
+
+#else // __MMI_ZHSX_SUPPORT__
+
#if USE_LV_BLUETOOTH != 0
{ ICON_SETTING_BLUETOOTH, WATCH_TEXT_ID_BLUETOOTH, bluetooth_create_btn_action},
#endif
#if USE_BT_SENSOR_HUB != 0
{ ICON_SETTING_UPGRADE, WATCH_TEXT_ID_SH_UPGRADE, SensorHub_upgrade_create_event_cb},
#endif
+
+#endif // __MMI_ZHSX_SUPPORT__
};
/**********************
#include "setting_mobile_network.h"
#include "setting_tab.h"
#include "setting_search_switch.h"
+#include "setting_main_menu_switch.h"
+
#if USE_LV_WATCH_SETTING != 0
if(ext->actId == actId) {
//printf("lv_watch_get_activity_obj, obj=%p, actId=%d\n", obj, actId);
+ //printf("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, ext->actId);
return obj;
}
}
/* update list style*/
lv_obj_add_style(list,LV_LIST_PART_BG, &lv_watch_style_transp);
+#ifdef __MMI_ZHSX_SUPPORT__
+ lv_list_set_scrollbar_mode(list, LV_SCROLLBAR_MODE_OFF);
+#else
uint8_t pad_ver = 4;
lv_obj_add_style(list, LV_LIST_PART_SCROLLABLE, &lv_watch_style_transp);
lv_obj_set_style_local_pad_top(list, LV_LIST_PART_SCROLLABLE, LV_STATE_DEFAULT, pad_ver);
lv_obj_set_style_local_pad_bottom(list, LV_LIST_PART_SCROLLABLE, LV_STATE_DEFAULT, pad_ver);
lv_list_set_scrollbar_mode(list, LV_SCROLLBAR_MODE_ON);
+#endif
lv_obj_set_width(list, lv_obj_get_width(content));
lv_coord_t height = lv_obj_get_height(content)
- lv_obj_get_height(label_cont)
; //- pad_ver * 2;
+#ifdef USE_LV_WATCH_UI_240_240_CIRCLE
+ height -= 35;
+#endif
lv_obj_set_height(list, height);
return obj;
lv_obj_set_event_cb(btn, rel_event_cb);
lv_watch_obj_add_element(btn);
+#ifdef USE_LV_WATCH_UI_240_240_CIRCLE
+ lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 6);
+ lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 6);
+ lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 15+10);
+ lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 15);
+ lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 10);
+#else
lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 6);
lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 6);
lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 15);
lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 15);
lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 10);
+#endif
//re-set long mode of btn label, otherwize the text will scroll
lv_obj_t *label = lv_obj_get_child(btn, NULL);
#endif
//primary_menu
+#ifdef __MMI_MAIN_MENU_FOUR_GRID_STYLE__
#define ICON_SETTING "R:/png/primary_function/icon_settings.png"
#define ICON_WECHAT "R:/png/primary_function/icon_wechat.png"
#define ICON_CALLLOG "R:/png/primary_function/ICON_CALLLOG.png"
//#define ICON_PRIMARY_QRCODES "R:/png/primary_function/icon_primary_qrcodes.png"
#define ICON_STOPWATCH "R:/png/primary_function/icon_stopwatch.png"
#define ICON_CALCULATOR "R:/png/primary_function/icon_calculator.png"
-#if USE_LV_WATCH_EXERCISE != 0
-#define ICON_SPORT "R:/png/primary_function/icon_sport.png"
-#endif
+//#if USE_LV_WATCH_EXERCISE != 0
+//#define ICON_SPORT "R:/png/primary_function/icon_sport.png"
+//#endif
#define ICON_HEART_RATE "R:/png/primary_function/icon_heart_rate.png"
#define ICON_VIDEOCALL "R:/png/primary_function/icon_videocall.png"
//#define ICON_AIKNOWLEDGE "R:/png/primary_function/icon_aiknowledge.png"
#define ICON_CALENDAR "R:/png/primary_function/icon_calendar.png"
-#define ICON_CLEAR_RAM "R:/png/primary_function/icon_clear_ram.png"
-#if USE_LV_WATCH_SPEECH_RECOG != 0
-#define ICON_ANSWEREDQUE "R:/png/primary_function/icon_answeredquestions.png"
-#endif
+//#define ICON_CLEAR_RAM "R:/png/primary_function/icon_clear_ram.png"
+//#if USE_LV_WATCH_SPEECH_RECOG != 0
+//#define ICON_ANSWEREDQUE "R:/png/primary_function/icon_answeredquestions.png"
+//#endif
#define ICON_ALBUM "R:/png/primary_function/icon_album.png"
//#define ICON_BLOODPRESSURE "R:/png/primary_function/icon_blood_pressure.png"
//#define ICON_PRIMARY_BARCODES "R:/png/primary_function/icon_primary_barcodes.png"
-#if USE_LV_WATCH_AUDIO_PLAYER != 0
-#define ICON_MUSIC "R:/png/primary_function/icon_music.png"
-#endif
+//#if USE_LV_WATCH_AUDIO_PLAYER != 0
+//#define ICON_MUSIC "R:/png/primary_function/icon_music.png"
+//#endif
#define ICON_IMGVIEWER "R:/png/primary_function/icon_imgviewer.png"
#define ICON_ALARM "R:/png/primary_function/icon_alarm.png"
-#if USE_LV_WATCH_COMPASS != 0
-#define ICON_COMPASS "R:/png/primary_function/icon_compass.png"
-#endif
+//#if USE_LV_WATCH_COMPASS != 0
+//#define ICON_COMPASS "R:/png/primary_function/icon_compass.png"
+//#endif
#define ICON_MESSAGE "R:/png/primary_function/icon_message.png"
#define ICON_TIMER "R:/png/primary_function/icon_timer.png"
#if USE_LV_WATCH_WEATHER != 0
#define ICON_ALIPAY "R:/png/primary_function/icon_alipay.png"
#define ICON_SMS_MSG "R:/png/primary_function/icon_sms.png"
#define ICON_PHONEBOOK "R:/png/primary_function/ICON_PHONEBOOK.png"
+#endif
+
+
+#ifdef __MMI_MAIN_MENU_ONE_PAGE_STYLE__
+#define ICON_PHONEBOOK_ONE_PAGE "R:/png/primary_function/one_page/ICON_PHONEBOOK.png"
+#if USE_LV_WATCH_SMS_MSG != 0
+#define ICON_SMS_MSG_ONE_PAGE "R:/png/primary_function/one_page/icon_sms.png"
+#endif
+#define ICON_DIALPAD_ONE_PAGE "R:/png/primary_function/one_page/icon_dialpad.png"
+//#define ICON_CALLLOG_ONE_PAGE "R:/png/primary_function/one_page/ICON_CALLLOG.png"
+
+#define ICON_HEART_RATE_ONE_PAGE "R:/png/primary_function/one_page/icon_heart_rate.png"
+#define ICON_SPO2_ONE_PAGE "R:/png/primary_function/one_page/ICON_SPO2.png"
+#define ICON_TEMPERATURE_ONE_PAGE "R:/png/primary_function/one_page/ICON_TEMPERATURE.png"
+
+#define ICON_WECHAT_ONE_PAGE "R:/png/primary_function/one_page/icon_wechat.png"
+#define ICON_CAMERA_ONE_PAGE "R:/png/primary_function/one_page/icon_camera.png"
+#define ICON_ALBUM_ONE_PAGE "R:/png/primary_function/one_page/icon_album.png"
+#define ICON_ALIPAY_ONE_PAGE "R:/png/primary_function/one_page/icon_alipay.png"
+#define ICON_VIDEOCALL_ONE_PAGE "R:/png/primary_function/one_page/icon_videocall.png"
+
+//#define ICON_ALARM_ONE_PAGE "R:/png/primary_function/one_page/icon_alarm.png"
+//#define ICON_TIMER_ONE_PAGE "R:/png/primary_function/one_page/icon_timer.png"
+//#define ICON_STOPWATCH_ONE_PAGE "R:/png/primary_function/one_page/icon_stopwatch.png"
+//#define ICON_CALCULATOR_ONE_PAGE "R:/png/primary_function/one_page/icon_calculator.png"
+//#define ICON_CALENDAR_ONE_PAGE "R:/png/primary_function/one_page/icon_calendar.png"
+
+#define ICON_SETTING_ONE_PAGE "R:/png/primary_function/one_page/icon_settings.png"
+#endif
+
+
+#ifdef __MMI_MAIN_MENU_LIST_STYLE__
+#define ICON_PHONEBOOK_LIST "R:/png/primary_function/list/ICON_PHONEBOOK.png"
+#if USE_LV_WATCH_SMS_MSG != 0
+#define ICON_SMS_MSG_LIST "R:/png/primary_function/list/icon_sms.png"
+#endif
+#define ICON_DIALPAD_LIST "R:/png/primary_function/list/icon_dialpad.png"
+//#define ICON_CALLLOG_LIST "R:/png/primary_function/list/ICON_CALLLOG.png"
+
+#define ICON_HEART_RATE_LIST "R:/png/primary_function/list/icon_heart_rate.png"
+#define ICON_SPO2_LIST "R:/png/primary_function/list/ICON_SPO2.png"
+#define ICON_TEMPERATURE_LIST "R:/png/primary_function/list/ICON_TEMPERATURE.png"
+
+#define ICON_WECHAT_LIST "R:/png/primary_function/list/icon_wechat.png"
+#define ICON_CAMERA_LIST "R:/png/primary_function/list/icon_camera.png"
+#define ICON_ALBUM_LIST "R:/png/primary_function/list/icon_album.png"
+#define ICON_ALIPAY_LIST "R:/png/primary_function/list/icon_alipay.png"
+#define ICON_VIDEOCALL_LIST "R:/png/primary_function/list/icon_videocall.png"
+
+#define ICON_ALARM_LIST "R:/png/primary_function/list/icon_alarm.png"
+#define ICON_TIMER_LIST "R:/png/primary_function/list/icon_timer.png"
+#define ICON_STOPWATCH_LIST "R:/png/primary_function/list/icon_stopwatch.png"
+//#define ICON_CALCULATOR_LIST "R:/png/primary_function/list/icon_calculator.png"
+//#define ICON_CALENDAR_LIST "R:/png/primary_function/list/icon_calendar.png"
+
+#define ICON_SETTING_LIST "R:/png/primary_function/list/icon_settings.png"
+#endif
+
+
//setting
#define ICON_SETTING_DAIL_FORMAT_SWITCH "R:/png/setting/icon_setting_dail_format_switch.png"
#define ICON_SPEAKER "R:/png/setting/icon_speaker.png"
#define ICON_BRIGHTNESS "R:/png/setting/icon_brightness.png"
#define ICON_SETTING_RING_MUSIC "R:/png/setting/icon_setting_ring_music.png"
+#ifdef __MMI_MAIN_MENU_SWITCH_MENU__
+#define ICON_SETTING_MAIN_MENU_SWITCH "R:/png/setting/ICON_SETTING_MAIN_MENU_SWITCH.png"
+#endif
#define ICON_DATE "R:/png/date_time/icon_date.png"
#define ICON_TIME "R:/png/date_time/icon_time.png"
#define ICON_SETTING_REBOOT "R:/png/setting/icon_setting_reboot.png"
#define ICON_COMMON_BG_BLACK "R:/png/common/ICON_COMMON_BG_BLACK.png"
#define ICON_COMMON_BG_WHITE "R:/png/common/ICON_COMMON_BG_WHITE.png"
#define ICON_COMMON_SUCCESS "R:/png/common/ICON_COMMON_SUCCESS.png"
+#define ICON_ITEM_NOT_SELECTED "R:/png/common/icon_item_not_selected.png"
+#define ICON_ITEM_SELECTED "R:/png/common/icon_item_selected.png"
+#define ICON_ITEM_DISABLE_SELECTED "R:/png/common/icon_item_disable_selected.png"
#ifdef __MMI_WHITE_BACKGROUND_SUPPORT__
#define ICON_BACKGROUND ICON_COMMON_BG_WHITE