-#define SERVICE_OPERATION_MAIN_KEY "__APP_SVC_OP_TYPE__"
-#define SERVICE_OPERATION_MAIN_VALUE "http://tizen.org/appcontrol/operation/main"
-void home_mgr_open_home(const char *appid)
+void home_mgr_open_home(const char *appid, const char *key, const char *val)
{
char *home_appid = NULL;
+#ifndef TIZEN_BUILD_TARGET_64
if (!appid) {
home_appid = status_active_get()->setappl_selected_package_name;
} else {
home_appid = (char *) appid;
}
ret_if(!home_appid);
+#else
+ /*
+ * If the architecture is 64bit,
+ * starter will launch menu-screen only.
+ */
+ _D("[64bit] menu-screen will be launched.");
+ home_appid = MENU_SCREEN_PKG_NAME;
+#endif
- process_mgr_must_launch(home_appid, SERVICE_OPERATION_MAIN_KEY, SERVICE_OPERATION_MAIN_VALUE, _change_home_cb, _after_launch_home);
+ process_mgr_must_launch(home_appid, key, val, _change_home_cb, _after_launch_home);
}
}
}
- home_mgr_open_home(NULL);
+ home_mgr_open_home(NULL, NULL, NULL);
break;
default:
_E("False sequence [%d]", seq);
}
}
- home_mgr_open_home(appid);
+ home_mgr_open_home(appid, NULL, NULL);
return 1;
}
+#define HOME_OP_KEY "__HOME_OP__"
+#define HOME_OP_VAL_LAUNCH_BY_HOME_KEY "__LAUNCH_BY_HOME_KEY__"
static Eina_Bool _launch_by_home_key(void *data)
{
- int ret = 0;
-
if (status_passive_get()->idle_lock_state > VCONFKEY_IDLE_UNLOCK) {
return ECORE_CALLBACK_CANCEL;
}
- ret = home_mgr_open_home(NULL);
- if(ret > 0) {
- dbus_util_send_home_raise_signal();
- }
+ home_mgr_open_home(NULL, HOME_OP_KEY, HOME_OP_VAL_LAUNCH_BY_HOME_KEY);
return ECORE_CALLBACK_CANCEL;
}
key_info.home_multi_press_timer = NULL;
- if(0 == key_info.homekey_count % 2) {
+ if (0 == key_info.homekey_count % 2) {
key_info.homekey_count = 0;
return ECORE_CALLBACK_CANCEL;
} else if(key_info.homekey_count >= 3) {
/* Priority 3 : Check the lock status */
if ((status_passive_get()->idle_lock_state == VCONFKEY_IDLE_LOCK)
&& (status_active_get()->setappl_screen_lock_type_int > SETTING_SCREEN_LOCK_TYPE_NONE)) {
- if (!strcmp(ev->keyname, KEY_BACK)) {
- _D("Back key is released");
- } else {
- _D("phone lock state, ignore home key.");
- }
+ _D("phone lock state, ignore home key.");
return ECORE_CALLBACK_RENEW;
}
_D("_key_press_cb : %s Pressed", ev->keyname);
/* Priority 1 : Cancel */
- /* every reserved events have to be canceld when cancel key is pressed */
+ /* every reserved events have to be canceld when cancel key is pressed */
if (!strcmp(ev->keyname, KEY_CANCEL)) {
_D("Cancel button is pressed");
key_info.cancel = EINA_TRUE;
#define CANCEL_KEY_TIMER_SEC 0.3
-const char *key_name[38] = {
+const char *key_name[KEY_NAME_MAX] = {
"XF86AudioRaiseVolume",
"XF86AudioLowerVolume",
"XF86PowerOff",
"XF86Game",
"XF86VoiceWakeUp_LPSD",
"XF86VoiceWakeUp",
- "KEY_NAME_MAX",
};
+#define HOME_OP_KEY "__HOME_OP__"
+#define HOME_OP_VAL_LAUNCH_BY_HOME_KEY "__LAUNCH_BY_HOME_KEY__"
static Eina_Bool _launch_by_home_key(void *data)
{
- int ret = 0;
-
if (status_passive_get()->idle_lock_state > VCONFKEY_IDLE_UNLOCK) {
return ECORE_CALLBACK_CANCEL;
}
- ret = home_mgr_open_home(NULL);
- if(ret > 0) {
- dbus_util_send_home_raise_signal();
- }
+ home_mgr_open_home(NULL, HOME_OP_KEY, HOME_OP_VAL_LAUNCH_BY_HOME_KEY);
return ECORE_CALLBACK_CANCEL;
}
key_info.home_multi_press_timer = NULL;
- if(0 == key_info.homekey_count % 2) {
+ if (0 == key_info.homekey_count % 2) {
key_info.homekey_count = 0;
return ECORE_CALLBACK_CANCEL;
} else if(key_info.homekey_count >= 3) {
/* Priority 3 : Check the lock status */
if ((status_passive_get()->idle_lock_state == VCONFKEY_IDLE_LOCK)
&& (status_active_get()->setappl_screen_lock_type_int > SETTING_SCREEN_LOCK_TYPE_NONE)) {
- if (!strcmp(ev->keyname, key_name[KEY_BACK])) {
- _D("Back key is released");
- } else {
_D("phone lock state, ignore home key.");
- }
return ECORE_CALLBACK_RENEW;
}