From: Youngjae Cho Date: Wed, 5 Jun 2024 06:55:19 +0000 (+0900) Subject: display: Use plugin-api on detecting setting value update X-Git-Tag: accepted/tizen/8.0/unified/20240618.013352~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f4fc06030da83a4dc220bf47d2b28f1621084310;p=platform%2Fcore%2Fsystem%2Fdeviced.git display: Use plugin-api on detecting setting value update Plugin can now receive occurance of setting value change via plugin interface operation, on_changed_setting_value(), so the plugin can hook the event and handle it based on its own policy. If the plugin haven't implemented the operation, deviced handle it in a default way. Change-Id: I3bc4b3bd3fe35a78b2c29a9603f3040b103e0c99 Signed-off-by: Youngjae Cho --- diff --git a/plugins/wearable/display/core.c b/plugins/wearable/display/core.c index 508ffe91..564b556b 100644 --- a/plugins/wearable/display/core.c +++ b/plugins/wearable/display/core.c @@ -806,6 +806,12 @@ static void default_saving_mode(int onoff) } } +/** + * FIXME: It is currently not being used. + * Move it to plugin git, platform/core/system/plugin/deviced-wearable, + * and register it as plugin operation through plugin interface. Or remove it + * if it won't be used anymore. + */ static int update_setting(int key_idx, int val) { int ret; diff --git a/src/display/display-plugin.c b/src/display/display-plugin.c index 8f65f35a..80ab847e 100644 --- a/src/display/display-plugin.c +++ b/src/display/display-plugin.c @@ -23,22 +23,6 @@ struct display_plugin g_display_plugin; -int display_plugin_update_pm_setting(int key_idx, int val) -{ - if (g_display_plugin.update_pm_setting) - return g_display_plugin.update_pm_setting(key_idx, val); - - return 0; -} - -bool display_plugin_is_there_update_pm_setting(void) -{ - if (g_display_plugin.update_pm_setting) - return true; - - return false; -} - /* FIXME: return 0 can be value of get_lock_screen_state, it is hard to distinguish error or not */ int display_plugin_get_lock_screen_state(void) { diff --git a/src/display/display-plugin.h b/src/display/display-plugin.h index ea3856d7..5efce066 100644 --- a/src/display/display-plugin.h +++ b/src/display/display-plugin.h @@ -55,7 +55,6 @@ enum brightness_request_e { #define BR_IMPLICIT (-1) struct display_plugin { - int (*update_pm_setting) (int key_idx, int val); int (*get_lock_screen_state) (void); bool system_wakeup_flag; int (*auto_brightness_control) (enum brightness_request_e request, int set_brightness); @@ -80,8 +79,6 @@ struct display_plugin { }; extern struct display_plugin g_display_plugin; -int display_plugin_update_pm_setting(int key_idx, int val); -bool display_plugin_is_there_update_pm_setting(void); int display_plugin_get_lock_screen_state(void); int display_plugin_get_system_wakeup_flag(bool *flag); int display_plugin_set_system_wakeup_flag(bool flag); diff --git a/src/display/setting.c b/src/display/setting.c index 04a31aa1..a8deaaf4 100644 --- a/src/display/setting.c +++ b/src/display/setting.c @@ -57,8 +57,6 @@ static int custom_normal_timeout = 0; static int custom_dim_timeout = 0; static int exclusive_dim_timeout = EXCLUSIVE_DIM_TIMEOUT_UNSET; -int (*update_pm_setting) (int key_idx, int val); - static gboolean display_state_send_system_event(gpointer data) { const char *str; @@ -280,13 +278,23 @@ static int setting_cb(keynode_t *key_nodes, void *data) return 0; } +/** + * FIXME: + * Those key_idx not related to setting app should be removed + * and be handled in another function. This function is only for + * detecting events controlling device from setting app. + */ int display_setting_update_pm_setting(int key_idx, int val) { int ret; enum syscommon_deviced_display_state current; - if (display_plugin_is_there_update_pm_setting()) - return display_plugin_update_pm_setting(key_idx, val); + ret = syscommon_plugin_deviced_display_notify_setting_value_changed(key_idx, val); + if (ret == 0) + return 0; + + if (ret != -EOPNOTSUPP) + return ret; ret = display_state_get_current(¤t); if (ret < 0) @@ -383,14 +391,10 @@ int display_setting_update_pm_setting(int key_idx, int val) return 0; } -/* FIXME: update_pm_setting functions initalization should be changed after relocation work */ int init_setting(int (*func) (int key_idx, int val)) { int i; - if (func != NULL) - disp_plgn->update_pm_setting = func; - for (i = SETTING_BEGIN; i < SETTING_GET_END; i++) { /* * To pass an index data through the vconf infratstructure