From: @CHENG <2393524978@qq.com> Date: Tue, 26 Mar 2024 06:15:40 +0000 (+0800) Subject: gengxin X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=1899fa9eb5b3672ce7ce6bc1b6a786abf287a001;p=mirrors%2FASR3603_Z5.git gengxin --- diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/dolphin_watch.json b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/dolphin_watch.json index 8def041f..6338ede8 100644 --- a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/dolphin_watch.json +++ b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/dolphin_watch.json @@ -4,6 +4,173 @@ "bg_img": "R:/png/dial_dolphin/icon_dolphin.png", "configurable": 0, "element_ll": [ + { + "element_pos": { + "x": 18, + "y": 5 + }, + "element_cnt": 1, + "act_type": 16, + "layer": 0, + "element_dsc_ll": [ + { + "element_type": 16, + "element_name": "signal", + "img_cnt": 1, + "img_ll": [ + { + "img_type": 160, + "img_pos": { + "x": 0, + "y": 0 + }, + "sub_img_cnt": 7, + "sub_img_ll": [ + { + "sub_img": "R:/png/dial_dolphin/icon_signal_0.png" + }, + { + "sub_img": "R:/png/dial_dolphin/icon_signal_1.png" + }, + { + "sub_img": "R:/png/dial_dolphin/icon_signal_2.png" + }, + { + "sub_img": "R:/png/dial_dolphin/icon_signal_3.png" + }, + { + "sub_img": "R:/png/dial_dolphin/icon_signal_4.png" + }, + { + "sub_img": "R:/png/dial_dolphin/icon_signal_4.png" + }, + { + "sub_img": "R:/png/dial_dolphin/icon_no_sim_card.png" + } + ] + } + ], + "label_cnt": 1, + "label_ll": [ + { + "label_type": 27, + "text": "", + "text_color": { + "r": 255, + "g": 255, + "b": 255 + }, + "text_pos": { + "x": 87, + "y": 0 + }, + "font_size": 20 + } + ], + "bar": { + "bar_type": 0, + "bar_pos": { + "x": 8, + "y": 9 + }, + "bar_color": { + "r": 77, + "g": 88, + "b": 99 + }, + "bar_w": 11, + "bar_h": 12 + } + } + ] + }, + { + "element_pos": { + "x": 185, + "y": 5 + }, + "element_cnt": 1, + "act_type": 10, + "layer": 0, + "element_dsc_ll": [ + { + "element_type": 10, + "element_name": "battery", + "img_cnt": 2, + "img_ll": [ + { + "img_type": 100, + "img_pos": { + "x": 0, + "y": 0 + }, + "sub_img_cnt": 5, + "sub_img_ll": [ + { + "sub_img": "R:/png/dial_dolphin/icon_battery_0.png" + }, + { + "sub_img": "R:/png/dial_dolphin/icon_battery_1.png" + }, + { + "sub_img": "R:/png/dial_dolphin/icon_battery_2.png" + }, + { + "sub_img": "R:/png/dial_dolphin/icon_battery_3.png" + }, + { + "sub_img": "R:/png/dial_dolphin/icon_battery_4.png" + } + ] + }, + { + "img_type": 106, + "img_pos": { + "x": -16, + "y": 0 + }, + "sub_img_cnt": 1, + "sub_img_ll": [ + { + "sub_img": "R:/png/dial_dolphin/icon_in_charging.png" + } + ] + } + ], + "label_cnt": 1, + "label_ll": [ + { + "label_type": 21, + "text": "", + "text_color": { + "r": 255, + "g": 255, + "b": 255 + }, + "text_pos": { + "x": 6, + "y": 2 + }, + "font_size": 14 + } + ], + "bar": { + "bar_type": 0, + "bar_pos": { + "x": 8, + "y": 9 + }, + "bar_color": { + "r": 77, + "g": 88, + "b": 99 + }, + "bar_w": 11, + "bar_h": 12 + } + } + ] + }, { "element_pos": { "x": 25, diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_0.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_0.png new file mode 100644 index 00000000..9b0e2fc6 Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_0.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_1.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_1.png new file mode 100644 index 00000000..98a0eb93 Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_1.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_2.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_2.png new file mode 100644 index 00000000..6076eac6 Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_2.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_3.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_3.png new file mode 100644 index 00000000..d146e61a Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_3.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_4.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_4.png new file mode 100644 index 00000000..54836d68 Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_battery_4.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_dolphin.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_dolphin.png index c51755b8..f8133659 100644 Binary files a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_dolphin.png and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_dolphin.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_in_charging.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_in_charging.png new file mode 100644 index 00000000..8f62a227 Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_in_charging.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_no_sim_card.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_no_sim_card.png new file mode 100644 index 00000000..efacee4d Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_no_sim_card.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_0.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_0.png new file mode 100644 index 00000000..adc704b0 Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_0.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_1.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_1.png new file mode 100644 index 00000000..2d23fbf0 Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_1.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_2.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_2.png new file mode 100644 index 00000000..4d1f2b5a Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_2.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_3.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_3.png new file mode 100644 index 00000000..0c79fc07 Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_3.png differ diff --git a/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_4.png b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_4.png new file mode 100644 index 00000000..e98ab174 Binary files /dev/null and b/2.sdk/project/Z5_LT_K7/gui/lv_watch/resource/png/dial_dolphin/icon_signal_4.png differ diff --git a/2.sdk/project/Z5_LT_K7/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h b/2.sdk/project/Z5_LT_K7/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h index 0ea2fbc4..3ca80a5a 100644 --- a/2.sdk/project/Z5_LT_K7/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h +++ b/2.sdk/project/Z5_LT_K7/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h @@ -179,6 +179,7 @@ #define __MMI_HEALTH_MEASURE_TEMPERATURE_SUPPORT__ //#define __MMI_APP_QRCODE_MENU_SUPPORT__ +//#define __MMI_APP_QRCODE_FROM_SERVER_SUPPORT__ #define __MMI_APP_QRCODE_AND_DEVICE_QRCODE_IN_ONE_SUPPORT__ #define __MMI_ZHSX_SUPPORT_NO_SIM_POWER_OFF__ @@ -198,6 +199,10 @@ #define __MMI_SOS_NUMBER_NAME_SUPPORT__ +#define __MMI_DIAL_WITH_SIGNAL_SUPPORT__ +#define __MMI_DIAL_WITH_CHARGE_STATE_SUPPORT__ + + #endif diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial.c b/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial.c index 4b2b5768..8a903052 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial.c @@ -68,6 +68,14 @@ static void dial_update_display(lv_obj_t * clock_cont) lv_clock_ext_t * clock_ext = (lv_clock_ext_t *)lv_obj_get_ext_attr(clock_cont); watch_dial_t * watch_dial = clock_ext->watch_dial; clock_ext->sec++; + +#ifdef __MMI_DIAL_WITH_SIGNAL_SUPPORT__ + if(0 == clock_ext->sec % 5) //update every 5 sec + { + dial_update_element(watch_dial, ELEMENT_TYPE_SIGNAL); + } +#endif + if(60 == clock_ext->sec) { clock_ext->sec = 0; clock_ext->min++; @@ -98,7 +106,8 @@ static void dial_update_display(lv_obj_t * clock_cont) #else dial_clean_canvas(false); uint8_t i = 0; - for(i = ELEMENT_TYPE_BLOOD_OXYGEN; i > ELEMENT_TYPE_INVILID; i--) { + //for(i = ELEMENT_TYPE_BLOOD_OXYGEN; i > ELEMENT_TYPE_INVILID; i--) { + for(i = ELEMENT_TYPE_MAX - 2; i > ELEMENT_TYPE_INVILID; i--) { dial_update_element(watch_dial, i); } diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial.h b/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial.h index 5f177bd9..a20328db 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial.h +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial.h @@ -71,8 +71,9 @@ enum { ELEMENT_TYPE_PRESSURE, //12 ELEMENT_TYPE_HEART_RATE, //13 ELEMENT_TYPE_BLOOD_OXYGEN, //14 - ELEMENT_TYPE_USER, - ELEMENT_TYPE_FULL_TIME, // YYYY/MM/DD HH:MM WEEK + ELEMENT_TYPE_USER, //15 + ELEMENT_TYPE_SIGNAL, //16 + ELEMENT_TYPE_BG_SWITCH, //15 /*except when updating all elements, always at the last*/ ELEMENT_TYPE_MAX }; @@ -146,6 +147,7 @@ enum { IMG_TYPE_BATTERY_UNIT, //103 IMG_TYPE_BATTERY_PERCENT, //104 IMG_TYPE_BATTERY_SIGN, //105 + IMG_TYPE_BATTERY_CHARGE, //106 IMG_TYPE_SLEEP_QUALITY = ELEMENT_TYPE_SLEEP_QUALITY * 10,//110 IMG_TYPE_SLEEP_QUALITY_VALUE,//111 @@ -171,6 +173,8 @@ enum { IMG_TYPE_USER_PNG = ELEMENT_TYPE_USER * 10, // display a static image + IMG_TYPE_SIGNAL = ELEMENT_TYPE_SIGNAL *10, + IMG_TYPE_BG = ELEMENT_TYPE_BG_SWITCH * 10, //150 }; typedef uint8_t watch_img_type_t; @@ -203,6 +207,8 @@ enum { LABEL_TYPE_HEART_RATE, //24 LABEL_TYPE_HEART_RATE_BPM, //25 LABEL_TYPE_BLOOD_OXYGEN, //26 + LABEL_TYPE_SIGNAL, //27 + }; typedef uint8_t watch_label_type_t; diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial_element.c b/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial_element.c index 0af77016..888d6a1a 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial_element.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/dial/dial_element.c @@ -646,6 +646,38 @@ static void dial_update_canvas_label(watch_element_base_t * base) //snprintf(infotxt, len, "%d", health.sleep); //dial_create_canvas_text(infotxt, label_dsc->label_font, label_dsc->text_color, pos.x + label_dsc->text_pos.x, pos.y + label_dsc->text_pos.y); break; + case LABEL_TYPE_SIGNAL: + #ifdef __MMI_DIAL_WITH_SIGNAL_SUPPORT__ + if(true == watch_modem_sim_present_check_req()) + { + MMI_MODEM_PLMN_RAT rat; + watch_modem_get_operator_req(&rat); + + /* 2G/4G icon */ + if(MMI_MODEM_PLMN_RAT_LTE == rat) + { + #ifdef MMI_PROJECT_Z5_DS_Z12_COMMON + sprintf(infotxt, "5G"); + #else + sprintf(infotxt, "4G"); + #endif + } + else if(MMI_MODEM_PLMN_RAT_UMTS == rat) + sprintf(infotxt, "3G"); + else if(MMI_MODEM_PLMN_RAT_GSM == rat) + sprintf(infotxt, "2G"); + else + sprintf(infotxt, ""); + } + else + { + sprintf(infotxt, ""); + } + + dial_create_canvas_text(infotxt, label_dsc->label_font, label_dsc->text_color, pos.x + label_dsc->text_pos.x, pos.y + label_dsc->text_pos.y); + #endif + break; + default: break; } @@ -663,6 +695,7 @@ static void dial_update_canvas_img(watch_element_base_t * base) int16_t angle = 0; hal_rtc_t tm; lv_point_t pos; + uint8_t index = 0; if(ELEMENT_TYPE_WEEK == base->element_type || ELEMENT_TYPE_DATE == base->element_type || ELEMENT_TYPE_TIME_HAND == base->element_type || ELEMENT_TYPE_TIME_DIGIT == base->element_type || ELEMENT_TYPE_AM_PM == base->element_type) { @@ -861,10 +894,22 @@ static void dial_update_canvas_img(watch_element_base_t * base) dial_update_canvas(sub_img, 0, pos.x + img_dsc->img_pos.x, pos.y + img_dsc->img_pos.y); break; case IMG_TYPE_BATTERY: - sub_img = dial_get_sub_img(img_dsc, Hal_Battery_Get_Status() / (100 / img_dsc->subimg->sub_img_cnt)); + //sub_img = dial_get_sub_img(img_dsc, Hal_Battery_Get_Status() / (100 / img_dsc->subimg->sub_img_cnt)); + index = status_get_battery_img_index(Hal_Battery_Get_Status()); + sub_img = dial_get_sub_img(img_dsc, index); if(sub_img) dial_update_canvas(sub_img, 0, pos.x + img_dsc->img_pos.x, pos.y + img_dsc->img_pos.y); break; + case IMG_TYPE_BATTERY_CHARGE: + #ifdef __MMI_DIAL_WITH_CHARGE_STATE_SUPPORT__ + if(HAL_CHG_CONNECTED == Hal_Charger_Get_Status()) + { + sub_img = dial_get_sub_img(img_dsc, 0); + if(sub_img) + dial_update_canvas(sub_img, 0, pos.x + img_dsc->img_pos.x, pos.y + img_dsc->img_pos.y); + } + #endif + break; case IMG_TYPE_DISTANCE_TENS: sub_img = dial_get_sub_img(img_dsc, record.km / 10); if(sub_img) @@ -960,6 +1005,16 @@ static void dial_update_canvas_img(watch_element_base_t * base) dial_clean_canvas(true); dial_update_all_element(dial_get_clock_cont()); break; + + case IMG_TYPE_SIGNAL: + #ifdef __MMI_DIAL_WITH_SIGNAL_SUPPORT__ + index = ((false == watch_modem_sim_present_check_req()) ? 6 : watch_modem_get_signal_bar_req()); + sub_img = dial_get_sub_img(img_dsc, index); + if(sub_img) + dial_update_canvas(sub_img, 0, pos.x + img_dsc->img_pos.x, pos.y + img_dsc->img_pos.y); + #endif + break; + default: break; } diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/status_and_setting/status_and_setting.c b/2.sdk/sdk/gui/lv_watch/lv_apps/status_and_setting/status_and_setting.c index cd5b461b..72e2f40e 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/status_and_setting/status_and_setting.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/status_and_setting/status_and_setting.c @@ -125,6 +125,23 @@ const char * status_get_battery_img(uint8_t level) return(ICON_STATUS_BATTERY_0); } +uint8_t status_get_battery_img_index(uint8_t level) +{ + if(level > LV_WATCH_LOWER_LIMIT_FOR_BATTERY_4) + return 4; + + if(level > LV_WATCH_LOWER_LIMIT_FOR_BATTERY_3) + return 3; + + if(level > LV_WATCH_LOWER_LIMIT_FOR_BATTERY_2) + return 2; + + if(level > LV_WATCH_LOWER_LIMIT_FOR_BATTERY_1) + return 1; + + return 0; +} + // temp interface for showing, will be delete after hal interface is ready extern uint8_t get_wifi(void); diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/status_and_setting/status_and_setting.h b/2.sdk/sdk/gui/lv_watch/lv_apps/status_and_setting/status_and_setting.h index 5352ae7b..b81b0e72 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/status_and_setting/status_and_setting.h +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/status_and_setting/status_and_setting.h @@ -48,6 +48,7 @@ typedef struct **********************/ lv_obj_t * status_and_setting_create(lv_obj_t * tilevew, uint16_t id); extern const char * status_get_battery_img(uint8_t level); +uint8_t status_get_battery_img_index(uint8_t level); extern void setting_set_backlight_intensity(uint8_t intensity, bool writenvm); extern void setting_set_ring_volume(uint8_t volume, bool writenvm, bool play); /********************** diff --git a/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.c b/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.c index fb2214f0..fb10d43f 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.c +++ b/2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.c @@ -799,6 +799,11 @@ static void mmi_watch_charging_prompt_cb(void *para) { lv_obj_del(activity_obj); } + +#ifdef __MMI_DIAL_WITH_CHARGE_STATE_SUPPORT__ + dial_clean_canvas(false); + dial_clock_update_immediately(); +#endif } static lv_obj_t * mmi_watch_charging_prompt_screen_create(lv_obj_t * activity_obj, uint32_t chg_status)