GPollFD *gpollfd;
};
-/* define it temp */
-#if 0
-struct ucred {
- pid_t pid; /* PID of sending process. */
- uid_t uid; /* UID of sending process. */
- gid_t gid; /* GID of sending process. */
-};
-#endif
-
#define PHLOCK_SOCK_PREFIX "/tmp/phlock"
#define PHLOCK_SOCK_MAXBUFF 65535
-#define PHLOCK_APP_CMDLINE "/usr/apps/org.tizen.phone-lock/bin/phone-lock"
-#define MDM_APP_CMDLINE "/usr/bin/mdm-server"
+#define PHLOCK_APP_CMDLINE "/usr/apps/org.tizen.lockscreen/bin/lockscreen"
#define PHLOCK_UNLOCK_CMD "unlock"
#define PHLOCK_LAUNCH_CMD "launch_phone_lock"
#define LAUNCH_INTERVAL 100*1000
vconf_get_int(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, &lock_type);
if (lock_type == SETTING_SCREEN_LOCK_TYPE_PASSWORD ||
- lock_type == SETTING_SCREEN_LOCK_TYPE_SIMPLE_PASSWORD ||
- lock_type == SETTING_SCREEN_LOCK_TYPE_FACE_AND_VOICE) {
+ lock_type == SETTING_SCREEN_LOCK_TYPE_SIMPLE_PASSWORD) {
ret = 1;
} else if (lock_type == SETTING_SCREEN_LOCK_TYPE_SWIPE ||
lock_type == SETTING_SCREEN_LOCK_TYPE_MOTION) {
}
if (val == TRUE) {
- /* password verified */
- /* lockd_unlock_lockscreen(lockd); */
lockd_window_mgr_finish_lock(lockd->lockw);
vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_UNLOCK);
}
LOCKD_DBG("%s, %d", __func__, __LINE__);
lockd_window_set_window_effect(lockd->lockw, lockd->lock_app_pid,
event);
- //FIXME sometimes show cb is not called.
lockd_window_set_window_property(lockd->lockw, lockd->lock_app_pid,
event);
int r = 0;
WRITE_FILE_LOG("%s", "Launch lockscreen in starter");
- vconf_get_int(VCONFKEY_TELEPHONY_SIM_FACTORY_MODE, &factory_mode);
- if (factory_mode == VCONFKEY_TELEPHONY_SIM_FACTORYMODE_ON) {
- LOCKD_DBG("Factory mode ON, lock screen can't be launched..!!");
- return 0;
- }
- vconf_get_int(VCONFKEY_TESTMODE_SCREEN_LOCK, &test_mode);
- if (test_mode == VCONFKEY_TESTMODE_SCREEN_LOCK_DISABLE) {
- LOCKD_DBG("Test mode ON, lock screen can't be launched..!!");
- return 0;
- }
- /* Check lock screen application is already exit, no checking phone-lock */
if (lockd_process_mgr_check_lock(lockd->lock_app_pid) == TRUE) {
LOCKD_DBG("Lock Screen App is already running.");
r = lockd_process_mgr_restart_lock(lockd->lock_type);
}
}
- /* Get Call state */
vconf_get_int(VCONFKEY_CALL_STATE, &call_state);
if (call_state != VCONFKEY_CALL_OFF) {
LOCKD_DBG
lockd_process_mgr_start_normal_lock(lockd, lockd_app_dead_cb);
if (lockd->lock_app_pid < 0)
return 0;
- /* reset window mgr before start win mgr */
lockd_window_mgr_finish_lock(lockd->lockw);
lockd_window_mgr_ready_lock(lockd, lockd->lockw, lockd_app_create_cb,
lockd_app_show_cb);
} else if (lockd->lock_type == 1) {
vconf_set_bool(VCONFKEY_LOCKSCREEN_PHONE_LOCK_VERIFICATION, FALSE);
- /* Check phone lock application is already exit */
if (lockd_process_mgr_check_lock(lockd->phone_lock_app_pid) == TRUE) {
LOCKD_DBG("phone lock App is already running.");
if (lockd->request_recovery == FALSE)
return 1;
}
+ lockd->phone_lock_app_pid = lockd_process_mgr_start_phone_lock();
- /* TO DO : Recovery should be checked by EAS interface later */
- /* After getting EAS interface, we should remove lockd->request_recovery */
- if (lockd->request_recovery == TRUE) {
- lockd->phone_lock_app_pid =
- lockd_process_mgr_start_recovery_lock();
- lockd->request_recovery = FALSE;
- } else {
- lockd->phone_lock_app_pid =
- lockd_process_mgr_start_phone_lock();
- }
phone_lock_pid = lockd->phone_lock_app_pid;
LOCKD_DBG("%s, %d, phone_lock_pid = %d", __func__, __LINE__,
phone_lock_pid);
lockd_window_set_phonelock_pid(lockd->lockw, phone_lock_pid);
-
- /* Set lock state */
- //ecore_idler_add(lockd_set_lock_state_cb, NULL); //don't set lock state for lcd on.
} else {
lockd->lock_app_pid =
lockd_process_mgr_start_lock(lockd, lockd_app_dead_cb,
lockd->lock_type);
if (lockd->lock_app_pid < 0)
return 0;
- /* reset window mgr before start win mgr */
lockd_window_mgr_finish_lock(lockd->lockw);
lockd_window_mgr_ready_lock(lockd, lockd->lockw, lockd_app_create_cb,
lockd_app_show_cb);
}
} else if (!strncmp(cmd, PHLOCK_LAUNCH_CMD, strlen(cmd))) {
LOCKD_DBG("cmd is %s\n", PHLOCK_LAUNCH_CMD);
-
- if (!strncmp(cmdline, MDM_APP_CMDLINE, strlen(cmdline))) {
- LOCKD_DBG("cmdline is %s \n", MDM_APP_CMDLINE);
- if (vconf_get_int(VCONFKEY_EAS_RECOVERY_MODE, &recovery_state) < 0) {
- LOCKD_ERR("Cannot get %s vconfkey", VCONFKEY_EAS_RECOVERY_MODE);
- lockd->request_recovery = FALSE;
- } else if (recovery_state == 1) {
- LOCKD_DBG("recovery mode : %d \n", recovery_state);
- lockd->request_recovery = TRUE;
- } else {
- lockd->request_recovery = FALSE;
- }
- }
-
if (_lockd_get_lock_type() == 1) {
lockd->lock_type = 1;
lockd_launch_app_lockscreen(lockd);
LOCKD_DBG("%s, %d", __func__, __LINE__);
- /* register vconf notification */
lockd_init_vconf(lockd);
- /* Initialize socket */
r = lockd_init_sock(lockd);
if (r < 0) {
LOCKD_DBG("lockd init socket failed: %d", r);
}
- /* Create internal 1x1 window */
+
lockd->lockw = lockd_window_init();
aul_listen_app_dead_signal(lockd_app_dead_cb, data);
lock_type = _lockd_get_lock_type();
if (lock_type == 1) {
- if (vconf_get_int(VCONFKEY_EAS_RECOVERY_MODE, &recovery_state) < 0) {
- LOCKD_ERR("Cannot get %s vconfkey", VCONFKEY_EAS_RECOVERY_MODE);
- lockd->request_recovery = FALSE;
- } else if (recovery_state == 1) {
- LOCKD_DBG("recovery mode : %d \n", recovery_state);
- lockd->request_recovery = TRUE;
- } else {
- lockd->request_recovery = FALSE;
- }
+ lockd->request_recovery = FALSE;
} else if (lock_type == 2) {
lock_type = 0;
}
#include "lockd-process-mgr.h"
#include "starter-vconf.h"
-#define LOCKD_DEFAULT_PKG_NAME "org.tizen.livebox-lock"
-#define LOCKD_DEFAULT_LOCKSCREEN "org.tizen.draglock"
-#define LOCKD_PHONE_LOCK_PKG_NAME "org.tizen.phone-lock"
+#define LOCKD_DEFAULT_PKG_NAME "org.tizen.lockscreen"
+#define LOCKD_DEFAULT_LOCKSCREEN "org.tizen.lockscreen"
+#define LOCKD_PHONE_LOCK_PKG_NAME "org.tizen.lockscreen"
#define RETRY_MAXCOUNT 30
#define RELAUNCH_INTERVAL 100*1000
{
char *lock_app_path = NULL;
int pid;
- bundle *b = NULL;
lock_app_path = _lockd_process_mgr_get_pkgname();
-
- b = bundle_create();
-
- if (phone_lock_state == 1)
- bundle_add(b, "mode", "lock");
- else
- bundle_add(b, "mode", "normal");
-
- pid = aul_launch_app(lock_app_path, b);
+ pid = aul_launch_app(lock_app_path, NULL);
LOCKD_DBG("Reset : aul_launch_app(%s, NULL), pid = %d", lock_app_path,
pid);
- if (b)
- bundle_free(b);
-
return pid;
}
-int
-lockd_process_mgr_start_lock(void *data, int (*dead_cb) (int, void *),
+int lockd_process_mgr_start_lock(void *data, int (*dead_cb) (int, void *),
int phone_lock_state)
{
char *lock_app_path = NULL;
int pid;
- bundle *b = NULL;
lock_app_path = _lockd_process_mgr_get_pkgname();
- b = bundle_create();
-
- if (phone_lock_state == 1)
- bundle_add(b, "mode", "lock");
- else
- bundle_add(b, "mode", "normal");
-
int i;
for (i=0; i<RETRY_MAXCOUNT; i++)
{
- pid = aul_launch_app(lock_app_path, b);
+ pid = aul_launch_app(lock_app_path, NULL);
LOCKD_DBG("aul_launch_app(%s), pid = %d", lock_app_path, pid);
usleep(RELAUNCH_INTERVAL);
} else if (pid == AUL_R_ERROR) {
LOCKD_DBG("launch[%s] is failed, launch default lock screen", lock_app_path);
- pid = aul_launch_app(LOCKD_DEFAULT_LOCKSCREEN, b);
+ pid = aul_launch_app(LOCKD_DEFAULT_LOCKSCREEN, NULL);
if (pid >0) {
- if (b)
- bundle_free(b);
return pid;
}
} else {
- if (b)
- bundle_free(b);
return pid;
}
}
int lockd_process_mgr_start_phone_lock(void)
{
int pid = 0;
- bundle *b = NULL;
- b = bundle_create();
-
-#if 1
- bundle_add(b, "pwlock_type", "running_lock");
- bundle_add(b, "window_type", "alpha");
-
- pid = aul_launch_app(LOCKD_PHONE_LOCK_PKG_NAME, b);
+ pid = aul_launch_app(LOCKD_PHONE_LOCK_PKG_NAME, NULL);
LOCKD_DBG("aul_launch_app(%s, b), pid = %d", LOCKD_PHONE_LOCK_PKG_NAME,
pid);
-#else
- bundle_add(b, "mode", "lock");
-
- pid = aul_launch_app(LOCKD_DEFAULT_PKG_NAME, b);
-
- LOCKD_DBG("aul_launch_app(%s, NULL), pid = %d", LOCKD_DEFAULT_PKG_NAME,
- pid);
-#endif
- if (b)
- bundle_free(b);
-
return pid;
}
-int lockd_process_mgr_start_recovery_lock(void)
-{
- int pid = 0;
- bundle *b = NULL;
-
- b = bundle_create();
-
- bundle_add(b, "pwlock_type", "recovery_lock");
- bundle_add(b, "window_type", "alpha");
-
- pid = aul_launch_app(LOCKD_PHONE_LOCK_PKG_NAME, b);
- LOCKD_DBG("aul_launch_app(%s, b), pid = %d", LOCKD_PHONE_LOCK_PKG_NAME,
- pid);
- if (b)
- bundle_free(b);
-
- return pid;
-}
-
-void
-lockd_process_mgr_terminate_lock_app(int lock_app_pid, int state)
+void lockd_process_mgr_terminate_lock_app(int lock_app_pid, int state)
{
LOCKD_DBG
("lockd_process_mgr_terminate_lock_app, state:%d\n",
{
char buf[128];
LOCKD_DBG("%s, %d", __func__, __LINE__);
- /* Check pid is invalid. */
+
if (aul_app_get_pkgname_bypid(pid, buf, sizeof(buf)) < 0) {
LOCKD_DBG("no such pkg by pid %d\n", pid);
} else {
int phone_lock_app_pid;
};
-Eina_Bool volume_key_expire_cb(void *pData)
-{
- int api_ret = 0;
- int vconf_val = 0;
- lockw_data *lockw = (lockw_data *) pData;
-
- _DBG("volume_key_expire_cb..!!");
-
- lockw->volume_key_cnt = 0;
-
- return ECORE_CALLBACK_CANCEL;
-}
-
static Eina_Bool _lockd_window_key_down_cb(void *data, int type, void *event)
{
Ecore_Event_Key *ev = event;
- lockw_data *lockw = (lockw_data *) data;
- int vconf_val = 0;
- int ret = 0;
LOCKD_DBG("Key Down CB : %s", ev->keyname);
- ret = vconf_get_int(VCONFKEY_MESSAGE_SOS_STATE, &vconf_val);
-
- if(ret != 0)
- {
- LOCKD_ERR("_lockd_window_key_down_cb:VCONFKEY_MESSAGE_SOS_STATE FAILED");
- return ECORE_CALLBACK_CANCEL;
- }
-
- if (!strcmp(ev->keyname, KEY_VOLUMEUP) || !strcmp(ev->keyname, KEY_VOLUMEDOWN)) {
- if (vconf_val == VCONFKEY_MESSAGE_SOS_IDLE) {
- if (lockw->volume_key_cnt == 0) {
- lockw->volume_key_cnt++;
- LOCKD_DBG("Volume key is pressed %d times", lockw->volume_key_cnt);
- lockw->pTimerId = ecore_timer_add(SOS_KEY_INTERVAL, volume_key_expire_cb, lockw);
- } else if (lockw->volume_key_cnt == SOS_KEY_COUNT) {
- LOCKD_DBG("SOS msg invoked");
- if (lockw->pTimerId != NULL) {
- ecore_timer_del(lockw->pTimerId);
- lockw->pTimerId = NULL;
- lockw->volume_key_cnt =0;
- vconf_set_int(VCONFKEY_MESSAGE_SOS_STATE, VCONFKEY_MESSAGE_SOS_INVOKED);
- ecore_x_pointer_grab(lockw->lock_x_window);
- }
- } else {
- if (lockw->pTimerId != NULL) {
- ecore_timer_del(lockw->pTimerId);
- lockw->pTimerId = NULL;
- lockw->volume_key_cnt++;
- LOCKD_DBG("Volume key is pressed %d times", lockw->volume_key_cnt);
- lockw->pTimerId = ecore_timer_add(SOS_KEY_INTERVAL, volume_key_expire_cb, lockw);
- }
- }
- }
- } else if (!strcmp(ev->keyname, KEY_HOME)) {
- if (vconf_val != VCONFKEY_MESSAGE_SOS_IDLE) {
- LOCKD_DBG("Home key is pressed set to idle", lockw->volume_key_cnt);
- vconf_set_int(VCONFKEY_MESSAGE_SOS_STATE, VCONFKEY_MESSAGE_SOS_IDLE);
- ecore_x_pointer_ungrab();
- }
- }
-
return ECORE_CALLBACK_PASS_ON;
}
return ret;
}
-static Evas_Object *lockd_create_main_window(const char *pkgname)
-{
- Evas_Object *eo = NULL;
- int w, h;
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- eo = elm_win_add(NULL, pkgname, ELM_WIN_BASIC);
- if (eo) {
- elm_win_title_set(eo, pkgname);
- elm_win_borderless_set(eo, EINA_TRUE);
- ecore_x_window_size_get(ecore_x_window_root_first_get(),
- &w, &h);
- LOCKD_DBG("%s, %d, w = %d, h = %d", __func__, __LINE__, w, h);
- evas_object_resize(eo, w, h);
- }
- return eo;
-}
-
-static Evas_Object *lockd_create_main_layout(Evas_Object * parent)
-{
- Evas_Object *ly = NULL;
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- ly = elm_layout_add(parent);
- if (!ly) {
- LOCKD_ERR("UI layout add error");
- return NULL;
- }
-
- elm_layout_theme_set(ly, "layout", "application", "default");
- evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_show(ly);
-
- elm_win_resize_object_add(parent, ly);
- elm_win_indicator_mode_set(parent, ELM_WIN_INDICATOR_SHOW);
-
- return ly;
-}
-
-static void _lockd_phone_lock_alpha_ug_layout_cb(ui_gadget_h ug,
- enum ug_mode mode, void *priv)
-{
- lockw_data *lockw = (lockw_data *) priv;;
- Evas_Object *base = NULL;
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- if (!ug || !lockw)
- return;
-
- base = ug_get_layout(ug);
- if (!base)
- return;
-
- switch (mode) {
- case UG_MODE_FULLVIEW:
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_win_resize_object_add(lockw->main_win, base);
- ug_disable_effect(ug); /* not use effect when destroy phone lock UG */
- evas_object_show(base);
- break;
- case UG_MODE_FRAMEVIEW:
- /* elm_layout_content_set(lockw->main_layout, "content", base); *//* not used */
- break;
- default:
- break;
- }
-}
-
-static void _lockd_phone_lock_alpha_ug_result_cb(ui_gadget_h ug,
- service_h service, void *priv)
-{
- int alpha;
- const char *val1 = NULL, *val2 = NULL;
- lockw_data *lockw = (lockw_data *) priv;;
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- if (!ug || !lockw)
- return;
-
- service_get_extra_data(service, "name", &val1);
-
- LOCKD_DBG("val1 = %s", val1);
-
- if (val1 == NULL)
- return;
-
- service_get_extra_data(service, "result", &val2);
-
- if (val2 == NULL)
- return;
-
- LOCKD_DBG("val2 = %s", val2);
-
-
- if (!strcmp(val1, "phonelock-ug")) {
- if (!strcmp(val2, "success")) {
- LOCKD_DBG("password verified. Unlock!\n");
- }
- } else if (!strcmp(val1, "phonelock-ug-alpha")) {
- alpha = atoi(val2);
- }
-
- if(val1 != NULL)
- free(val1);
-
- if(val2 != NULL)
- free(val2);
-}
-
-static void _lockd_phone_lock_alpha_ug_destroy_cb(ui_gadget_h ug,
- void *priv)
-{
- lockw_data *lockw = (lockw_data *) priv;;
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- if (!ug || !lockw)
- return;
-
- ug_destroy(ug);
- ug = NULL;
- lockd_destroy_ug_window(lockw);
- vconf_set_bool(VCONFKEY_LOCKSCREEN_PHONE_LOCK_VERIFICATION, TRUE);
-}
-
-static void _lockd_ug_window_set_win_prop(void *data, int type)
-{
- Ecore_X_Window w;
- Evas_Object *win = NULL;
- lockw_data *lockw = (lockw_data *) data;;
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- if (!lockw)
- return;
-
- win = lockw->main_win;
-
- w = elm_win_xwindow_get(win);
-
- if (type == ECORE_X_WINDOW_TYPE_NORMAL) {
- ecore_x_netwm_window_type_set(w, ECORE_X_WINDOW_TYPE_NORMAL);
- } else if (type == ECORE_X_WINDOW_TYPE_NOTIFICATION) {
- ecore_x_netwm_window_type_set(w,
- ECORE_X_WINDOW_TYPE_NOTIFICATION);
- utilx_set_system_notification_level(ecore_x_display_get(), w,
- UTILX_NOTIFICATION_LEVEL_NORMAL);
- }
-}
-
-static void _lockd_ug_window_set_key_grab(void *data)
-{
- Ecore_X_Window w;
- int ret = 0;
- Evas_Object *win = NULL;
- lockw_data *lockw = (lockw_data *) data;;
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- if (!lockw)
- return;
-
- win = lockw->main_win;
- w = elm_win_xwindow_get(win);
- ret = utilx_grab_key(ecore_x_display_get(), w, KEY_HOME, EXCLUSIVE_GRAB);
- if(ret)
- {
- LOCKD_ERR("Key grab error : KEY_HOME");
- }
- ret = utilx_grab_key(ecore_x_display_get(), w, KEY_CONFIG, TOP_POSITION_GRAB);
- if(ret)
- {
- LOCKD_ERR("Key grab error : KEY_CONFIG");
- }
-}
-
-static void _lockd_ug_window_set_key_ungrab(void *data)
-{
- Ecore_X_Window xwin;
- Ecore_X_Display *disp = NULL;
- lockw_data *lockw = (lockw_data *) data;;
-
- if (!lockw)
- return;
-
- LOCKD_DBG("%s, %d", __func__, __LINE__);
- disp = ecore_x_display_get();
- xwin = elm_win_xwindow_get(lockw->main_win);
-
- utilx_ungrab_key(disp, xwin, KEY_HOME);
- utilx_ungrab_key(disp, xwin, KEY_CONFIG);
-}
-
-static void _lockd_ug_window_vconf_call_state_changed_cb(keynode_t * node,
- void *data)
-{
- int api_ret = 0;
- int vconf_val = 0;
- lockw_data *lockw = (lockw_data *) data;
-
- if (!lockw)
- return;
-
- LOCKD_DBG("%s, %d", __func__, __LINE__);
- api_ret = vconf_get_int(VCONFKEY_CALL_STATE, &vconf_val);
- if (api_ret != 0) {
- LOCKD_DBG("fail to get vconf key %s value",
- VCONFKEY_CALL_STATE);
- } else {
- if (vconf_val == VCONFKEY_CALL_OFF) {
- LOCKD_DBG("call off state..");
- _lockd_ug_window_set_win_prop(lockw,
- ECORE_X_WINDOW_TYPE_NOTIFICATION);
- } else {
- LOCKD_DBG("call on state..");
- _lockd_ug_window_set_win_prop(lockw,
- ECORE_X_WINDOW_TYPE_NORMAL);
- }
- }
- return;
-}
-
-static void _lockd_ug_window_register_vconf_changed(void *data)
-{
- LOCKD_DBG("%s, %d", __func__, __LINE__);
- if (vconf_notify_key_changed
- (VCONFKEY_CALL_STATE, _lockd_ug_window_vconf_call_state_changed_cb,
- data) != 0) {
- LOCKD_DBG("Fail to register");
- }
-}
-
-static void _lockd_ug_window_unregister_vconf_changed(void *data)
-{
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- if (vconf_ignore_key_changed
- (VCONFKEY_CALL_STATE,
- _lockd_ug_window_vconf_call_state_changed_cb) != 0) {
- LOCKD_DBG("Fail to unregister");
- }
-
-}
-
-void _lockd_window_transient_for_set(void *data)
-{
- lockw_data *lockw = (lockw_data *) data;
- Ecore_X_Window xwin_ug;
- Ecore_X_Window xwin_lock;
-
- if (!lockw)
- return;
-
- LOCKD_DBG("%s, %d", __func__, __LINE__);
- xwin_ug = elm_win_xwindow_get(lockw->main_win);
- xwin_lock = lockw->lock_x_window;
-
- LOCKD_DBG("ug win id : %x, and lock win id is :%x", xwin_ug, xwin_lock);
- ecore_x_icccm_transient_for_set(xwin_ug, xwin_lock);
-}
-
-Eina_Bool _lockd_window_set_window_property_timer_cb(void *data)
-{
- Ecore_X_Window win = (Ecore_X_Window) data;
- LOCKD_DBG
- ("[MINSU] win id(%x) set lock screen window property to notification and level low\n",
- win);
-
- /* Set notification type */
- ecore_x_netwm_window_type_set(win, ECORE_X_WINDOW_TYPE_NOTIFICATION);
-
- /* Set notification's priority */
- utilx_set_system_notification_level(ecore_x_display_get(), win,
- UTILX_NOTIFICATION_LEVEL_LOW);
-
- return EINA_FALSE;
-}
-
static Window get_user_created_window(Window win)
{
Atom type_ret = 0;
XFree((void *)prop_ret);
return xid;
-
}
void
("This is lock application. Set window property. win id : %x",
user_window);
- /* window effect : fade in /out */
ecore_x_icccm_name_class_set(user_window, "LOCK_SCREEN",
"LOCK_SCREEN");
-
- /* Set notification type */
ecore_x_netwm_window_type_set(user_window,
ECORE_X_WINDOW_TYPE_NOTIFICATION);
-
- /* Set notification's priority */
utilx_set_system_notification_level(ecore_x_display_get
(), user_window,
UTILX_NOTIFICATION_LEVEL_NORMAL);
- /* Set opaque state */
utilx_set_window_opaque_state(ecore_x_display_get(),
user_window,
UTILX_OPAQUE_STATE_ON);
LOCKD_ERR("lockw is NULL.");
return;
}
- /* Register window create CB */
lockw->h_wincreate =
ecore_event_handler_add(ECORE_X_EVENT_WINDOW_CREATE, create_cb,
data);
lockw->volume_key_cnt = 0;
- /* Register keydown event handler */
lockw->h_keydown =
ecore_event_handler_add(ECORE_EVENT_KEY_DOWN,
_lockd_window_key_down_cb, lockw);
LOCKD_ERR("lockw is NULL.");
return;
}
- /* delete window create event handler */
if (lockw->h_wincreate != NULL) {
ecore_event_handler_del(lockw->h_wincreate);
lockw->h_wincreate = NULL;
ecore_x_pointer_ungrab();
- /* delete keydown event handler */
if (lockw->h_keydown != NULL) {
ecore_event_handler_del(lockw->h_keydown);
lockw->h_keydown = NULL;
lockw_data *lockw = NULL;
long pid;
- /* Create lockd window data */
lockw = (lockw_data *) malloc(sizeof(lockw_data));
memset(lockw, 0x0, sizeof(lockw_data));
return lockw;
}
-
-void lockd_create_ug_window(void *data)
-{
- lockw_data *lockw = NULL;
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- lockw = (lockw_data *) data;
- if (!lockw) {
- return;
- }
-
- lockd_destroy_ug_window(lockw);
-
- /* create main window */
- lockw->main_win = lockd_create_main_window(PACKAGE);
-
- /* create main layout */
- /* remove indicator in running time */
- /* lockw->main_layout = lockd_create_main_layout(lockw->main_win); */
- appcore_set_i18n(PACKAGE, NULL);
- _lockd_ug_window_set_key_grab(lockw);
- _lockd_ug_window_register_vconf_changed(lockw);
- lockw->phone_lock_state = 1;
-}
-
-void lockd_destroy_ug_window(void *data)
-{
- lockw_data *lockw = NULL;
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- lockw = (lockw_data *) data;
- if (!lockw) {
- return;
- }
-
- _lockd_ug_window_set_key_ungrab(lockw);
- _lockd_ug_window_unregister_vconf_changed(lockw);
-
- if (lockw->main_win) {
- evas_object_del(lockw->main_win);
- lockw->main_win = NULL;
- }
- lockw->phone_lock_state = 0;
-}
-
-void lockd_show_phonelock_alpha_ug(void *data)
-{
- lockw_data *lockw = NULL;
- service_h service;
- struct ug_cbs cbs = { 0, };
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- lockw = (lockw_data *) data;
- if (!lockw) {
- return;
- }
-
- cbs.layout_cb = _lockd_phone_lock_alpha_ug_layout_cb;
- cbs.result_cb = _lockd_phone_lock_alpha_ug_result_cb;
- cbs.destroy_cb = _lockd_phone_lock_alpha_ug_destroy_cb;
- cbs.priv = (void *)data;
-
- service_create(&service);
-
- service_add_extra_data(service, "phone-lock-type", "phone-lock");
- service_add_extra_data(service, "window-type", "alpha");
-
- elm_win_alpha_set(lockw->main_win, TRUE);
- evas_object_color_set(lockw->main_win, 0, 0, 0, 0);
-
- /* window effect : fade in /out */
- ecore_x_icccm_name_class_set(elm_win_xwindow_get(lockw->main_win),
- "LOCK_SCREEN", "LOCK_SCREEN");
-
- UG_INIT_EFL(lockw->main_win, UG_OPT_INDICATOR_ENABLE);
- ug_create(NULL, "phone-lock-efl", UG_MODE_FULLVIEW, service, &cbs);
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- service_destroy(service);
-
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- evas_object_show(lockw->main_win);
- _lockd_ug_window_set_win_prop(lockw, ECORE_X_WINDOW_TYPE_NOTIFICATION);
-}
#include <heynoti.h>
#include <signal.h>
-
#include "starter.h"
#include "starter-util.h"
#include "x11.h"
#define DEFAULT_THEME "tizen"
#define PWLOCK_PATH "/usr/apps/org.tizen.pwlock/bin/pwlock"
-
-#define DATA_ENCRYPTED "encrypted"
-#define DATA_MOUNTED "mounted"
+#define PWLOCK_PKG_NAME "org.tizen.pwlock"
static void lock_menu_screen(void)
{
free(vstr);
}
-#if 0
-static void _set_elm_entry(void)
-{
- int v;
- int r;
-
- r = vconf_get_bool(VCONFKEY_SETAPPL_AUTOCAPITAL_ALLOW_BOOL, &v);
- if (!r) {
- prop_int_set("ENLIGHTENMENT_AUTOCAPITAL_ALLOW", v);
- _DBG("vconf autocatipal[%d]", v);
- }
-
- r = vconf_get_bool(VCONFKEY_SETAPPL_AUTOPERIOD_ALLOW_BOOL, &v);
- if (!r) {
- prop_int_set("ENLIGHTENMENT_AUTOPERIOD_ALLOW", v);
- _DBG("vconf autoperiod[%d]", v);
- }
-}
-#endif
-
static int _launch_pwlock(void)
{
int r;
- //int i = 0;
_DBG("%s", __func__);
-#if 1
- r = aul_launch_app("org.tizen.pwlock", NULL);
+ r = aul_launch_app(PWLOCK_PKG_NAME, NULL);
if (r < 0) {
_ERR("PWLock launch error: error(%d)", r);
if (r == AUL_R_ETIMEOUT) {
_DBG("Launch pwlock is failed for AUL_R_ETIMEOUT, again launch pwlock");
- r = aul_launch_app("org.tizen.pwlock", NULL);
+ r = aul_launch_app(PWLOCK_PKG_NAME, NULL);
if (r < 0) {
_ERR("2'nd PWLock launch error: error(%d)", r);
return -1;
_DBG("Launch pwlock");
return 0;
}
-#else
- retry_con:
- r = aul_launch_app("org.tizen.pwlock", NULL);
- if (r < 0) {
- _ERR("PWLock launch error: error(%d)", r);
- if (r == AUL_R_ETIMEOUT) {
- i++;
- _DBG("Launching pwlock is failed [%d]times for AUL_R_ETIMEOUT ", i);
- goto retry_con;
- } else {
- return -1;
- }
- } else {
- _DBG("Launch pwlock");
- return 0;
- }
-#endif
}
static void _signal_handler(int signum, siginfo_t *info, void *unused)
}
}
-static void _data_encryption_cb(keynode_t * node, void *data)
-{
- int r;
- char *file = NULL;
-
- _DBG("%s %d\n", __func__, __LINE__);
-
- file = vconf_get_str(VCONFKEY_ODE_CRYPTO_STATE);
- if (file != NULL) {
- _DBG("get %s : %s\n", VCONFKEY_ODE_CRYPTO_STATE, file);
- if (!strcmp(file, DATA_MOUNTED)) {
- start_lock_daemon(FALSE);
- menu_daemon_init(NULL);
- }
- free(file);
- }
-}
-
static void _init(struct appdata *ad)
{
int r;
_DBG("%s %d\n", __func__, __LINE__);
- /* Check data encrption */
- file = vconf_get_str(VCONFKEY_ODE_CRYPTO_STATE);
- if (file != NULL) {
- _DBG("get %s : %s\n", VCONFKEY_ODE_CRYPTO_STATE, file);
- if (!strcmp(file, DATA_ENCRYPTED)) {
- if (vconf_notify_key_changed(VCONFKEY_ODE_CRYPTO_STATE,
- _data_encryption_cb, NULL) != 0) {
- _ERR("[Error] vconf notify changed : %s", VCONFKEY_ODE_CRYPTO_STATE);
- } else {
- _DBG("waiting mount..!!");
- if (_launch_pwlock() < 0) {
- _ERR("launch pwlock error");
- }
- free(file);
- return;
- }
- }
- free(file);
- }
-
- /* change the launching order of pwlock and lock mgr in booting time */
- /* TODO: menu screen is showed before phone lock is showed in booting time */
- /* FIXME Here lock daemon start..!! */
r = start_lock_daemon(TRUE);
if (r == 1) {
if (vconf_notify_key_changed(VCONFKEY_IDLE_LOCK_STATE,
struct appdata ad;
WRITE_FILE_LOG("%s", "Main function is started in starter");
-#if 0
- set_window_scale(); /* not in loop */
-#endif
+
int heyfd = heynoti_init();
if (heyfd < 0) {
_ERR("Failed to heynoti_init[%d]", heyfd);