display: Relocate lcd_paneloff_mode getter and setter 66/292466/10
authorYunhee Seo <yuni.seo@samsung.com>
Tue, 2 May 2023 08:05:58 +0000 (17:05 +0900)
committerYunhee Seo <yuni.seo@samsung.com>
Thu, 25 May 2023 01:54:07 +0000 (10:54 +0900)
Remove and redefine set_lcd_paneloff_mode() to reduce plugin duplication

These functions are added to below display-panel.
void display_panel_set_lcd_paneloff_mode(bool on)
-> This function sets lcd_paneloff_mode
void display_panel_get_lcd_paneloff_mode(bool *on)
-> This function gets lcd_paneloff_mode

Change-Id: Id7abeab34b2b5bb28899665bd65a020e8461cad0
Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
plugins/iot-headed/display/core.c
plugins/mobile/display/core.c
plugins/tv/display/core.c
plugins/wearable/display/core.c
src/display/display-panel.c
src/display/display-panel.h
src/display/plugin-common/core.h
src/display/plugin-common/display-dbus.c

index 1da1c84..e38d9ff 100644 (file)
@@ -107,7 +107,6 @@ static char *custom_change_name;
 static guint lock_timeout_id;
 static int lock_screen_timeout = LOCK_SCREEN_INPUT_TIMEOUT;
 static struct timeval lcdon_tv;
