extern "C" {
#endif
+
+//******** audio resource ********
+
+#define AUDIO_POWER_ON "R:/audio/audio_power_on.mid"
+
+#define AUDIO_POWER_OFF "R:/audio/audio_power_off.mid"
+
+#define AUDIO_INCOMING_CALL "R:/audio/audio_incoming_call.mid"
+
+#define AUDIO_SETTING_AUDIO_MSG "R:/audio/audio_msg.amr"
+
+#define AUDIO_MSG "R:/audio/audio_msg.amr"
+
+#define AUDIO_ALARM "R:/audio/audio_alarm.mid"
+
+//#define AUDIO_SEARCH "R:/audio/audio_search.mid"
+
+#define AUDIO_WATCH_SEARCH "R:/audio/audio_watch_search.mp3"
+
+
+
+
+//******** image resource ********
+
//#define ICON_POWERON_LOGO "R:/png/poweron/img_poweron_logo.png"
/* Since partition_ops() limit, spi driver probe after ui_phase2, so ui_phase1 png use C file */
LV_IMG_DECLARE(img_poweron_logo);
#if USE_POWER_ON_GIF
#define ANIM_POWER_ON "R:/gif/anim_power_on.gif"
#endif
-#define AUDIO_POWER_ON "R:/audio/audio_power_on.mid"
#if USE_POWER_OFF_GIF
#define ANIM_POWER_OFF "R:/gif/anim_power_off.gif"
#endif
-#define AUDIO_POWER_OFF "R:/audio/audio_power_off.mid"
//upay
//#define AUDIO_POWER_OFF "R:/audio/audio_power_off.mid"
//#endif
-#define AUDIO_SETTING_AUDIO_MSG "R:/audio/audio_msg.amr"
//status and setting
#define ICON_STATUS_MUTE "R:/png/status_and_setting/icon_mute.png"
#define ICON_CHECK_TEST "R:/png/engineer/icon_check_test.png"
#define ICON_UNCHECK "R:/png/engineer/icon_uncheck.png"
-#define AUDIO_INCOMING_CALL "R:/audio/audio_incoming_call.mid"
//pedometer
#if USE_LV_WATCH_PEDOMETER!= 0
// audio
//#define AUDIO_POWER_ON "R:/audio/audio_power_on.mid"
//#define AUDIO_POWER_OFF "R:/audio/audio_power_off.mid"
-#define AUDIO_MSG "R:/audio/audio_msg.amr"
#define ICON_REMIND "R:/png/common/icon_remind.png"
//alarm
#define ANIM_ALARM "R:/gif/anim_alarm.gif"
-#define AUDIO_ALARM "R:/audio/audio_alarm.mid"
//quick function
#if USE_LV_WATCH_QUICK_FUNCTION != 0
#define ANIM_SEARCH "R:/gif/anim_search.gif"
#endif
-#define AUDIO_SEARCH "R:/audio/audio_search.mid"
//exercise
#if USE_LV_WATCH_EXERCISE != 0
//#define ICON_TEMPERATURE_MEASURE_BG "R:/png/health_measure/icon_temperature_measure_bg.png"
#endif
-#define AUDIO_WATCH_SEARCH "R:/audio/audio_watch_search.mp3"
#define ICON_CALL_OUTGOING "R:/png/call/ICON_CALL_OUTGOING.png"
#define ICON_CALL_INCOMING "R:/png/call/ICON_CALL_INCOMING.png"
if(AUDIO_CTRL_PRIORITY_SEARCH == priority)
{
- if (AUDIO_CTRL_PRIORITY_SEARCH == Hal_Audio_Manage_Start_Req(AUDIO_CTRL_PRIORITY_SEARCH, mmi_watch_search_audio_ctrl_callback))
- {
- Hal_NFFS_File_Play_Repeat(AUDIO_SEARCH, HAL_AUDIO_SPK_LEVEL_MAX);
- }
+ //if (AUDIO_CTRL_PRIORITY_SEARCH == Hal_Audio_Manage_Start_Req(AUDIO_CTRL_PRIORITY_SEARCH, mmi_watch_search_audio_ctrl_callback))
+ //{
+ // Hal_NFFS_File_Play_Repeat(AUDIO_WATCH_SEARCH, HAL_AUDIO_SPK_LEVEL_MAX);
+ //}
}
else if(AUDIO_CTRL_PRIORITY_SEARCH > priority)
{
SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: nv read fail\n", __FUNCTION__, __LINE__);
_lv_memset_00(&s_do_not_disturb_data, sizeof(nv_watch_do_not_disturb_t));
}
+
+#if 0
+ s_do_not_disturb_data.item_info[0].on_off = 1;
+ s_do_not_disturb_data.item_info[0].begin_hour = 1;
+ s_do_not_disturb_data.item_info[0].begin_min = 0;
+ s_do_not_disturb_data.item_info[0].end_hour = 8;
+ s_do_not_disturb_data.item_info[0].end_min = 0;
+ s_do_not_disturb_data.item_info[0].week_bitmap = 0xff;
+
+ s_do_not_disturb_data.item_info[1].on_off = 1;
+ s_do_not_disturb_data.item_info[1].begin_hour = 8;
+ s_do_not_disturb_data.item_info[1].begin_min = 33;
+ s_do_not_disturb_data.item_info[1].end_hour = 10;
+ s_do_not_disturb_data.item_info[1].end_min = 55;
+ s_do_not_disturb_data.item_info[1].week_bitmap = 0xff;
+
+ s_do_not_disturb_data.item_info[2].on_off = 1;
+ s_do_not_disturb_data.item_info[2].begin_hour = 11;
+ s_do_not_disturb_data.item_info[2].begin_min = 0;
+ s_do_not_disturb_data.item_info[2].end_hour = 23;
+ s_do_not_disturb_data.item_info[2].end_min = 23;
+ s_do_not_disturb_data.item_info[2].week_bitmap = 0xff;
+#endif
}
void mmi_watch_do_not_disturb_data_set(nv_watch_do_not_disturb_t * data)
uint16_t t_cur_mins = 0;
uint8_t i = 0;
+ if(false == watch_modem_sim_present_check_req())
+ {
+ return false;
+ }
+
Hal_Rtc_Gettime(&cur_time);
t_cur_mins = cur_time.tm_hour * 60 + cur_time.tm_min;
return false;
}
-static void mmi_watch_do_not_disturb_screen_prepare_destory(lv_obj_t * activity_obj)
+static void * mmi_watch_do_not_disturb_ext_get(void)
{
- SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
-
- lv_watch_png_cache_all_free();
-}
-
-static lv_obj_t * mmi_watch_do_not_disturb_screen_create(lv_obj_t * activity_obj)
-{
- SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
-
+ lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_DO_NOT_DISTURB);
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)
{
- lv_watch_activity_ext_t activity_ext;
- memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t));
- activity_ext.actId = ACT_ID_DO_NOT_DISTURB;
- activity_ext.create = NULL;
- activity_ext.prepare_destory = mmi_watch_do_not_disturb_screen_prepare_destory;
- activity_obj = lv_watch_creat_activity_obj(&activity_ext);
- LV_ASSERT_MEM(activity_obj);
- if(activity_obj == NULL)
- {
- return(NULL);
- }
+ void * ext = lv_obj_get_ext_attr(watch_obj);
+ return ext;
}
- lv_obj_t * obj = lv_watch_obj_create(activity_obj);
- LV_ASSERT_MEM(obj);
- if(obj == NULL)
- return NULL;
-
- lv_watch_obj_set_anim_mode(obj, LV_WATCH_ANIM_NO);
-
- lv_obj_t * cont = lv_cont_create(obj, NULL);
- lv_obj_set_size(cont, LV_HOR_RES, LV_VER_RES);
- lv_obj_set_style_local_bg_color(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
- //lv_obj_set_style_local_radius(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 30);
- lv_obj_align(cont, NULL, LV_ALIGN_CENTER, 0, 0);
- lv_obj_set_click(cont, false);
- //lv_watch_obj_add_element(cont);
+ return NULL;
+}
+static void mmi_watch_do_not_disturb_screen_display(lv_obj_t * cont)
+{
hal_rtc_t cur_time = {0};
char t_time_str[16] = {0};
lv_label_set_text_id(label_prompt, WATCH_TEXT_ID_FORBIDDEN_PERIOD);
lv_obj_add_style(label_prompt, LV_LABEL_PART_MAIN, &lv_watch_font26);
lv_label_set_align(label_prompt, LV_LABEL_ALIGN_CENTER);
- lv_obj_align(label_prompt, label_time, LV_ALIGN_OUT_BOTTOM_MID, 0, 20);
+ lv_obj_align(label_prompt, label_time, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
uint8_t i = 0;
uint8_t j = 0;
lv_label_set_text(label, t_time_str);
lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font26);
lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
- lv_obj_align(label, label_prompt, LV_ALIGN_OUT_BOTTOM_MID, 0, 8 + (t_height + 8) * j);
+ lv_obj_align(label, label_prompt, LV_ALIGN_OUT_BOTTOM_MID, 0, 5 + (t_height + 5) * j);
j++;
}
}
+}
+
+static void mmi_watch_do_not_disturb_task_cb(lv_task_t * task)
+{
+ lv_do_not_disturb_ext_t * ext = (lv_do_not_disturb_ext_t * )mmi_watch_do_not_disturb_ext_get();
+ if(NULL == ext)
+ return;
+
+ lv_obj_clean(ext->cont);
+ mmi_watch_do_not_disturb_screen_display(ext->cont);
+}
+
+static void mmi_watch_do_not_disturb_screen_prepare_destory(lv_obj_t * activity_obj)
+{
+ SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ lv_watch_png_cache_all_free();
+
+ lv_do_not_disturb_ext_t * ext = (lv_do_not_disturb_ext_t * )mmi_watch_do_not_disturb_ext_get();
+ if(NULL != ext->refresh_task)
+ {
+ lv_task_del(ext->refresh_task);
+ ext->refresh_task = NULL;
+ }
+}
+
+static lv_obj_t * mmi_watch_do_not_disturb_screen_create(lv_obj_t * activity_obj)
+{
+ SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ 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_DO_NOT_DISTURB;
+ activity_ext.create = NULL;
+ activity_ext.prepare_destory = mmi_watch_do_not_disturb_screen_prepare_destory;
+ activity_obj = lv_watch_creat_activity_obj(&activity_ext);
+ LV_ASSERT_MEM(activity_obj);
+ if(activity_obj == NULL)
+ {
+ return(NULL);
+ }
+ }
+
+ lv_obj_t * obj = lv_watch_obj_create(activity_obj);
+ LV_ASSERT_MEM(obj);
+ if(obj == NULL)
+ return NULL;
+
+ lv_watch_obj_set_anim_mode(obj, LV_WATCH_ANIM_NO);
+
+ lv_do_not_disturb_ext_t * ext = (lv_do_not_disturb_ext_t * )lv_obj_allocate_ext_attr(obj, sizeof(lv_do_not_disturb_ext_t));
+
+ lv_obj_t * cont = lv_cont_create(obj, NULL);
+ lv_obj_set_size(cont, LV_HOR_RES, LV_VER_RES);
+ lv_obj_set_style_local_bg_color(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
+ //lv_obj_set_style_local_radius(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 30);
+ lv_obj_align(cont, NULL, LV_ALIGN_CENTER, 0, 0);
+ lv_obj_set_click(cont, false);
+ //lv_watch_obj_add_element(cont);
+ ext->cont = cont;
+
+ mmi_watch_do_not_disturb_screen_display(cont);
+ ext->refresh_task = lv_task_create(mmi_watch_do_not_disturb_task_cb, 2000, LV_TASK_PRIO_HIGH, NULL);
return obj;
}