From 06c52b0bdeee37b108306dea4425c67c6f358495 Mon Sep 17 00:00:00 2001 From: Youngjae Cho Date: Mon, 21 Aug 2023 15:46:45 +0900 Subject: [PATCH] display: Add attribute for custom brightness New attribute: - id: DEVICED_DISPLAY_ATTR_INT_CUSTOM_BRIGHTNESS - type: SYSCOMMON_RESMAN_DATA_TYPE_INT - setter: O - getter: O It gets whether custom brightness is set or not. And it enables the custom brightness when it sets attrbute by a value other than 0. Change-Id: Ia4ab8e6c0e64f97c7bd57ecd6c28a6b060e08cba Signed-off-by: Youngjae Cho --- plugins/iot-headed/display/key-filter.c | 7 ++++--- src/display/resource-display.c | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/plugins/iot-headed/display/key-filter.c b/plugins/iot-headed/display/key-filter.c index de9c5f0..2ef1ed9 100644 --- a/plugins/iot-headed/display/key-filter.c +++ b/plugins/iot-headed/display/key-filter.c @@ -32,7 +32,6 @@ #include #include "display-actor.h" -#include "display-backlight.h" #include "display-config.h" #include "display-misc.h" #include "display-state-transition.h" @@ -112,9 +111,11 @@ static inline void restore_custom_brightness(void) if (ret < 0) return; - display_backlight_get_custom_status(&custom_status); + syscommon_resman_get_resource_attr_int(SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_DISPLAY), + DEVICED_DISPLAY_ATTR_INT_CUSTOM_BRIGHTNESS, (int *) &custom_status); if (current == SYSCOMMON_DEVICED_DISPLAY_STATE_DIM && custom_status) - display_backlight_update_by_custom_brightness(); + syscommon_resman_set_resource_attr_int(SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_DISPLAY), + DEVICED_DISPLAY_ATTR_INT_CUSTOM_BRIGHTNESS, true); } static void pwroff_popup(void) diff --git a/src/display/resource-display.c b/src/display/resource-display.c index 8ce2222..fe1405f 100644 --- a/src/display/resource-display.c +++ b/src/display/resource-display.c @@ -65,6 +65,15 @@ static int set_display_attr_data(int resource_id, } } break; + case DEVICED_DISPLAY_ATTR_INT_CUSTOM_BRIGHTNESS: + { + bool on = *(bool *) data; + if (on) + display_backlight_update_by_custom_brightness(); + + return 0; + } + break; default: return -EINVAL; } @@ -144,6 +153,9 @@ static int get_display_attr_data(int resource_id, case DEVICED_DISPLAY_ATTR_INT_DPMS_STATE: attr_data.i32 = display_panel_get_dpms_cached_state(); break; + case DEVICED_DISPLAY_ATTR_INT_CUSTOM_BRIGHTNESS: + display_backlight_get_custom_status(&attr_data.b); + break; default: ret = -EINVAL; break; @@ -228,6 +240,16 @@ static const struct syscommon_resman_resource_attribute display_attrs[] = { .set_2_tuple = set_tuple2_display_attr_data, .is_supported = syscommon_resman_resource_attr_supported_always, }, + }, { + .name = "DEVICED_DISPLAY_ATTR_INT_CUSTOM_BRIGHTNESS", + .id = DEVICED_DISPLAY_ATTR_INT_CUSTOM_BRIGHTNESS, + .type = SYSCOMMON_RESMAN_DATA_TYPE_INT, + .flag = SYSCOMMON_RESMAN_RESOURCE_FLAG_PUBLIC, + .ops = { + .set = set_display_attr_data, + .get = get_display_attr_data, + .is_supported = syscommon_resman_resource_attr_supported_always, + }, } }; -- 2.7.4