_mp_app_system_settings_changed_cb(system_settings_key_e key, void *user_data)
{
EVENT_TRACE("");
+ DEBUG_TRACE("System Settings changed cb. Key is : %d", key);
+ struct appdata *ad = user_data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ int lock_state = SYSTEM_SETTINGS_LOCK_STATE_UNLOCK;
+
+ if (key == SYSTEM_SETTINGS_KEY_LOCK_STATE) {
+ system_settings_get_value_int(key, &lock_state);
+ if (lock_state == SYSTEM_SETTINGS_LOCK_STATE_UNLOCK && ad->player_state == PLAY_STATE_PAUSED) {
+ /* Hide Lock Screen Handle */
+ ad->idle_unlocked = true;
+ mp_ecore_timer_del(ad->lockmini_idle_timer);
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_hide(ad);
+ }
+ } else if (lock_state == SYSTEM_SETTINGS_LOCK_STATE_LOCK && ad->player_state == PLAY_STATE_PAUSED) {
+ /* Starting Timer */
+ ad->idle_unlocked = false;
+ mp_ecore_timer_del(ad->lockmini_idle_timer);
+ ad->lockmini_idle_timer = ecore_timer_add((2 * 60), _mp_lockscreenmini_hide_music_controller, ad);
+ }
+ }
}
#ifdef MP_FEATURE_PERSONAL_PAGE
storage_state_e state;
storage_get_state(ad->externalStorageId, &state);
}
-
+ ad->idle_unlocked = false;
bool res = TRUE;
retcode = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE, _mp_app_system_settings_changed_cb, ad);
if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
- ERROR_TRACE("Fail to register KEY_MUSIC_MENU_CHANGE key callback [%d]", retcode);
+ ERROR_TRACE("Fail to register SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE key callback [%d]", retcode);
+ res = FALSE;
+ }
+ retcode = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_LOCK_STATE, _mp_app_system_settings_changed_cb, ad);
+ if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+ ERROR_TRACE("Fail to register SYSTEM_SETTINGS_KEY_LOCK_STATE key callback [%d]", retcode);
res = FALSE;
}
+
char *path = app_get_data_path();
char now_playing_id[1024] = {0};
if (play) {
ad->paused_by_user = FALSE;
+ ad->idle_unlocked = false;
if (ad->player_state == PLAY_STATE_PAUSED) {
int error = mp_player_mgr_resume(ad);
Evas_Object *lockmini_progress_bar;
Ecore_Timer *lockmini_progress_timer;
Ecore_Timer *lockmini_button_timer;
+ Ecore_Timer *lockmini_idle_timer;
+ bool idle_unlocked;
bool lockmini_visible;
bool b_lockmini_show;
bool progress_dragging;
bool mp_lockscreenmini_visible_get(struct appdata *ad);
void mp_lockscreenmini_on_lcd_event(struct appdata *ad, bool lcd_on);
void mp_lockscreenmini_update_progressbar(struct appdata *ad);
+Eina_Bool _mp_lockscreenmini_hide_music_controller(void *data);
#endif
MP_CHECK_VAL(!ad->is_lcd_off, -1);
/* Not show minicontrol when current track not exsit */
MP_CHECK_VAL(ad->current_track_info, -1);
+ MP_CHECK_VAL(ad->idle_unlocked, -1);
ad->b_lockmini_show = TRUE;
mp_lockscreenmini_update(ad);
_mp_lockscreenmini_set_repeate_image((void *)ad, repeat_state);
}
-
#endif
+
+Eina_Bool _mp_lockscreenmini_hide_music_controller(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_hide(ad);
+ }
+ ad->lockmini_idle_timer = NULL;
+ return EINA_FALSE;
+}
+
static void _mp_lockscreenmini_play_pause_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
DEBUG_TRACE("play/pause button clicked");
struct appdata *ad = mp_util_get_appdata();
MP_CHECK(ad);
+ int lock_state = SYSTEM_SETTINGS_LOCK_STATE_UNLOCK;
if (ad->player_state == PLAY_STATE_PLAYING) {
+ ad->idle_unlocked = true;
+ system_settings_get_value_int(SYSTEM_SETTINGS_KEY_LOCK_STATE, &lock_state);
+ DEBUG_TRACE("lock state : %d", lock_state);
+ if (lock_state == SYSTEM_SETTINGS_LOCK_STATE_LOCK) {
+ ad->lockmini_idle_timer = ecore_timer_add((10), _mp_lockscreenmini_hide_music_controller, ad);
+ }
mp_play_control_play_pause(ad, false);
} else {
+ ad->idle_unlocked = false;
+ if (ad->lockmini_idle_timer) {
+ mp_ecore_timer_del(ad->lockmini_idle_timer);
+ }
mp_play_control_play_pause(ad, true);
}
}