From: shivamv Date: Mon, 5 Sep 2022 06:30:24 +0000 (+0530) Subject: Adding Tray Application to starter X-Git-Tag: accepted/tizen/unified/20220908.172940^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F88%2F280788%2F1;p=apps%2Fnative%2Fstarter.git Adding Tray Application to starter Change-Id: I7228e2b063b38dd8219f3dfa9b0f511c1b628648 Signed-off-by: shivamv --- diff --git a/include/common/home_mgr.h b/include/common/home_mgr.h index 58bf176..6625801 100755 --- a/include/common/home_mgr.h +++ b/include/common/home_mgr.h @@ -22,6 +22,7 @@ extern int home_mgr_get_home_pid(void); extern int home_mgr_get_volume_pid(void); extern int home_mgr_get_indicator_pid(void); extern int home_mgr_get_quickpanel_pid(void); +extern int home_mgr_get_tray_pid(void); extern int home_mgr_get_softkey_pid(void); extern void home_mgr_softkey_dead_signal_received(); @@ -34,5 +35,6 @@ void home_mgr_relaunch_homescreen(void); void home_mgr_relaunch_volume(void); void home_mgr_relaunch_indicator(void); void home_mgr_relaunch_quickpanel(void); +void home_mgr_relaunch_tray(void); extern void home_mgr_open_home(const char *appid, const char *key, const char *val); // End of a file \ No newline at end of file diff --git a/include/common/hw_key.h b/include/common/hw_key.h old mode 100644 new mode 100755 index 787a779..e9e7c32 --- a/include/common/hw_key.h +++ b/include/common/hw_key.h @@ -58,6 +58,7 @@ typedef enum { KEY_REC, KEY_CANCEL, KEY_SOFTBD, + KEY_TRAY, KEY_QUICKPANEL, KEY_TASKSWITCH, KEY_HOMEPAGE, diff --git a/include/mobile/home_mgr.h b/include/mobile/home_mgr.h old mode 100644 new mode 100755 index 8b08df6..25f3b9e --- a/include/mobile/home_mgr.h +++ b/include/mobile/home_mgr.h @@ -22,6 +22,7 @@ extern int home_mgr_get_home_pid(void); extern int home_mgr_get_volume_pid(void); extern int home_mgr_get_indicator_pid(void); extern int home_mgr_get_quickpanel_pid(void); +extern int home_mgr_get_tray_pid(void); extern void home_mgr_init(void *data); extern void home_mgr_fini(void); @@ -30,5 +31,6 @@ void home_mgr_relaunch_homescreen(void); void home_mgr_relaunch_volume(void); void home_mgr_relaunch_indicator(void); void home_mgr_relaunch_quickpanel(void); +void home_mgr_relaunch_tray(void); extern void home_mgr_open_home(const char *appid, const char *key, const char *val); // End of a file diff --git a/include/mobile/hw_key.h b/include/mobile/hw_key.h old mode 100644 new mode 100755 index 787a779..e9e7c32 --- a/include/mobile/hw_key.h +++ b/include/mobile/hw_key.h @@ -58,6 +58,7 @@ typedef enum { KEY_REC, KEY_CANCEL, KEY_SOFTBD, + KEY_TRAY, KEY_QUICKPANEL, KEY_TASKSWITCH, KEY_HOMEPAGE, diff --git a/include/wearable/hw_key.h b/include/wearable/hw_key.h old mode 100644 new mode 100755 index d01aa7d..bfea0ff --- a/include/wearable/hw_key.h +++ b/include/wearable/hw_key.h @@ -38,6 +38,7 @@ typedef enum { KEY_REC, KEY_CANCEL, KEY_SOFTBD, + KEY_TRAY, KEY_QUICKPANEL, KEY_TASKSWITCH, KEY_HOMEPAGE, diff --git a/src/common/home_mgr.c b/src/common/home_mgr.c index a0e1112..a30c6bb 100755 --- a/src/common/home_mgr.c +++ b/src/common/home_mgr.c @@ -45,6 +45,7 @@ #define APPID_INDICATOR "org.tizen.indicator" #define APPID_QUICKPANEL "org.tizen.quickpanel" #define APPID_SOFTKEY "org.tizen.softkey-container" +#define APPID_TRAY "org.tizen.TrayApplication" int errno; static struct { @@ -53,6 +54,7 @@ static struct { pid_t indicator_pid; pid_t quickpanel_pid; pid_t softkey_pid; + pid_t tray_pid; int power_off; Ecore_Timer *dead_timer; @@ -65,6 +67,7 @@ static struct { .indicator_pid = (pid_t)-1, .quickpanel_pid = (pid_t)-1, .softkey_pid = (pid_t)-1, + .tray_pid = (pid_t)-1, .power_off = 0, .dead_timer = NULL, @@ -73,7 +76,7 @@ static struct { .popup = NULL, }; - static void home_mgr_softkey_change(void *user_data); +static void home_mgr_softkey_change(void *user_data); int home_mgr_get_home_pid(void) { @@ -102,6 +105,11 @@ int home_mgr_get_softkey_pid(void) return s_home_mgr.softkey_pid; } +int home_mgr_get_tray_pid(void) +{ + return s_home_mgr.tray_pid; +} + void home_mgr_softkey_dead_signal_received() { s_home_mgr.softkey_pid = -1; @@ -287,6 +295,11 @@ static void _after_launch_softkey(int pid) s_home_mgr.softkey_pid = pid; } +static void _after_launch_tray(int pid) +{ + s_home_mgr.tray_pid = pid; +} + static void _launch_after_home(int pid) { if (pid != s_home_mgr.home_pid) { @@ -433,6 +446,11 @@ void home_mgr_relaunch_quickpanel(void) process_mgr_must_launch(APPID_QUICKPANEL, NULL, NULL, NULL, _after_launch_quickpanel); } +void home_mgr_relaunch_tray(void) +{ + process_mgr_must_launch(APPID_TRAY, NULL, NULL, NULL, _after_launch_tray); +} + void home_mgr_softkey_process_terminate(void) { process_mgr_terminate_app(s_home_mgr.softkey_pid,1); @@ -517,6 +535,7 @@ static Eina_Bool _launch_apps_idler_cb(void *data) #endif process_mgr_must_launch(APPID_INDICATOR, NULL, NULL, NULL, _after_launch_indicator); process_mgr_must_launch(APPID_QUICKPANEL, NULL, NULL, NULL, _after_launch_quickpanel); + process_mgr_must_launch(APPID_TRAY, NULL, NULL, NULL, _after_launch_tray); return ECORE_CALLBACK_CANCEL; } diff --git a/src/common/hw_key.c b/src/common/hw_key.c old mode 100644 new mode 100755 index d677981..77de925 --- a/src/common/hw_key.c +++ b/src/common/hw_key.c @@ -73,6 +73,7 @@ const char *key_name[KEY_NAME_MAX] = { "XF86AudioRecord", "Cancel", "XF86SoftKBD", + "XF86Tray", "XF86QuickPanel", "XF86TaskPane", "XF86HomePage", diff --git a/src/common/starter.c b/src/common/starter.c index 174acf1..1d5ece8 100755 --- a/src/common/starter.c +++ b/src/common/starter.c @@ -196,6 +196,7 @@ static int _check_dead_signal(int pid, void *data) int volume_pid = 0; int indicator_pid = 0; int quickpanel_pid = 0; + int tray_pid = 0; #if LOCKSCREEN_ENABLE int lock_pid = 0; #endif @@ -213,6 +214,7 @@ static int _check_dead_signal(int pid, void *data) volume_pid = home_mgr_get_volume_pid(); indicator_pid = home_mgr_get_indicator_pid(); quickpanel_pid = home_mgr_get_quickpanel_pid(); + tray_pid = home_mgr_get_tray_pid(); #if LOCKSCREEN_ENABLE lock_pid = lock_mgr_get_lock_pid(); #endif @@ -239,6 +241,9 @@ static int _check_dead_signal(int pid, void *data) } else if (pid == quickpanel_pid) { _D("quickpanel is dead"); home_mgr_relaunch_quickpanel(); + } else if (pid == tray_pid) { + _D("tray is dead"); + home_mgr_relaunch_tray(); } else if (pid == oobe_setup_pid) { _D("oobe setup is dead"); oobe_mgr_oobe_setup_terminated(); diff --git a/src/mobile/home_mgr.c b/src/mobile/home_mgr.c index dc25ae6..48c9835 100755 --- a/src/mobile/home_mgr.c +++ b/src/mobile/home_mgr.c @@ -38,6 +38,7 @@ #define SYSPOPUPID_VOLUME "org.tizen.volume" #define APPID_INDICATOR "org.tizen.indicator" #define APPID_QUICKPANEL "org.tizen.quickpanel" +#define APPID_TRAY "org.tizen.TrayApplication" #define DEAD_TIMER_SEC 10.0 #define DEAD_TIMER_COUNT_MAX 2 @@ -50,6 +51,7 @@ static struct { pid_t volume_pid; pid_t indicator_pid; pid_t quickpanel_pid; + pid_t tray_pid; int power_off; Ecore_Timer *dead_timer; @@ -61,6 +63,7 @@ static struct { .volume_pid = (pid_t)-1, .indicator_pid = (pid_t)-1, .quickpanel_pid = (pid_t)-1, + .tray_pid = (pid_t)-1, .power_off = 0, .dead_timer = NULL, @@ -98,6 +101,13 @@ int home_mgr_get_quickpanel_pid(void) +int home_mgr_get_tray_pid(void) +{ + return s_home_mgr.tray_pid; +} + + + static void _after_launch_home(int pid) { if (pid != s_home_mgr.home_pid) { @@ -276,6 +286,13 @@ static void _after_launch_quickpanel(int pid) +static void _after_launch_tray(int pid) +{ + s_home_mgr.tray_pid = pid; +} + + + static void _launch_after_home(int pid) { if (pid != s_home_mgr.home_pid) { @@ -423,6 +440,13 @@ void home_mgr_relaunch_quickpanel(void) +void home_mgr_relaunch_tray(void) +{ + process_mgr_must_launch(APPID_TRAY, NULL, NULL, NULL, _after_launch_tray); +} + + + static int _power_off_cb(status_active_key_e key, void *data) { int val = status_active_get()->sysman_power_off_status; @@ -445,6 +469,7 @@ static Eina_Bool _launch_apps_idler_cb(void *data) 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); + process_mgr_must_launch(APPID_TRAY, NULL, NULL, NULL, _after_launch_tray); return ECORE_CALLBACK_CANCEL; } diff --git a/src/mobile/hw_key.c b/src/mobile/hw_key.c index db041c8..e9c9cd2 100755 --- a/src/mobile/hw_key.c +++ b/src/mobile/hw_key.c @@ -86,6 +86,7 @@ const char *key_name[KEY_NAME_MAX] = { "XF86AudioRecord", "Cancel", "XF86SoftKBD", + "XF86Tray", "XF86QuickPanel", "XF86TaskPane", "XF86HomePage", diff --git a/src/mobile/starter.c b/src/mobile/starter.c index 842fa1c..413a6ef 100755 --- a/src/mobile/starter.c +++ b/src/mobile/starter.c @@ -131,6 +131,7 @@ static int _check_dead_signal(int pid, void *data) int volume_pid = 0; int indicator_pid = 0; int quickpanel_pid = 0; + int tray_pid = 0; int lock_pid = 0; _D("Process %d is termianted", pid); @@ -147,6 +148,7 @@ static int _check_dead_signal(int pid, void *data) volume_pid = home_mgr_get_volume_pid(); indicator_pid = home_mgr_get_indicator_pid(); quickpanel_pid = home_mgr_get_quickpanel_pid(); + tray_pid = home_mgr_get_tray_pid(); lock_pid = lock_mgr_get_lock_pid(); if (pid == home_pid) { @@ -161,6 +163,9 @@ static int _check_dead_signal(int pid, void *data) } else if (pid == quickpanel_pid) { _D("quickpanel is dead"); home_mgr_relaunch_quickpanel(); + } else if (pid == tray_pid) { + _D("tray is dead"); + home_mgr_relaunch_tray(); } else if (pid == lock_pid) { _D("lockscreen is dead"); lock_mgr_unlock(); diff --git a/src/wearable/hw_key.c b/src/wearable/hw_key.c index c5ce150..9b331b4 100755 --- a/src/wearable/hw_key.c +++ b/src/wearable/hw_key.c @@ -65,6 +65,7 @@ const char *key_name[KEY_NAME_MAX] = { "XF86AudioRecord", "Cancel", "XF86SoftKBD", + "XF86Tray", "XF86QuickPanel", "XF86TaskPane", "XF86HomePage",