.animation_type = 0,
};
+static void __visibility_changed_cb(void *data, Evas_Object *obj, void *event)
+{
+ __D("Visibility changed");
+ int visibility = (int)(void *)event;
+
+ if (!visibility)
+ boot_exit();
+}
+
+
static void __win_del_cb(void *data, Evas_Object * obj, void *event_info)
{
__D("Window delete event received");
__E("Failed to create a new window");
return NULL;
}
- elm_win_aux_hint_add(win, "wm.comp.win.always.selective.mode", "1");
elm_win_role_set(win, "alert");
- efl_util_set_notification_window_level(win, EFL_UTIL_NOTIFICATION_LEVEL_HIGH);
+ efl_util_set_notification_window_level(win, EFL_UTIL_NOTIFICATION_LEVEL_TOP);
+ evas_object_smart_callback_add(s_animation.win, "visibility,changed", __visibility_changed_cb, NULL);
+ elm_win_aux_hint_add(win, "wm.comp.win.always.selective.mode", "0");
evas_object_smart_callback_add(win, "delete-request", __win_del_cb, NULL);
elm_win_screen_size_get(win, NULL, NULL, &s_animation.win_w, &s_animation.win_h);
__block_display();
} else {
__D("EXIT on BOOTING");
- if (vconf_set_int(VCONFKEY_BOOT_ANIMATION_FINISHED, 1) != 0)
- __E("Failed to set finished set");
-
boot_exit();
}
return ECORE_CALLBACK_CANCEL;
{
if (s_animation.animation_type == TYPE_OFF) {
__D("TYPE OFF");
- if (vconf_set_int(VCONFKEY_BOOT_ANIMATION_FINISHED, 1) != 0)
- __E("Failed to set finished set");
-
ecore_timer_add(1, __end_cb, (void *)TYPE_OFF);
} else {
__D("TYPE_ON");
- __end_cb((void *)TYPE_ON);
+ efl_util_set_notification_window_level(s_animation.win, EFL_UTIL_NOTIFICATION_LEVEL_NONE);
+ ecore_timer_add(10, __end_cb, (void *)TYPE_ON);
}
+
+ if (vconf_set_int(VCONFKEY_BOOT_ANIMATION_FINISHED, 1) != 0)
+ __E("Failed to set finished set");
}
static Evas_Object * __create_layout(Evas_Object *win, const char *file_name)