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();
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
KEY_REC,
KEY_CANCEL,
KEY_SOFTBD,
+ KEY_TRAY,
KEY_QUICKPANEL,
KEY_TASKSWITCH,
KEY_HOMEPAGE,
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);
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
KEY_REC,
KEY_CANCEL,
KEY_SOFTBD,
+ KEY_TRAY,
KEY_QUICKPANEL,
KEY_TASKSWITCH,
KEY_HOMEPAGE,
KEY_REC,
KEY_CANCEL,
KEY_SOFTBD,
+ KEY_TRAY,
KEY_QUICKPANEL,
KEY_TASKSWITCH,
KEY_HOMEPAGE,
#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 {
pid_t indicator_pid;
pid_t quickpanel_pid;
pid_t softkey_pid;
+ pid_t tray_pid;
int power_off;
Ecore_Timer *dead_timer;
.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,
.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)
{
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;
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) {
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);
#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;
}
"XF86AudioRecord",
"Cancel",
"XF86SoftKBD",
+ "XF86Tray",
"XF86QuickPanel",
"XF86TaskPane",
"XF86HomePage",
int volume_pid = 0;
int indicator_pid = 0;
int quickpanel_pid = 0;
+ int tray_pid = 0;
#if LOCKSCREEN_ENABLE
int lock_pid = 0;
#endif
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
} 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();
#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
pid_t volume_pid;
pid_t indicator_pid;
pid_t quickpanel_pid;
+ pid_t tray_pid;
int power_off;
Ecore_Timer *dead_timer;
.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,
+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) {
+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) {
+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;
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;
}
"XF86AudioRecord",
"Cancel",
"XF86SoftKBD",
+ "XF86Tray",
"XF86QuickPanel",
"XF86TaskPane",
"XF86HomePage",
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);
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) {
} 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();
"XF86AudioRecord",
"Cancel",
"XF86SoftKBD",
+ "XF86Tray",
"XF86QuickPanel",
"XF86TaskPane",
"XF86HomePage",