From 21489c530a426fc52648aa9ed0e3baba1b5d1c49 Mon Sep 17 00:00:00 2001 From: "gs86.lee" Date: Thu, 19 May 2016 17:11:38 +0900 Subject: [PATCH] [mobile] In 64bit binary, menu-screen will be launched first. The others(lockscreen, quickpanel, indicator, volume) are not launched. Change-Id: I557cdda6039467adbe34cd4ade303cc37fab88d7 --- packaging/starter.spec | 6 +++++- src/mobile/home_mgr.c | 11 +++++++++++ src/mobile/starter.c | 15 +++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/packaging/starter.spec b/packaging/starter.spec index 9bc8341..a7bc945 100644 --- a/packaging/starter.spec +++ b/packaging/starter.spec @@ -114,7 +114,6 @@ export CFLAGS="$CFLAGS -DTIZEN_PROFILE_IVI" export CXXFLAGS="$CXXFLAGS -DTIZEN_PROFILE_IVI" %endif - %ifarch %{arm} export CFLAGS="$CFLAGS -DTIZEN_BUILD_TARGET" export CXXFLAGS="$CXXFLAGS -DTIZEN_BUILD_TARGET" @@ -123,6 +122,11 @@ export CFLAGS="$CFLAGS -DTIZEN_BUILD_EMULATOR" export CXXFLAGS="$CXXFLAGS -DTIZEN_BUILD_EMULATOR" %endif +%ifarch aarch64 +export CFLAGS="$CFLAGS -DTIZEN_BUILD_TARGET_64" +export CXXFLAGS="$CXXFLAGS -DTIZEN_BUILD_TARGET_64" +%endif + %if %{with wayland} export WAYLAND_SUPPORT=On export X11_SUPPORT=Off diff --git a/src/mobile/home_mgr.c b/src/mobile/home_mgr.c index 84b3140..f1c4d2b 100644 --- a/src/mobile/home_mgr.c +++ b/src/mobile/home_mgr.c @@ -132,12 +132,21 @@ void home_mgr_open_home(const char *appid) { 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 binary : 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); } @@ -438,9 +447,11 @@ static int _power_off_cb(status_active_key_e key, void *data) static Eina_Bool _launch_apps_idler_cb(void *data) { +#ifndef TIZEN_BUILD_TARGET_64 process_mgr_must_syspopup_launch(SYSPOPUPID_VOLUME, NULL, NULL, NULL, _after_launch_volume); process_mgr_must_launch(APPID_INDICATOR, NULL, NULL, NULL, _after_launch_indicator); process_mgr_must_launch(APPID_QUICKPANEL, NULL, NULL, NULL, _after_launch_quickpanel); +#endif return ECORE_CALLBACK_CANCEL; } diff --git a/src/mobile/starter.c b/src/mobile/starter.c index e896945..867ab38 100755 --- a/src/mobile/starter.c +++ b/src/mobile/starter.c @@ -193,6 +193,7 @@ static int _set_i18n(const char *domain, const char *dir) static int _check_dead_signal(int pid, void *data) { +#ifndef TIZEN_BUILD_TARGET_64 int home_pid = 0; int volume_pid = 0; int indicator_pid = 0; @@ -206,6 +207,10 @@ static int _check_dead_signal(int pid, void *data) return 0; } + /* + * If the architecture is not 64bit, + * starter try to re-launch these apps when the app is dead. + */ home_pid = home_mgr_get_home_pid(); volume_pid = home_mgr_get_volume_pid(); indicator_pid = home_mgr_get_indicator_pid(); @@ -230,6 +235,14 @@ static int _check_dead_signal(int pid, void *data) } else { _D("Unknown process, ignore it"); } +#else + _D("Process %d is termianted", pid); + + if (pid < 0) { + _E("pid : %d", pid); + return 0; + } +#endif return 0; } @@ -269,6 +282,7 @@ static void _init(struct appdata *ad) status_register(); status_active_register_cb(STATUS_ACTIVE_KEY_SYSMAN_POWER_OFF_STATUS, _power_off_cb, NULL); +#ifndef TIZEN_BUILD_TARGET_64 /* * If 'VCONFKEY_BOOT_ANIMATION_FINISHED' is already 1, * it is not necessary to register vconfkey callback function. @@ -285,6 +299,7 @@ static void _init(struct appdata *ad) status_active_register_cb(STATUS_ACTIVE_KEY_BOOT_ANIMATION_FINISHED, _boot_animation_finished_cb, NULL); } +#endif hw_key_create_window(); home_mgr_init(NULL); -- 2.7.4