From eccb29b706e5a71b288c85d684c96c17e3996022 Mon Sep 17 00:00:00 2001 From: Youngjae Cho Date: Wed, 1 Apr 2020 09:52:57 +0900 Subject: [PATCH] Move homescreen signal handler display-dbus.c -> ambient-mode.c Change-Id: I297a17cbe7fcdd44ea36f5051603304bdfe69eb5 Signed-off-by: Youngjae Cho --- src/display/ambient-mode.c | 31 ++++++++++++++++++++++++++++--- src/display/ambient-mode.h | 1 - src/display/display-dbus.c | 30 ------------------------------ 3 files changed, 28 insertions(+), 34 deletions(-) diff --git a/src/display/ambient-mode.c b/src/display/ambient-mode.c index c0ed7f8..506a672 100644 --- a/src/display/ambient-mode.c +++ b/src/display/ambient-mode.c @@ -31,6 +31,8 @@ #define ON "on" #define OFF "off" +#define SIGNAL_HOMESCREEN "HomeScreen" + #define SIGNAL_ALPMLCDOFF "ALPMLCDOff" #define SIGNAL_ALPM_ON "ALPMOn" #define SIGNAL_ALPM_OFF "ALPMOff" @@ -193,17 +195,32 @@ static void ambient_end_clock(pid_t pid) ambient_pid); } -int ambient_set_screen(char *screen, pid_t pid) +static void homescreen_signal_handler(GDBusConnection *conn, + const gchar *sender, + const gchar *path, + const gchar *iface, + const gchar *name, + GVariant *param, + gpointer data) { + char *screen; + pid_t pid; + + g_variant_get(param, "(s)", &screen); + + _D("screen : %s", screen); + if (!screen) - return -EINVAL; + return; + + pid = dbus_connection_get_sender_pid(conn, sender); if (!strncmp(screen, CLOCK_START, strlen(CLOCK_START))) ambient_start_clock(); else if (!strncmp(screen, CLOCK_END, strlen(CLOCK_END))) ambient_end_clock(pid); - return 0; + g_free(screen); } static void ambient_lcdoff_signal_handler(GDBusConnection *conn, @@ -246,6 +263,14 @@ static void ambient_init(void *data) vconf_notify_key_changed("db/starter/always_on_display", ambient_set_condition, NULL); } + ret = subscribe_dbus_signal(NULL, + DEVICED_OBJECT_PATH, + DEVICED_INTERFACE_NAME, + SIGNAL_HOMESCREEN, + homescreen_signal_handler, + NULL, NULL); + if (ret <= 0) + _E("Failed to register signal handler: %d", ret); ret = subscribe_dbus_signal(NULL, DEVICED_OBJECT_PATH, diff --git a/src/display/ambient-mode.h b/src/display/ambient-mode.h index 7c74187..5b5e1f5 100644 --- a/src/display/ambient-mode.h +++ b/src/display/ambient-mode.h @@ -25,6 +25,5 @@ int ambient_get_condition(void); int ambient_get_state(void); int ambient_set_state(int on); void ambient_check_invalid_state(pid_t pid); -int ambient_set_screen(char *screen, pid_t pid); #endif /* __AMBIENT_MODE_H__ */ diff --git a/src/display/display-dbus.c b/src/display/display-dbus.c index 815b07d..5733d1c 100644 --- a/src/display/display-dbus.c +++ b/src/display/display-dbus.c @@ -43,8 +43,6 @@ #include "display-actor.h" #include "display-ops.h" -#define SIGNAL_HOMESCREEN "HomeScreen" - #define AUL_APPSTATUS_PATH "/Org/Tizen/Aul/AppStatus" #define AUL_APPSTATUS_INTERFACE "org.tizen.aul.AppStatus" #define APP_CHANGE_STATE "AppStatusChange" @@ -1179,26 +1177,6 @@ static const dbus_interface_u dbus_interface = { .nr_methods = ARRAY_SIZE(dbus_methods), }; -static void homescreen_signal_handler(GDBusConnection *conn, - const gchar *sender, - const gchar *path, - const gchar *iface, - const gchar *name, - GVariant *param, - gpointer data) -{ - char *screen; - pid_t pid; - - g_variant_get(param, "(s)", &screen); - - _D("screen : %s", screen); - - pid = dbus_connection_get_sender_pid(conn, sender); - ambient_set_screen(screen, pid); - g_free(screen); -} - static void changestate_signal_handler(GDBusConnection *conn, const gchar *sender, const gchar *path, @@ -1256,14 +1234,6 @@ int init_pm_dbus(void) if (ret < 0) _E("fail to init dbus method(%d)", ret); - ret = subscribe_dbus_signal(NULL, - DEVICED_OBJECT_PATH, - DEVICED_INTERFACE_NAME, - SIGNAL_HOMESCREEN, - homescreen_signal_handler, - NULL, NULL); - if (ret <= 0) - _E("Failed to register signal handler: %d", ret); ret = subscribe_dbus_signal(NULL, AUL_APPSTATUS_PATH, -- 2.7.4