From: CCC <2393524978@qq.com> Date: Fri, 15 Sep 2023 10:01:58 +0000 (+0800) Subject: gengxin X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=aeb6035d7da34e1c050cf636a0e41ab62f39a25e;p=mirrors%2FASR3603_Z5.git gengxin --- diff --git a/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c b/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c index 311dd581..d661d974 100644 --- a/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c +++ b/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c @@ -15,6 +15,7 @@ static void * timing_control_timer = NULL; static uint8_t s_step_clear_flag = 0; +static uint8_t s_last_time_min = 0; #define TIMING_TIMER_INTERVAL (20 * 1000) // ms @@ -26,6 +27,7 @@ static void timing_timer_callback(uint32_t param) printf("[@CHENG_DEBUG][%s][%d]: %d,%d,%d\n", __FUNCTION__, __LINE__, time.tm_hour, time.tm_min, time.tm_sec); + // pedometer if(0 == time.tm_min && 0 == time.tm_hour) { if(0 == s_step_clear_flag) @@ -38,9 +40,17 @@ static void timing_timer_callback(uint32_t param) { s_step_clear_flag = 0; } - asl_pedometer_steps_save(false); + // disturb +#ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ + if(time.tm_min != s_last_time_min) + { + s_last_time_min = time.tm_min; + mmi_watch_do_not_disturb_screen_check(); + } +#endif + uos_timer_stop(timing_control_timer); uos_timer_start(timing_control_timer, MS_TO_TICKS(TIMING_TIMER_INTERVAL), 0, timing_timer_callback, NULL); } @@ -49,6 +59,11 @@ void app_adaptor_timing_control_init(void) { uos_timer_create(&timing_control_timer); uos_timer_start(timing_control_timer, MS_TO_TICKS(TIMING_TIMER_INTERVAL), 0, timing_timer_callback, NULL); + +#ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ + mmi_watch_do_not_disturb_screen_check(); +#endif + } #else diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/phone/phone_api.c b/2.sdk/sdk/gui/lv_watch/lv_apps/phone/phone_api.c index 6c9962ec..51f8d345 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/phone/phone_api.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/phone/phone_api.c @@ -305,6 +305,16 @@ void watch_modem_call_response_clip(int32_t index, MMI_Modem_Call_Response_Clip_ return; } +#ifdef __MMI_ZHSX_SUPPORT_DO_NOT_DISTURB__ + if(true == mmi_watch_is_in_do_not_disturb_time()) + { + printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + Hal_Mem_Free(clip->number); + Hal_Mem_Free(clip); + return; + } +#endif + printf("%s: index=%d, number=%s, type=%d\n", __func__, index, clip->number, clip->type); //stop all timers diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/setting/setting_main_menu_switch.c b/2.sdk/sdk/gui/lv_watch/lv_apps/setting/setting_main_menu_switch.c new file mode 100644 index 00000000..022d86b8 --- /dev/null +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/setting/setting_main_menu_switch.c @@ -0,0 +1,311 @@ + + + +#include "lv_watch.h" + +#ifdef __MMI_MAIN_MENU_SWITCH_MENU__ + +#if 1 + +void * setting_main_menu_switch_ext_get(void) +{ + lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_SETTING_MAIN_MENU_SWITCH); + 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; +} + +static void setting_main_menu_switch_prepare_destory(lv_obj_t * activity_obj) +{ + lv_watch_png_cache_all_free(); +} + +static void setting_main_menu_switch_event_cb(lv_obj_t * obj, lv_event_t event) +{ + if(LV_EVENT_CLICKED != event) + return; + + lv_main_menu_switch_obj_ext_t * ext = (lv_main_menu_switch_obj_ext_t *)setting_main_menu_switch_ext_get(); + if(NULL == ext) + return NULL; + + bool is_change_style = false; + MMI_MAIN_MENU_STYLE_E style_value = mmi_main_menu_style_get(); + + printf("[@CHENG_DEBUG][%s][%d]: obj=0x%x\n", __FUNCTION__, __LINE__, obj); + printf("[@CHENG_DEBUG][%s][%d]: style0=0x%x,style1=0x%x\n", __FUNCTION__, __LINE__, ext->style0, ext->style1); + if((MMI_MAIN_MENU_STYLE_ONE_PAGE == style_value) && (ext->style1 == obj)) + { + mmi_main_menu_style_set(MMI_MAIN_MENU_STYLE_LIST); + is_change_style = true; + } + else if((MMI_MAIN_MENU_STYLE_LIST == style_value) && (ext->style0 == obj)) + { + mmi_main_menu_style_set(MMI_MAIN_MENU_STYLE_ONE_PAGE); + is_change_style = true; + } + + if(true == is_change_style) + { + lv_watch_obj_cleanup(obj); + setting_main_menu_switch_prepare_destory(NULL); + printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + lv_watch_go_home(); + launcher_recreate(); + } +} + +static lv_obj_t * setting_main_menu_switch_create(lv_obj_t * activity_obj) +{ + if(NULL == activity_obj) { + lv_watch_activity_ext_t activity_ext; + memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t)); + activity_ext.actId = ACT_ID_SETTING_MAIN_MENU_SWITCH; + activity_ext.create = setting_main_menu_switch_create; + activity_ext.prepare_destory = setting_main_menu_switch_prepare_destory; + activity_obj = lv_watch_creat_activity_obj(&activity_ext); + LV_ASSERT_MEM(activity_obj); + if(NULL == activity_obj) { + return NULL; + } + } + + lv_obj_t * obj = lv_watch_obj_create(activity_obj); + if(NULL == obj) + return NULL; + + lv_main_menu_switch_obj_ext_t * ext = (lv_main_menu_switch_obj_ext_t *)lv_obj_allocate_ext_attr(obj, sizeof(lv_main_menu_switch_obj_ext_t)); + if(NULL == ext) + return NULL; + + lv_obj_t * title_label = lv_label_create(obj, NULL); + lv_obj_add_style(title_label, LV_LABEL_PART_MAIN, &lv_watch_font20_gray); + lv_label_set_align(title_label, LV_LABEL_ALIGN_CENTER); + lv_obj_set_click(title_label, false); + lv_label_set_text_id(title_label, WATCH_TEXT_ID_MAIN_MENU_SWITCH); + lv_obj_align(title_label, obj, LV_ALIGN_IN_TOP_MID, 0, 10); + + // + lv_obj_t * style_btn_0 = lv_btn_create(obj, NULL); + lv_obj_add_style(style_btn_0, LV_BTN_PART_MAIN, &lv_style_transp_fit); + lv_btn_set_fit(style_btn_0, LV_FIT_TIGHT); + lv_btn_set_layout(style_btn_0, LV_LAYOUT_ROW_MID); + lv_obj_set_event_cb(style_btn_0, setting_main_menu_switch_event_cb); + ext->style0 = style_btn_0; + lv_watch_obj_add_element(style_btn_0); + + lv_obj_t * style_img_0 = lv_img_create(style_btn_0, NULL); + lv_img_set_src(style_img_0, ICON_ITEM_NOT_SELECTED); + + lv_obj_t* style_label_0 = lv_label_create(style_btn_0, NULL); + lv_obj_add_style(style_label_0, LV_LABEL_PART_MAIN, &lv_watch_font26); // &lv_watch_font20); + lv_label_set_text_id(style_label_0, WATCH_TEXT_ID_MAIN_MENU_SWITCH_ONE_PAGE); + + // + lv_obj_t * style_btn_1 = lv_btn_create(obj, style_btn_0); + lv_obj_set_event_cb(style_btn_1, setting_main_menu_switch_event_cb); + ext->style1 = style_btn_1; + lv_watch_obj_add_element(style_btn_1); + + lv_obj_t * style_img_1 = lv_img_create(style_btn_1, NULL); + lv_img_set_src(style_img_1, ICON_ITEM_NOT_SELECTED); + + lv_obj_t* style_label_1 = lv_label_create(style_btn_1, NULL); + lv_obj_add_style(style_label_1, LV_LABEL_PART_MAIN, &lv_watch_font26); // &lv_watch_font20); + lv_label_set_text_id(style_label_1, WATCH_TEXT_ID_MAIN_MENU_SWITCH_LIST); + //lv_label_set_long_mode(label_reset, LV_LABEL_LONG_BREAK); + //lv_obj_set_width(label_reset, LV_HOR_RES * 2 / 3); + + MMI_MAIN_MENU_STYLE_E style_value = mmi_main_menu_style_get(); + if(MMI_MAIN_MENU_STYLE_ONE_PAGE == style_value) + lv_img_set_src(style_img_0, ICON_ITEM_SELECTED); + else if(MMI_MAIN_MENU_STYLE_LIST == style_value) + lv_img_set_src(style_img_1, ICON_ITEM_SELECTED); + + lv_obj_align(style_btn_0, obj, LV_ALIGN_CENTER, -20, -40); + lv_obj_align(style_btn_1, style_btn_0, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 40); + + return obj; +} + +void setting_main_menu_switch_create_event_cb(lv_obj_t * btn, lv_event_t event) +{ + (void)btn; + + if(LV_EVENT_CLICKED != event) + return; + + lv_watch_png_cache_all_free(); + + lv_obj_t * obj = setting_main_menu_switch_create(NULL); + LV_ASSERT_MEM(obj); + if(obj == NULL) + return; +} + +#else + +void * setting_main_menu_switch_ext_get(void) +{ + lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_SETTING_MAIN_MENU_SWITCH); + 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; +} + +static void setting_main_menu_switch_prepare_destory(lv_obj_t * activity_obj) +{ + lv_watch_png_cache_all_free(); +} + +static void setting_main_menu_switch_event_cb(lv_obj_t * obj, lv_event_t event) +{ + if(event != LV_EVENT_CLICKED) + return; + + lv_main_menu_switch_obj_ext_t * ext = (lv_main_menu_switch_obj_ext_t *)setting_main_menu_switch_ext_get(); + if(NULL == ext) + return NULL; + + uint8_t value = lv_watch_get_free_num(obj); + switch(value) + { + case 0: + lv_checkbox_set_checked(ext->style0, true); + lv_checkbox_set_checked(ext->style1, false); + break; + + case 1: + lv_checkbox_set_checked(ext->style0, false); + lv_checkbox_set_checked(ext->style1, true); + break; + + default: + break; + } + +#if defined(__MMI_MAIN_MENU_ONE_PAGE_STYLE__) && defined(__MMI_MAIN_MENU_LIST_STYLE__) + mmi_main_menu_style_set((0 == value) ? MMI_MAIN_MENU_STYLE_ONE_PAGE : MMI_MAIN_MENU_STYLE_LIST); +#else + +#endif + + lv_watch_obj_cleanup(obj); + setting_main_menu_switch_prepare_destory(NULL); + printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + lv_watch_go_home(); + launcher_recreate(); +} + +static lv_obj_t * setting_main_menu_switch_create(lv_obj_t * activity_obj) +{ + if(NULL == activity_obj) { + lv_watch_activity_ext_t activity_ext; + memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t)); + activity_ext.actId = ACT_ID_SETTING_MAIN_MENU_SWITCH; + activity_ext.create = setting_main_menu_switch_create; + activity_ext.prepare_destory = setting_main_menu_switch_prepare_destory; + activity_obj = lv_watch_creat_activity_obj(&activity_ext); + LV_ASSERT_MEM(activity_obj); + if(NULL == activity_obj) { + return NULL; + } + } + + lv_obj_t * obj = lv_watch_obj_create(activity_obj); + LV_ASSERT_MEM(obj); + if(NULL == obj) + return NULL; + + lv_main_menu_switch_obj_ext_t * ext = (lv_main_menu_switch_obj_ext_t *)lv_obj_allocate_ext_attr(obj, sizeof(lv_main_menu_switch_obj_ext_t)); + if(NULL == ext) + return NULL; + + lv_obj_t * content = lv_cont_create(obj, NULL); + lv_obj_set_size(content, lv_obj_get_width(obj), lv_obj_get_height(obj)); + //lv_obj_add_style(content, LV_CONT_PART_MAIN, &lv_watch_style_transp); + lv_obj_set_style_local_bg_color(content, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_cont_set_layout(content, LV_LAYOUT_OFF); + lv_obj_set_click(content, false); + lv_obj_align(content, NULL, LV_ALIGN_CENTER, 0, 0); + //lv_watch_obj_add_element(content); + + lv_obj_t * title_label = lv_label_create(content, NULL); + lv_obj_add_style(title_label, LV_LABEL_PART_MAIN, &lv_watch_font20_gray); + lv_label_set_align(title_label, LV_LABEL_ALIGN_CENTER); + lv_obj_set_click(title_label, false); + lv_label_set_text_id(title_label, WATCH_TEXT_ID_MAIN_MENU_SWITCH); + lv_obj_align(title_label, content, LV_ALIGN_IN_TOP_MID, 0, 10); + + lv_obj_t * checkbox_0 = lv_checkbox_create(content, NULL); + lv_obj_clean_style_list(checkbox_0, LV_CHECKBOX_PART_BULLET); + lv_obj_add_style(checkbox_0, LV_CHECKBOX_PART_BULLET, &lv_watch_cb_styles); + lv_obj_set_event_cb(checkbox_0, setting_main_menu_switch_event_cb); + lv_obj_align(checkbox_0, content, LV_ALIGN_IN_TOP_MID, 0, 80); + lv_watch_set_free_num(checkbox_0, 0); + ext->style0 = checkbox_0; + + lv_obj_t * checkbox_1 = lv_checkbox_create(content, checkbox_0); + lv_obj_set_event_cb(checkbox_1, setting_main_menu_switch_event_cb); + lv_obj_align(checkbox_1, checkbox_0, LV_ALIGN_OUT_BOTTOM_MID, 0, 30); + lv_watch_set_free_num(checkbox_1, 1); + ext->style1 = checkbox_1; + +#if defined(__MMI_MAIN_MENU_ONE_PAGE_STYLE__) && defined(__MMI_MAIN_MENU_LIST_STYLE__) + lv_checkbox_set_text(ext->style0, lv_lang_get_text(WATCH_TEXT_ID_MAIN_MENU_SWITCH_ONE_PAGE)); + lv_checkbox_set_text(ext->style1, lv_lang_get_text(WATCH_TEXT_ID_MAIN_MENU_SWITCH_LIST)); + + MMI_MAIN_MENU_STYLE_E style_value = mmi_main_menu_style_get(); + if(MMI_MAIN_MENU_STYLE_ONE_PAGE == style_value) + { + lv_checkbox_set_checked(ext->style0, true); + lv_checkbox_set_checked(ext->style1, false); + } + else + { + lv_checkbox_set_checked(ext->style0, false); + lv_checkbox_set_checked(ext->style1, true); + } +#else + +#endif + + return obj; +} + +void setting_main_menu_switch_create_event_cb(lv_obj_t * btn, lv_event_t event) +{ + (void)btn; + + if(LV_EVENT_CLICKED != event) + return; + + lv_watch_png_cache_all_free(); + + lv_obj_t * obj = setting_main_menu_switch_create(NULL); + LV_ASSERT_MEM(obj); + if(obj == NULL) + return; +} +#endif + +#endif + diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/setting/setting_main_menu_switch.h b/2.sdk/sdk/gui/lv_watch/lv_apps/setting/setting_main_menu_switch.h new file mode 100644 index 00000000..1cbeccb6 --- /dev/null +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/setting/setting_main_menu_switch.h @@ -0,0 +1,41 @@ + + + +#ifndef __SETTING_MAIN_MENU_SWITCH_H__ +#define __SETTING_MAIN_MENU_SWITCH_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif //__cplusplus + +#ifdef LV_CONF_INCLUDE_SIMPLE +#include "lvgl.h" +#include "lv_watch_conf.h" +#else +#include "../../../lvgl/lvgl.h" +#include "../../../lv_watch_conf.h" +#endif + +#ifdef __MMI_MAIN_MENU_SWITCH_MENU__ + +typedef struct +{ + lv_watch_obj_ext_t lv_watch_obj; + /*New data for this type */ + lv_obj_t * style0; + lv_obj_t * style1; +} lv_main_menu_switch_obj_ext_t; + + +void setting_main_menu_switch_create_event_cb(lv_obj_t * btn, lv_event_t event); + +#endif + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif + diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.c b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.c index f325634a..7cc6dd67 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.c +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.c @@ -9,6 +9,7 @@ static MMI_PROTOCOL_SMS_PARSE_STRUCT s_sms_parse_info[] = { {"SETIP:", 6, mmi_protocol_sms_parse_set_ip}, + {"GETIP", 5, mmi_protocol_sms_parse_get_ip}, {"SETMD5KEY:", 10, mmi_protocol_sms_parse_set_md5_key}, {"SETDEVICENAME:", 14, mmi_protocol_sms_parse_set_device_name}, {"SETUPLOAD:", 10, mmi_protocol_sms_parse_set_upload}, @@ -147,6 +148,31 @@ bool mmi_protocol_sms_parse_set_ip(char * fixed_str, char * data, char * number) return true; } + +//GETIP //api.xcloudtech.com:9000 +bool mmi_protocol_sms_parse_get_ip(char * fixed_str, char * data, char * number) +{ + SMS_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: num=%s\n", __FUNCTION__, __LINE__, number); + SMS_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %s\n", __LINE__, data); + + if(0 != strlen(data)) + { + SMS_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + return false; + } + + char content_str[NV_WATCH_HOST_NAME_LEN_MAX + 16] = {0}; + char * t_host_name = mmi_watch_host_name_get(); + int t_host_port = mmi_watch_host_port_get(); + + sprintf(content_str, "GETIP:%s:%d", t_host_name, t_host_port); + + mmi_protocol_sms_parse_sms_reply(content_str, NULL, number, NULL); + + return true; +} + + // SETMD5KEY:xyz890 static char s_md5_key[NV_PROTOCOL_MD5_KEY_LEN_MAX] = {0}; static void mmi_protocol_sms_set_md5_key_cb(watch_app_adp_sms_send_result_type_t result) diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.h b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.h index b5a60ba5..1b9ded28 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.h +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.h @@ -41,6 +41,7 @@ typedef struct bool mmi_protocol_sms_content_parse(char * sms_content, char * sms_send_number); bool mmi_protocol_sms_parse_set_ip(char * fixed_str, char * data, char * number); +bool mmi_protocol_sms_parse_get_ip(char * fixed_str, char * data, char * number); bool mmi_protocol_sms_parse_set_md5_key(char * fixed_str, char * data, char * number); bool mmi_protocol_sms_parse_set_device_name(char * fixed_str, char * data, char * number); bool mmi_protocol_sms_parse_set_upload(char * fixed_str, char * data, char * number);