-static int lcd_paneloff_mode = false;
 static int stay_touchscreen_off = false;
 /*
  * The two variables(lcdon_broadcast, pmstate_suspend) must be set initial
@@ -244,7 +243,9 @@ static const char* __device_flags_to_string(enum device_flags flags)
 static unsigned long get_lcd_on_flags(void)
 {
        unsigned long flags = NORMAL_MODE;
+       bool lcd_paneloff_mode = false;
 
+       display_panel_get_lcd_paneloff_mode(&lcd_paneloff_mode);
        if (lcd_paneloff_mode)
                flags |= LCD_PANEL_OFF_MODE;
 
@@ -368,15 +369,6 @@ void set_stay_touchscreen_off(int val)
                disp_plgn->pm_change_internal(INTERNAL_LOCK_PM, LCD_NORMAL);
 }
 
-void set_lcd_paneloff_mode(int val)
-{
-       _I("Lcd paneloff mode: %d", val);
-       lcd_paneloff_mode = val;
-
-       if (disp_plgn->pm_change_internal)
-               disp_plgn->pm_change_internal(INTERNAL_LOCK_PM, LCD_NORMAL);
-}
-
 static void del_state_cond(void *data, enum state_t state)
 {
        PmLockNode *tmp = NULL;
@@ -1260,6 +1252,7 @@ static int default_action(int timeout)
        struct timeval now_tv;
        bool custom_status;
        int brightness;
+       bool lcd_paneloff_mode = false;
 
        if (status != DEVICE_OPS_STATUS_START) {
                _E("Display is not started.");
@@ -1336,6 +1329,7 @@ static int default_action(int timeout)
                                lcd_off_procedure(LCD_OFF_BY_TIMEOUT);
                }
 
+               display_panel_get_lcd_paneloff_mode(&lcd_paneloff_mode);
                if (display_panel_get_dpms_cached_state() == DPMS_ON
                    || lcd_paneloff_mode)
                        lcd_off_procedure(LCD_OFF_BY_TIMEOUT);
index cf359f1..14a24e1 100644 (file)
@@ -109,7 +109,6 @@ static char *custom_change_name;
 static guint lock_timeout_id;
 static int lock_screen_timeout = LOCK_SCREEN_INPUT_TIMEOUT;
 static struct timeval lcdon_tv;
-static int lcd_paneloff_mode = false;
 static int stay_touchscreen_off = false;
 /*
  * The two variables(lcdon_broadcast, pmstate_suspend) must be set initial
@@ -251,7 +250,9 @@ static const char* __device_flags_to_string(enum device_flags flags)
 static unsigned long get_lcd_on_flags(void)
 {
        unsigned long flags = NORMAL_MODE;
+       bool lcd_paneloff_mode = false;
 
+       display_panel_get_lcd_paneloff_mode(&lcd_paneloff_mode);
        if (lcd_paneloff_mode)
                flags |= LCD_PANEL_OFF_MODE;
 
@@ -375,15 +376,6 @@ void set_stay_touchscreen_off(int val)
                disp_plgn->pm_change_internal(INTERNAL_LOCK_PM, LCD_NORMAL);
 }
 
-void set_lcd_paneloff_mode(int val)
-{
-       _I("Lcd paneloff mode: %d", val);
-       lcd_paneloff_mode = val;
-
-       if (disp_plgn->pm_change_internal)
-               disp_plgn->pm_change_internal(INTERNAL_LOCK_PM, LCD_NORMAL);
-}
-
 static void del_state_cond(void *data, enum state_t state)
 {
        PmLockNode *tmp = NULL;
@@ -1270,6 +1262,7 @@ static int default_action(int timeout)
        struct timeval now_tv;
        bool custom_status;
        int brightness;
+       bool lcd_paneloff_mode = false;
 
        if (status != DEVICE_OPS_STATUS_START) {
                _E("Display is not started.");
@@ -1346,6 +1339,7 @@ static int default_action(int timeout)
                                lcd_off_procedure(LCD_OFF_BY_TIMEOUT);
                }
 
+               display_panel_get_lcd_paneloff_mode(&lcd_paneloff_mode);
                if (display_panel_get_dpms_cached_state() == DPMS_ON
                    || lcd_paneloff_mode)
                        lcd_off_procedure(LCD_OFF_BY_TIMEOUT);
index f6adbad..0746ae8 100644 (file)
@@ -107,7 +107,6 @@ static char *custom_change_name;
 static guint lock_timeout_id;
 static int lock_screen_timeout = LOCK_SCREEN_INPUT_TIMEOUT;
 static struct timeval lcdon_tv;
-static int lcd_paneloff_mode = false;
 static int stay_touchscreen_off = false;
 /*
  * The two variables(lcdon_broadcast, pmstate_suspend) must be set initial
@@ -244,7 +243,9 @@ static const char* __device_flags_to_string(enum device_flags flags)
 static unsigned long get_lcd_on_flags(void)
 {
        unsigned long flags = NORMAL_MODE;
+       bool lcd_paneloff_mode = false;
 
+       display_panel_get_lcd_paneloff_mode(&lcd_paneloff_mode);
        if (lcd_paneloff_mode)
                flags |= LCD_PANEL_OFF_MODE;
 
@@ -368,15 +369,6 @@ void set_stay_touchscreen_off(int val)
                disp_plgn->pm_change_internal(INTERNAL_LOCK_PM, LCD_NORMAL);
 }
 
-void set_lcd_paneloff_mode(int val)
-{
-       _I("Lcd paneloff mode: %d", val);
-       lcd_paneloff_mode = val;
-
-       if (disp_plgn->pm_change_internal)
-               disp_plgn->pm_change_internal(INTERNAL_LOCK_PM, LCD_NORMAL);
-}
-
 static void del_state_cond(void *data, enum state_t state)
 {
        PmLockNode *tmp = NULL;
@@ -1260,6 +1252,7 @@ static int default_action(int timeout)
        struct timeval now_tv;
        bool custom_status;
        int brightness;
+       bool lcd_paneloff_mode = false;
 
        if (status != DEVICE_OPS_STATUS_START) {
                _E("Display is not started.");
@@ -1336,6 +1329,7 @@ static int default_action(int timeout)
                                lcd_off_procedure(LCD_OFF_BY_TIMEOUT);
                }
 
+               display_panel_get_lcd_paneloff_mode(&lcd_paneloff_mode);
                if (display_panel_get_dpms_cached_state() == DPMS_ON
                    || lcd_paneloff_mode)
                        lcd_off_procedure(LCD_OFF_BY_TIMEOUT);
index 4f52af4..8e2d95b 100644 (file)
@@ -121,7 +121,6 @@ static guint lock_timeout_id;
 static guint transit_timer;
 static int lock_screen_timeout = LOCK_SCREEN_INPUT_TIMEOUT;
 static struct timeval lcdon_tv;
-static int lcd_paneloff_mode = false;
 static int stay_touchscreen_off = false;
 /*
  * The two variables(lcdon_broadcast, pmstate_suspend) must be set initial
@@ -468,7 +467,9 @@ static void free_killable_daemon_list(void)
 static unsigned long get_lcd_on_flags(void)
 {
        unsigned long flags = NORMAL_MODE;
+       bool lcd_paneloff_mode = false;
 
+       display_panel_get_lcd_paneloff_mode(&lcd_paneloff_mode);
        if (lcd_paneloff_mode)
                flags |= LCD_PANEL_OFF_MODE;
 
@@ -645,15 +646,6 @@ void set_stay_touchscreen_off(int val)
                disp_plgn->pm_change_internal(INTERNAL_LOCK_PM, LCD_NORMAL);
 }
 
-void set_lcd_paneloff_mode(int val)
-{
-       _I("Lcd paneloff mode: %d", val);
-       lcd_paneloff_mode = val;
-
-       if (disp_plgn->pm_change_internal)
-               disp_plgn->pm_change_internal(INTERNAL_LOCK_PM, LCD_NORMAL);
-}
-
 static void del_state_cond(void *data, enum state_t state)
 {
        PmLockNode *tmp = NULL;
@@ -1579,6 +1571,7 @@ static int default_action(int timeout)
        struct timeval now_tv;
        bool custom_status;
        int brightness;
+       bool lcd_paneloff_mode = false;
 
        if (status != DEVICE_OPS_STATUS_START) {
                _E("Display is not started.");
@@ -1666,6 +1659,7 @@ static int default_action(int timeout)
                                lcd_off_procedure(LCD_OFF_BY_TIMEOUT);
                }
 
+               display_panel_get_lcd_paneloff_mode(&lcd_paneloff_mode);
                if (display_panel_get_dpms_cached_state() == DPMS_ON
                    || lcd_paneloff_mode)
                        lcd_off_procedure(LCD_OFF_BY_TIMEOUT);
index 66ea2c0..e53fe38 100644 (file)
@@ -21,6 +21,7 @@
 #include "ambient-mode.h"
 #include "display-backlight.h"
 #include "display-panel.h"
+#include "display-plugin.h"
 
 #define MAX_WHITE_BALANCE_GAIN                 2047
 #define MAX_WHITE_BALANCE_OFFSET               2047
@@ -31,6 +32,7 @@
 #define LCD_PHASED_CHANGE_STEP         5
 
 static int dpms_running_state = DPMS_SETTING_DONE;
+static bool lcd_paneloff_mode = false;
 
 /* FIXME: This function is for temporary use, should be fixed after plugin refactoring */
 int display_panel_set_dpms_state(int dpms_on, enum device_flags flags)
