From 82db1be38d40b6708a83027b9f8dd9379734f019 Mon Sep 17 00:00:00 2001 From: Yunhee Seo Date: Thu, 27 Apr 2023 19:37:18 +0900 Subject: [PATCH] display: signal: Relocate display_brightness_changed() to reduce plugin duplication Remove and redefine display_brightness_changed function in plugin/display/core.c -> This function emits brightness signal, when the brightness is set. This function is added to below display-signal. void display_signal_register_display_brightness_notifier(void) void display_signal_unregister_display_brightness_notifier(void) -> register/unregister notifier is added for above notifier callback. To avoid "LOG_TAG" redefinition issue, header file including order is changed. Change-Id: I7118e64c9ed7eb8cd7cff6ce0e12a7873e477805 Signed-off-by: Yunhee Seo --- plugins/iot-headed/display/core.c | 19 ------------------- plugins/mobile/display/core.c | 19 ------------------- plugins/tv/display/core.c | 19 ------------------- plugins/wearable/display/core.c | 19 ------------------- src/display/display-signal.c | 27 +++++++++++++++++++++++++++ src/display/display-signal.h | 3 +++ src/display/display.c | 7 ++++++- 7 files changed, 36 insertions(+), 77 deletions(-) diff --git a/plugins/iot-headed/display/core.c b/plugins/iot-headed/display/core.c index 64c3bcf..a9c9caa 100644 --- a/plugins/iot-headed/display/core.c +++ b/plugins/iot-headed/display/core.c @@ -226,23 +226,6 @@ guint get_transition_timer(void) return timeout_src_id; } -static int display_brightness_changed(void *data) -{ - int brt, ret; - - brt = DATA_VALUE_INT(data); - - ret = gdbus_signal_emit(NULL, - DEVICED_PATH_DISPLAY, - DEVICED_INTERFACE_DISPLAY, - "Brightness", - g_variant_new("(i)", brt)); - if (ret < 0) - _E("Failed to send dbus signal Brightness."); - - return 0; -} - static int display_auto_brightness_sensing(void *data) { if (!transit_timer) @@ -2056,7 +2039,6 @@ static void display_init(void *data) register_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground); register_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated); register_notifier(DEVICE_NOTIFIER_BATTERY_HEALTH, battery_health_changed); - register_notifier(DEVICE_NOTIFIER_DISPLAY_BRIGHTNESS, display_brightness_changed); register_notifier(DEVICE_NOTIFIER_LCD_AUTOBRT_SENSING, display_auto_brightness_sensing); register_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback); register_notifier(DEVICE_NOTIFIER_POWEROFF_TRIGGERED, poweroff_triggered_callback); @@ -2200,7 +2182,6 @@ static void display_exit(void *data) unregister_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground); unregister_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated); unregister_notifier(DEVICE_NOTIFIER_BATTERY_HEALTH, battery_health_changed); - unregister_notifier(DEVICE_NOTIFIER_DISPLAY_BRIGHTNESS, display_brightness_changed); unregister_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback); break; diff --git a/plugins/mobile/display/core.c b/plugins/mobile/display/core.c index cd5a1d5..121cfae 100644 --- a/plugins/mobile/display/core.c +++ b/plugins/mobile/display/core.c @@ -228,23 +228,6 @@ guint get_transition_timer(void) return timeout_src_id; } -static int display_brightness_changed(void *data) -{ - int brt, ret; - - brt = DATA_VALUE_INT(data); - - ret = gdbus_signal_emit(NULL, - DEVICED_PATH_DISPLAY, - DEVICED_INTERFACE_DISPLAY, - "Brightness", - g_variant_new("(i)", brt)); - if (ret < 0) - _E("Failed to send dbus signal Brightness."); - - return 0; -} - static int display_auto_brightness_sensing(void *data) { if (!transit_timer) @@ -2062,7 +2045,6 @@ static void display_init(void *data) register_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground); register_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated); register_notifier(DEVICE_NOTIFIER_BATTERY_HEALTH, battery_health_changed); - register_notifier(DEVICE_NOTIFIER_DISPLAY_BRIGHTNESS, display_brightness_changed); register_notifier(DEVICE_NOTIFIER_LCD_AUTOBRT_SENSING, display_auto_brightness_sensing); register_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback); register_notifier(DEVICE_NOTIFIER_POWEROFF_TRIGGERED, poweroff_triggered_callback); @@ -2206,7 +2188,6 @@ static void display_exit(void *data) unregister_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground); unregister_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated); unregister_notifier(DEVICE_NOTIFIER_BATTERY_HEALTH, battery_health_changed); - unregister_notifier(DEVICE_NOTIFIER_DISPLAY_BRIGHTNESS, display_brightness_changed); unregister_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback); break; diff --git a/plugins/tv/display/core.c b/plugins/tv/display/core.c index 04adbff..3742db2 100644 --- a/plugins/tv/display/core.c +++ b/plugins/tv/display/core.c @@ -226,23 +226,6 @@ guint get_transition_timer(void) return timeout_src_id; } -static int display_brightness_changed(void *data) -{ - int brt, ret; - - brt = DATA_VALUE_INT(data); - - ret = gdbus_signal_emit(NULL, - DEVICED_PATH_DISPLAY, - DEVICED_INTERFACE_DISPLAY, - "Brightness", - g_variant_new("(i)", brt)); - if (ret < 0) - _E("Failed to send dbus signal Brightness."); - - return 0; -} - static int display_auto_brightness_sensing(void *data) { if (!transit_timer) @@ -2053,7 +2036,6 @@ static void display_init(void *data) register_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground); register_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated); register_notifier(DEVICE_NOTIFIER_BATTERY_HEALTH, battery_health_changed); - register_notifier(DEVICE_NOTIFIER_DISPLAY_BRIGHTNESS, display_brightness_changed); register_notifier(DEVICE_NOTIFIER_LCD_AUTOBRT_SENSING, display_auto_brightness_sensing); register_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback); register_notifier(DEVICE_NOTIFIER_POWEROFF_TRIGGERED, poweroff_triggered_callback); @@ -2197,7 +2179,6 @@ static void display_exit(void *data) unregister_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground); unregister_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated); unregister_notifier(DEVICE_NOTIFIER_BATTERY_HEALTH, battery_health_changed); - unregister_notifier(DEVICE_NOTIFIER_DISPLAY_BRIGHTNESS, display_brightness_changed); unregister_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback); break; diff --git a/plugins/wearable/display/core.c b/plugins/wearable/display/core.c index 4e82dfa..01ce1dd 100644 --- a/plugins/wearable/display/core.c +++ b/plugins/wearable/display/core.c @@ -252,23 +252,6 @@ guint get_transition_timer(void) return timeout_src_id; } -static int display_brightness_changed(void *data) -{ - int brt, ret; - - brt = DATA_VALUE_INT(data); - - ret = gdbus_signal_emit(NULL, - DEVICED_PATH_DISPLAY, - DEVICED_INTERFACE_DISPLAY, - "Brightness", - g_variant_new("(i)", brt)); - if (ret < 0) - _E("Failed to send dbus signal Brightness."); - - return 0; -} - static int display_auto_brightness_sensing(void *data) { if (!transit_timer) @@ -2379,7 +2362,6 @@ static void display_init(void *data) register_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground); register_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated); register_notifier(DEVICE_NOTIFIER_BATTERY_HEALTH, battery_health_changed); - register_notifier(DEVICE_NOTIFIER_DISPLAY_BRIGHTNESS, display_brightness_changed); register_notifier(DEVICE_NOTIFIER_LCD_AUTOBRT_SENSING, display_auto_brightness_sensing); register_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback); register_notifier(DEVICE_NOTIFIER_POWEROFF_TRIGGERED, poweroff_triggered_callback); @@ -2524,7 +2506,6 @@ static void display_exit(void *data) unregister_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground); unregister_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated); unregister_notifier(DEVICE_NOTIFIER_BATTERY_HEALTH, battery_health_changed); - unregister_notifier(DEVICE_NOTIFIER_DISPLAY_BRIGHTNESS, display_brightness_changed); unregister_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback); break; diff --git a/src/display/display-signal.c b/src/display/display-signal.c index 5a08c1b..6d22330 100644 --- a/src/display/display-signal.c +++ b/src/display/display-signal.c @@ -131,6 +131,33 @@ void set_process_active(bool flag, pid_t pid) _E("Failed to send dbus signal to resourced."); } +static int broadcast_brightness_changed(void *data) +{ + int brt, ret; + + brt = DATA_VALUE_INT(data); + + ret = gdbus_signal_emit(NULL, + DEVICED_PATH_DISPLAY, + DEVICED_INTERFACE_DISPLAY, + "Brightness", + g_variant_new("(i)", brt)); + if (ret < 0) + _W("Failed to send dbus signal Brightness."); + + return 0; +} + +void display_signal_register_display_brightness_notifier(void) +{ + register_notifier(DEVICE_NOTIFIER_DISPLAY_BRIGHTNESS, broadcast_brightness_changed); +} + +void display_signal_unregister_display_brightness_notifier(void) +{ + unregister_notifier(DEVICE_NOTIFIER_DISPLAY_BRIGHTNESS, broadcast_brightness_changed); +} + static void __CONSTRUCTOR__ initialize(void) { disp_plgn = get_var_display_plugin(); diff --git a/src/display/display-signal.h b/src/display/display-signal.h index 8387352..529ae69 100644 --- a/src/display/display-signal.h +++ b/src/display/display-signal.h @@ -37,4 +37,7 @@ void broadcast_lcd_off(enum signal_type type, enum device_flags flags); void broadcast_lcd_off_late(enum device_flags flags); void set_process_active(bool flag, pid_t pid); +void display_signal_register_display_brightness_notifier(void); +void display_signal_unregister_display_brightness_notifier(void); + #endif /* __DISPLAY_SIGNAL_H__ */ diff --git a/src/display/display.c b/src/display/display.c index 469bc7f..476298f 100644 --- a/src/display/display.c +++ b/src/display/display.c @@ -19,10 +19,11 @@ #include #include +#include "shared/log.h" #include "display.h" #include "display-plugin.h" #include "display-config.h" -#include "shared/log.h" +#include "display-signal.h" static const struct device_ops *display_plugin_device_ops; static int pm_cur_state; @@ -170,6 +171,8 @@ static void display_init(void *data) return; display_plugin_device_ops->init(data); + + display_signal_register_display_brightness_notifier(); } static void display_exit(void *data) @@ -178,6 +181,8 @@ static void display_exit(void *data) return; display_plugin_device_ops->exit(data); + + display_signal_unregister_display_brightness_notifier(); } static int display_start(enum device_flags flags) -- 2.7.4