From 9aded9e58d151bed18bb02d1ad2394580189d1a4 Mon Sep 17 00:00:00 2001 From: Daniel Erat Date: Thu, 20 Sep 2018 18:09:01 -0700 Subject: system_api: Add SetBacklightBrightnessRequest powerd proto. Add a SetBacklightBrightnessRequest protocol message that Chrome will send to powerd via SetScreenBrightnessPercent D-Bus method calls. These calls currently send raw D-Bus arguments, but a new "cause" argument is needed. Also add a new "MODEL" enum value to BacklightBrightnessChange's "cause" enum. BUG=chromium:881786 TEST=built it Change-Id: Ife2fc6741ece56620ced37feab8e33c093aeae0a Reviewed-on: https://chromium-review.googlesource.com/1237429 Commit-Ready: Dan Erat Tested-by: Dan Erat Reviewed-by: Jia Meng Reviewed-by: Dan Erat --- dbus/power_manager/backlight.proto | 45 ++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/dbus/power_manager/backlight.proto b/dbus/power_manager/backlight.proto index 6a54a39..03bde65 100644 --- a/dbus/power_manager/backlight.proto +++ b/dbus/power_manager/backlight.proto @@ -8,13 +8,42 @@ option optimize_for = LITE_RUNTIME; package power_manager; +// See +// https://chromium.googlesource.com/chromiumos/platform2/+/master/power_manager/docs/screen_brightness.md +// for information about the mapping between brightness percents and backlight +// hardware levels. + +// Request to change the backlight brightness sent from Chrome to powerd in a +// SetScreenBrightnessPercent D-Bus method call. +message SetBacklightBrightnessRequest { + // Desired backlight brightness as a percent in the range [0.0, 100.0]. + optional double percent = 1; + + // The speed at which the brightness should go to the requested percent. + enum Transition { + // The brightness should animate to the new percent. + GRADUAL = 0; + // The brightness should instantaneously go to the new percent. + INSTANT = 1; + } + optional Transition transition = 2; + + // The reason the request was sent. + enum Cause { + // Explicit user request (typically using the onscreen brightness slider). + USER_REQUEST = 0; + // Automated request based on a prediction of the desired brightness. + MODEL = 1; + } + optional Cause cause = 3; + + // Next value to use: 4 +} + // Announcement of a backlight brightness change emitted by powerd via a // ScreenBrightnessChanged or KeyboardBrightnessChanged D-Bus signal. message BacklightBrightnessChange { - // Backlight brightness as a percent in the range [0.0, 100.0]. See - // https://chromium.googlesource.com/chromiumos/platform2/+/master/power_manager/docs/screen_brightness.md - // for more information about the mapping between percents and hardware - // levels. + // Current backlight brightness as a percent in the range [0.0, 100.0]. optional double percent = 1; // The reason the brightness was changed. @@ -24,9 +53,9 @@ message BacklightBrightnessChange { // Automated change in response to user activity (input event, video // activity, etc.). USER_ACTIVITY = 1; - // Automated change triggered by idle timeout due to user inactivity. + // Automated powerd change triggered by idle timeout due to user inactivity. USER_INACTIVITY = 2; - // Automated change caused by a change to the ambient light level. + // Automated powerd change due by a change to the ambient light level. AMBIENT_LIGHT_CHANGED = 3; // An external power source was connected. EXTERNAL_POWER_CONNECTED = 4; @@ -39,7 +68,9 @@ message BacklightBrightnessChange { NO_LONGER_FORCED_OFF = 7; // Unspecified automated change (suspend/resume, shutdown, etc.). OTHER = 8; - // Next value to use: 9 + // Automated request based on a prediction of the desired brightness. + MODEL = 9; + // Next value to use: 10 } optional Cause cause = 2; -- cgit v1.2.3