@@ -178,6 +180,26 @@ int display_panel_set_panel_state_by_standby_state(bool standby_on)
        return ret;
 }
 
+/* FIXME: display_plugin_~ function return value should be handling after refactoring */
+void display_panel_set_lcd_paneloff_mode(bool on)
+{
+       _I("Lcd paneloff mode: %d", on);
+       lcd_paneloff_mode = on;
+
+       display_plugin_pm_change_internal(INTERNAL_LOCK_PM, LCD_NORMAL);
+}
+
+/* FIXME: This function is temporary, it can be redefined or not */
+void display_panel_get_lcd_paneloff_mode(bool *on)
+{
+       if (!on) {
+               _E("Inavlid parameter to get lcd paneloff mode");
+               return;
+       }
+
+       *on = lcd_paneloff_mode;
+}
+
 /* FIXME: This function is deprecated, should be fixed after plugin refactoring */
 void display_panel_set_dpms_running_state(int val)
 {
index c00ae6e..4cbc779 100644 (file)
@@ -30,6 +30,8 @@ int display_panel_get_white_balance(enum hal_display_white_balance white_balance
 int display_panel_set_panel_state_by_on_state(enum device_flags flags);
 int display_panel_set_panel_state_by_off_state(enum device_flags flags);
 int display_panel_set_panel_state_by_standby_state(bool standby_on);
+void display_panel_set_lcd_paneloff_mode(bool on);
+void display_panel_get_lcd_paneloff_mode(bool *on);
 /* Deprecated functions */
 int display_panel_set_image_effect(enum display_image_effect effect);
 int display_panel_get_image_effect(enum display_image_effect *effect);
index a2a17c7..0bfc4e6 100644 (file)
@@ -142,7 +142,6 @@ int set_lcd_timeout(int on, int dim, int holdkey_block, const char *name);
 void save_display_log(const char *path);
 int custom_lcdon(int timeout);
 void set_stay_touchscreen_off(int val);
-void set_lcd_paneloff_mode(int val);
 void lcd_on_direct(enum device_flags flags);
 void lcd_on_procedure(int state, enum device_flags flag);
 void lcd_off_procedure(enum device_flags flag);
index bdf0f1b..9895b39 100644 (file)
@@ -960,7 +960,7 @@ static GVariant *dbus_lcdpaneloffmode(GDBusConnection *conn,
 
        g_variant_get(param, "(i)", &val);
 
-       set_lcd_paneloff_mode(val);
+       display_panel_set_lcd_paneloff_mode((bool)val);
 
        return g_variant_new("(i)", ret);
 }