[mobile] In 64bit binary, menu-screen will be launched first. 65/70465/2 accepted/tizen/mobile/20160520.044222 submit/tizen_mobile/20160520.012115
authorgs86.lee <gs86.lee@samsung.com>
Thu, 19 May 2016 08:11:38 +0000 (17:11 +0900)
committerjunkyu han <junkyu.han@samsung.com>
Thu, 19 May 2016 11:39:17 +0000 (20:39 +0900)
The others(lockscreen, quickpanel, indicator, volume) are not launched.

Change-Id: I557cdda6039467adbe34cd4ade303cc37fab88d7

packaging/starter.spec
src/mobile/home_mgr.c
src/mobile/starter.c

index 9bc8341..a7bc945 100644 (file)
@@ -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
index 84b3140..f1c4d2b 100644 (file)
@@ -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;
 }
index e896945..867ab38 100755 (executable)
@@ -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);