display: Add attributes related to display state manipulation 91/312791/1
authorYunhee Seo <yuni.seo@samsung.com>
Fri, 14 Jun 2024 07:24:33 +0000 (16:24 +0900)
committerYunhee Seo <yuni.seo@samsung.com>
Fri, 14 Jun 2024 07:24:33 +0000 (16:24 +0900)
New attribute:
 - id: DEVICED_DISPLAY_ATTR_LOCKSCREEN_BG_STATE
 - type: SYSCOMMON_RESMAN_DATA_TYPE_INT
 - setter: X
 - getter: O

New attribute:
 - id: DEVICED_DISPLAY_ATTR_INT_LCDOFF_REASON
 - type: SYSCOMMON_RESMAN_DATA_TYPE_INT
 - setter: O
 - getter: X

New attribute:
 - id: DEVICED_DISPLAY_ATTR_INT_STATE_TRANSITION
 - type: SYSCOMMON_RESMAN_DATA_TYPE_INT
 - setter: O
 - getter: X

The corresponding attributes may be changed during the
display state refactoring process.
These are necessary for plugin backend separation.

Change-Id: I45675dae18af894cc6fb2ca80f590ea15ab138f1
Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
src/display/resource-display.c

index 99575109628e8c5f2c73f1cbfa4d1ddd363917a7..84966200ae2d568ef44e2f233af537f224e610d6 100644 (file)
@@ -92,6 +92,26 @@ static int set_display_attr_data(int resource_id,
 
                        return 0;
                }
+       case DEVICED_DISPLAY_ATTR_INT_LCDOFF_REASON:
+               {
+                       enum deviced_event event = *(enum deviced_event *) data;
+                       switch (event) {
+                       case DEVICED_EVENT_INPUT_POWERKEY:
+                               return display_state_transition_update_lcdoff_reason(VCONFKEY_PM_LCDOFF_BY_POWERKEY);
+                       default:
+                               return -EINVAL;
+                       }
+               }
+       case DEVICED_DISPLAY_ATTR_INT_STATE_TRANSITION:
+               {
+                       enum deviced_event event = *(enum deviced_event *) data;
+                       switch (event) {
+                       case DEVICED_EVENT_INPUT:
+                               return display_state_transition_do_state_transition_by_input_poll_event();
+                       default:
+                               return -EINVAL;
+                       }
+               }
        default:
                return -EINVAL;
        }
@@ -301,6 +321,9 @@ static int get_display_attr_data(int resource_id,
        case DEVICED_DISPLAY_ATTR_INT_LOCKSCREEN_STATE:
                        attr_data.i32 = get_lock_screen_state();
                break;
+       case DEVICED_DISPLAY_ATTR_INT_LOCKSCREEN_BG_STATE:
+               attr_data.i32 = get_lock_screen_bg_state();
+               break;
        default:
                ret = -EINVAL;
                break;
@@ -527,6 +550,33 @@ static const struct syscommon_resman_resource_attribute display_attrs[] = {
                        .get = get_display_attr_data,
                        .is_supported = syscommon_resman_resource_attr_supported_always,
                },
+       }, {
+               .name = "DEVICED_DISPLAY_ATTR_INT_LOCKSCREEN_BG_STATE",
+               .id = DEVICED_DISPLAY_ATTR_INT_LOCKSCREEN_BG_STATE,
+               .type = SYSCOMMON_RESMAN_DATA_TYPE_INT,
+               .flag = SYSCOMMON_RESMAN_RESOURCE_FLAG_PUBLIC,
+               .ops = {
+                       .get = get_display_attr_data,
+                       .is_supported = syscommon_resman_resource_attr_supported_always,
+               },
+       } , {
+               .name = "DEVICED_DISPLAY_ATTR_INT_LCDOFF_REASON",
+               .id = DEVICED_DISPLAY_ATTR_INT_LCDOFF_REASON,
+               .type = SYSCOMMON_RESMAN_DATA_TYPE_INT,
+               .flag = SYSCOMMON_RESMAN_RESOURCE_FLAG_PUBLIC,
+               .ops = {
+                       .set = set_display_attr_data,
+                       .is_supported = syscommon_resman_resource_attr_supported_always,
+               },
+       }, {
+               .name = "DEVICED_DISPLAY_ATTR_INT_STATE_TRANSITION",
+               .id = DEVICED_DISPLAY_ATTR_INT_STATE_TRANSITION,
+               .type = SYSCOMMON_RESMAN_DATA_TYPE_INT,
+               .flag = SYSCOMMON_RESMAN_RESOURCE_FLAG_PUBLIC,
+               .ops = {
+                       .set = set_display_attr_data,
+                       .is_supported = syscommon_resman_resource_attr_supported_always,
+               },
        }
 };