{
if(LV_EVENT_CLICKED == e)
{
+ #ifdef __MMI_ZHSX_SUPPORT__
+ mmi_protocol_action_unbind();
+ uos_sleep(10);
+ #endif
+
lv_obj_t * par = lv_obj_get_parent(btn);
lv_obj_clean(par);
lv_obj_t * label = lv_label_create(par, NULL);
uos_sleep(10);
- //app_adaptor_wake_up_short_time();
- if(0 == Hal_Pm_Get_State())
- {
- Hal_Pm_WakeUp();
- }
- else
- {
- watch_set_lcd_status(true);
- watch_wakeup_time_reset();
- }
+ mmi_watch_wake_up();
if(NULL == activity_obj)
{
lv_obj_set_width(label_reset, LV_HOR_RES * 2 / 3);
if(lv_obj_get_base_dir(obj) == LV_BIDI_DIR_RTL){
- lv_obj_align(btn_restart, obj, LV_ALIGN_CENTER, 20, -40); // -20);
- lv_obj_align(btn_reset, btn_restart, LV_ALIGN_OUT_BOTTOM_RIGHT, 0, 30); // 10);
+ lv_obj_align(btn_restart, obj, LV_ALIGN_CENTER, 20, -50); // -20);
+ lv_obj_align(btn_reset, btn_restart, LV_ALIGN_OUT_BOTTOM_RIGHT, 0, 40); // 10);
} else {
- lv_obj_align(btn_restart, obj, LV_ALIGN_CENTER, -20, -40); // -20);
- lv_obj_align(btn_reset, btn_restart, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 30); // 10);
+ lv_obj_align(btn_restart, obj, LV_ALIGN_CENTER, -20, -50); // -20);
+ lv_obj_align(btn_reset, btn_restart, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 40); // 10);
}
return obj;
#ifdef __MMI_ZHSX_SUPPORT__
void mmi_watch_restart(void)
{
- //app_adaptor_wake_up_short_time();
- if(0 == Hal_Pm_Get_State())
- {
- Hal_Pm_WakeUp();
- }
- else
- {
- watch_set_lcd_status(true);
- watch_wakeup_time_reset();
- }
+ mmi_watch_wake_up();
+
lv_watch_go_home();
#if USE_LV_BLUETOOTH != 0
bt_power_off();
{
printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
- //app_adaptor_wake_up_short_time();
- if(0 == Hal_Pm_Get_State())
- {
- Hal_Pm_WakeUp();
- }
- else
- {
- watch_set_lcd_status(true);
- watch_wakeup_time_reset();
- }
+ mmi_watch_wake_up();
shutdown_confirm_btn_action(NULL, LV_EVENT_CLICKED);
}
#endif
s_sos_dial_index = 0;
ext->gif_task_p = lv_task_create(sos_task, 100, LV_TASK_PRIO_MID, (void *)ext->gif_info);
- app_adaptor_send_sos_info_req();
-
return activity_obj;
}
lv_watch_go_home();
lv_watch_png_cache_all_free();
+ mmi_protocol_action_sos();
+
lv_obj_t * obj = sos_create(NULL);
if(obj == NULL)
return LV_RES_OK;
typedef enum
{
WECHAT_CREATED_FROM_APP,
- WECHAT_CREATED_FROM_ALBUM,
- WECHAT_CREATED_FROM_IMGVIEWER,
+ //WECHAT_CREATED_FROM_ALBUM,
+ //WECHAT_CREATED_FROM_IMGVIEWER,
WECHAT_CREATED_FROM_MAX,
}lv_wechat_created_from_e;
lv_obj_t * cont;
lv_obj_t * list; // chat list
lv_obj_t * label_no_msg; // mo msg prompt
- lv_obj_t * img_emo;
+ //lv_obj_t * img_emo;
lv_obj_t * img_record; // record button
lv_obj_t * delete_bg; // delete msg
return result;
}
+bool wechat_msg_item_is_sending(void)
+{
+ bool result = false;
+
+ if(lv_watch_get_activity_obj(ACT_ID_WECHAT_SENDING))
+ {
+ result = true;
+ }
+
+ return result;
+}
+
void wechat_receive_audio_play_audio_ctrl_callback(AUDIO_CTRL_PRIORITY priority)
{
WECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: priority=%d\n", __FUNCTION__, __LINE__, priority);
{
Hal_NFFS_File_Play_End();
Hal_Audio_Manage_End_Ind(AUDIO_CTRL_PRIORITY_5);
+ Hal_Vibrator_Play_End();
}
}
Hal_NFFS_File_Play_End();
Hal_Audio_Manage_End_Ind(AUDIO_CTRL_PRIORITY_5);
+ Hal_Vibrator_Play_End();
}
bool wechat_msg_receive_from_server(char * data_buff, int data_buff_len, nv_wechat_msg_type_e type)
if(false == mmi_active_screen_is_prohibit_interrupted()
&& false == wechat_msg_voice_is_playing()
&& false == wechat_msg_voice_is_recording()
+ && false == wechat_msg_item_is_sending()
)
{
- //prompt
- app_adaptor_wake_up_short_time();
+ mmi_watch_wake_up();
if(AUDIO_CTRL_PRIORITY_5 == Hal_Audio_Manage_Start_Req(AUDIO_CTRL_PRIORITY_5, wechat_receive_audio_play_audio_ctrl_callback))
{
- Hal_NFFS_File_Play_Onetime(AUDIO_WECHAT_RECEIVE, (HAL_SPEAKER_GAIN)query_current_volume(), wechat_receive_audio_play_over_cb, 0);
+ Hal_NFFS_File_Play_Onetime(AUDIO_WECHAT_RECEIVE, (HAL_SPEAKER_GAIN)query_current_volume(), wechat_receive_audio_play_over_cb, NULL);
}
Hal_Vibrator_Play_Onetime(NULL, 1000);
{
wechat_main_screen_refresh();
}
+ else
+ {
+ wechat_create_event_cb(NULL, LV_EVENT_CLICKED);
+ }
}
return true;
}
}
-void wechat_msg_same_priority_task_end(void)
-{
-#if 0
- bool wakeup = false;
-
- if(wakeup)
- {
- if(0 == Hal_Pm_Get_State())
- {
- Hal_Pm_WakeUp();
- watch_set_lcd_status(true);
- }
- else
- {
- watch_set_lcd_status(true);
- watch_wakeup_time_reset();
- }
- }
-#endif
-}
-
void wechat_msg_recording_audio_ctrl_callback(AUDIO_CTRL_PRIORITY priority)
{
WECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: priority=%d\n", __FUNCTION__, __LINE__, priority);
lv_wechat_msg_list_ext_t * list_page_ext = lv_obj_get_ext_attr(list_page);
lv_obj_t * scrl = lv_page_get_scrl(list_page);
lv_obj_t * last_obj = lv_obj_get_child(scrl, NULL);
- lv_coord_t obj_h = lv_obj_get_style_pad_top(scrl, LV_STATE_DEFAULT);
+ lv_coord_t obj_y = 0;
if(NULL != last_obj)
{
- obj_h = lv_obj_get_y(last_obj) + lv_obj_get_height(last_obj) + lv_obj_get_style_pad_inner(scrl, LV_STATE_DEFAULT);
+ obj_y = lv_obj_get_y(last_obj) + lv_obj_get_height(last_obj) + lv_obj_get_style_pad_inner(scrl, LV_STATE_DEFAULT);
+ }
+ else
+ {
+ obj_y = lv_obj_get_style_pad_top(scrl, LV_STATE_DEFAULT);
}
if(0 != strlen(time_str))
//lv_obj_set_base_dir(obj, LV_BIDI_DIR_LTR);
lv_label_set_text(obj, time_str);
lv_obj_add_style(obj, LV_LABEL_PART_MAIN, &list_page_ext->style_label_time);
- lv_obj_align(obj, scrl, LV_ALIGN_IN_TOP_MID, 0, obj_h);
+ lv_obj_align(obj, scrl, LV_ALIGN_IN_TOP_MID, 0, obj_y);
last_obj = obj;
- obj_h = lv_obj_get_y(last_obj) + lv_obj_get_height(last_obj) + lv_obj_get_style_pad_inner(scrl, LV_STATE_DEFAULT);
+ obj_y = lv_obj_get_y(last_obj) + lv_obj_get_height(last_obj) + lv_obj_get_style_pad_inner(scrl, LV_STATE_DEFAULT);
}
- WECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: msg_type=%d, file=%s, size=%d\n", __FUNCTION__, __LINE__,
- msg_item->msg_type, msg_item->msg_data_full_file_name, msg_item->msg_data_size);
+ WECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: msg_type=%d,file=%s,size=%d,obj_y=%d\n", __FUNCTION__, __LINE__,
+ msg_item->msg_type, msg_item->msg_data_full_file_name, msg_item->msg_data_size, obj_y);
switch(msg_item->msg_type)
{
case WECHAT_MSG_TYPE_VOICE:
+ lv_obj_t * unread_img = lv_img_create(list_page, NULL);
obj = lv_img_create(list_page, NULL);
lv_wechat_msg_list_item_ext_t * list_item_ext = lv_obj_allocate_ext_attr(obj, sizeof(lv_wechat_msg_list_item_ext_t));
list_item_ext->item_index = i;
{
lv_obj_add_style(len_label, LV_LABEL_PART_MAIN, &list_page_ext->style_label_len_ui);
lv_img_set_src(obj, ICON_WECHAT_MY_VOICE_ITEM_BG);
- lv_obj_align(obj, scrl, LV_ALIGN_IN_TOP_RIGHT, -10, obj_h);
+ lv_obj_align(obj, scrl, LV_ALIGN_IN_TOP_RIGHT, -10, obj_y);
if(0 < duration)
{
lv_img_set_src(play_img, ICON_WECHAT_MY_VOICE_ITEM_PLAYING3);
}
lv_obj_align(play_img, obj, LV_ALIGN_IN_LEFT_MID, 15, 0);
lv_obj_align(len_label, play_img, LV_ALIGN_OUT_RIGHT_MID, 25, 0);
+ lv_obj_del(unread_img);
}
else // msg from other
{
lv_obj_add_style(len_label, LV_LABEL_PART_MAIN, &list_page_ext->style_label_len_other);
lv_img_set_src(obj, ICON_WECHAT_OTHER_VOICE_ITEM_BG);
- lv_obj_align(obj, scrl, LV_ALIGN_IN_TOP_LEFT, 10, obj_h);
+ lv_obj_align(obj, scrl, LV_ALIGN_IN_TOP_LEFT, 10, obj_y);
if(0 < duration)
{
lv_img_set_src(play_img, ICON_WECHAT_OTHER_VOICE_ITEM_PLAYING3);
lv_obj_align(len_label, play_img, LV_ALIGN_OUT_LEFT_MID, -25, 0);
if(1 == msg_item->unread_flag)
{
- list_item_ext->unread_img = lv_img_create(list_page, NULL);
- lv_img_set_src(list_item_ext->unread_img, ICON_WECHAT_UNREAD_FLAG);
- lv_obj_align(list_item_ext->unread_img, obj, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
+ lv_img_set_src(unread_img, ICON_WECHAT_UNREAD_FLAG);
+ lv_obj_align(unread_img, obj, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
+ list_item_ext->unread_img = unread_img;
+ }
+ else
+ {
+ lv_obj_del(unread_img);
}
}
mmi_protocol_action_send_get_weather(&s_watch_location_data);
break;
- case MMI_WATCH_LOCATION_ALERT:
-
+ case MMI_WATCH_LOCATION_WARNING:
+ LOCATION_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+ mmi_protocol_action_send_warning_info(&s_watch_location_data);
break;
default:
}
}
-void mmi_watch_location_mission_timed_location_action(void)
+static void mmi_watch_location_mission_action(MMI_WATCH_LOCATION_TYPE_E location_type)
{
- LOCATION_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
-
- mmi_watch_location_mission_list_node_add(MMI_WATCH_LOCATION_UD);
+ LOCATION_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: type=%d\n", __FUNCTION__, __LINE__, location_type);
+
+ if(MMI_WATCH_LOCATION_NONE >= location_type || MMI_WATCH_LOCATION_MAX <= location_type)
+ {
+ LOCATION_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+ return;
+ }
+
+ mmi_watch_location_mission_list_node_add(location_type);
mmi_watch_location_mission_start();
}
+void mmi_watch_location_mission_timed_location_action(void)
+{
+ mmi_watch_location_mission_action(MMI_WATCH_LOCATION_UD);
+}
+
void mmi_watch_location_mission_current_location_action(void)
{
- LOCATION_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
-
- mmi_watch_location_mission_list_node_add(MMI_WATCH_LOCATION_CRUD);
- mmi_watch_location_mission_start();
+ mmi_watch_location_mission_action(MMI_WATCH_LOCATION_CRUD);
}
void mmi_watch_location_mission_get_weather_action(void)
{
- LOCATION_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
-
- mmi_watch_location_mission_list_node_add(MMI_WATCH_LOCATION_WT);
- mmi_watch_location_mission_start();
+ mmi_watch_location_mission_action(MMI_WATCH_LOCATION_WT);
+}
+
+void mmi_watch_location_mission_warning_action(void)
+{
+ mmi_watch_location_mission_action(MMI_WATCH_LOCATION_WARNING);
}
#endif
MMI_WATCH_LOCATION_UD, // ud
MMI_WATCH_LOCATION_CRUD, // crud
MMI_WATCH_LOCATION_WT, //weather
- MMI_WATCH_LOCATION_ALERT, // alert
+ MMI_WATCH_LOCATION_WARNING, // warning
+
MMI_WATCH_LOCATION_MAX,
}MMI_WATCH_LOCATION_TYPE_E;
void mmi_watch_location_mission_timed_location_action(void);
void mmi_watch_location_mission_current_location_action(void);
void mmi_watch_location_mission_get_weather_action(void);
-
+void mmi_watch_location_mission_warning_action(void);
bool result = false;
MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_ACTION_TALK_MESSAGE;
+/*
if(NULL == next_buff || 0 == next_buff_len)
{
PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
mmi_unicode_hex_str_to_utf8_str(next_buff, next_buff_len, t_buff, &t_len);
result = wechat_msg_receive_from_server(t_buff, t_len, WECHAT_MSG_TYPE_TEXT);
+*/
return result;
}
return true;
}
+ if(NULL != lv_watch_get_activity_obj(ACT_ID_SHUTDOWN))
+ {
+ return true;
+ }
+
+ if(NULL != lv_watch_get_activity_obj(ACT_ID_RESTART))
+ {
+ return true;
+ }
+
+ if(NULL != lv_watch_get_activity_obj(ACT_ID_ALARM))
+ {
+ return true;
+ }
+
#if USE_LV_WATCH_SOS != 0
- obj = lv_watch_get_activity_obj(ACT_ID_SOS);
- if(NULL != obj)
+ if(NULL != lv_watch_get_activity_obj(ACT_ID_SOS))
{
return true;
}
#endif
#if USE_LV_WATCH_UPGRADE != 0
- obj = lv_watch_get_activity_obj(ACT_ID_UPGRADE);
- if(NULL != obj)
+ if(NULL != lv_watch_get_activity_obj(ACT_ID_UPGRADE))
{
return true;
}
return false;
}
+void mmi_watch_wake_up(void)
+{
+ if(0 == Hal_Pm_Get_State()) {
+ Hal_Pm_WakeUp();
+ } else {
+ watch_wakeup_lcd(false);
+ }
+}
static TIMER_ID s_watch_search_timer_id = NULL;
{
SUNDRY_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: event=%d\n", __FUNCTION__, __LINE__, e);
- if(LV_EVENT_PRESSED == e || LV_EVENT_CLICKED == e)
+ if(LV_EVENT_CLICKED == e)
{
mmi_watch_search_screen_destroy(); // lv_watch_del_interface(ACT_ID_WATCH_SEARCHING);
}
return NULL;
}
+ lv_watch_png_cache_all_free();
if(NULL == activity_obj)
{
lv_watch_activity_ext_t activity_ext = {0};
mmi_watch_search_timer_start();
- //watch_wakeup_lcd(true);
- if(0 == Hal_Pm_Get_State())
- {
- Hal_Pm_WakeUp();
- watch_set_lcd_status(true);
- }
- else
- {
- watch_set_lcd_status(true);
- watch_wakeup_time_reset();
- }
+ mmi_watch_wake_up();
watch_set_suspend_enable(false, ACT_ID_WATCH_SEARCHING, 0);
return obj;
bool mmi_active_screen_is_prohibit_interrupted(void);
+void mmi_watch_wake_up(void);
#define MMI_WATCH_SEARCH_DURATION (1000 * 60) // ms
*/
static void indev_keypad_proc(lv_indev_t * i, lv_indev_data_t * data)
{
+ printf("[@CHENG_DEBUG][%s][%d]: key=%d\n", __FUNCTION__, __LINE__, data->key);
+
#if LV_USE_GROUP
if(data->state == LV_INDEV_STATE_PR && i->proc.wait_until_release) return;
lv_watch_go_back();
}
}
+
+ printf("[@CHENG_DEBUG][%s][%d]: key=%d,event=%d\n", __FUNCTION__, __LINE__, arg->data.key, arg->key_event);
}
lv_indev_t *keypad_dev;