Commit f16626c2 authored by Jia's avatar Jia Committed by Commit Bot

[On-device adaptive brightness] Add AutoScreenBrightnessContinuedAdjustment flag

If this flag is enabled, auto-brightness model will continue to adapt brightness
when ambient value changes, even after user changes brightness.

The flag is meant to remain disabled, and only enabled by developers for
experiments.

Bug: 881215
Change-Id: I8ee71a6f988554e0479f420b77996687fd32685c
Reviewed-on: https://chromium-review.googlesource.com/c/1353059Reviewed-by: default avatarDan Erat <derat@chromium.org>
Commit-Queue: Jia Meng <jiameng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611961}
parent 34bc581e
...@@ -56,6 +56,10 @@ Adapter::Adapter(Profile* profile, ...@@ -56,6 +56,10 @@ Adapter::Adapter(Profile* profile,
return; return;
} }
continue_auto_brightness_after_user_adjustment_ =
base::FeatureList::IsEnabled(
features::kAutoScreenBrightnessContinuedAdjustment);
InitParams(); InitParams();
} }
...@@ -95,9 +99,12 @@ void Adapter::OnUserBrightnessChanged(double old_brightness_percent, ...@@ -95,9 +99,12 @@ void Adapter::OnUserBrightnessChanged(double old_brightness_percent,
double new_brightness_percent) {} double new_brightness_percent) {}
void Adapter::OnUserBrightnessChangeRequested() { void Adapter::OnUserBrightnessChangeRequested() {
// This will disable |adapter_status_| so that the model will not make any if (!continue_auto_brightness_after_user_adjustment_) {
// brightness adjustment. // This will disable |adapter_status_| so that the model will not make any
adapter_status_ = Status::kDisabled; // brightness adjustment.
adapter_status_ = Status::kDisabled;
}
if (!als_init_status_) if (!als_init_status_)
return; return;
......
...@@ -189,6 +189,10 @@ class Adapter : public AlsReader::Observer, ...@@ -189,6 +189,10 @@ class Adapter : public AlsReader::Observer,
chromeos::PowerManagerClient* const power_manager_client_; chromeos::PowerManagerClient* const power_manager_client_;
// Whether to continue adapting brightness after user makes a brightness
// change.
bool continue_auto_brightness_after_user_adjustment_ = false;
Params params_; Params params_;
// This will be replaced by a mock tick clock during tests. // This will be replaced by a mock tick clock during tests.
......
...@@ -21,6 +21,14 @@ const base::Feature kAndroidMessagesProdEndpoint{ ...@@ -21,6 +21,14 @@ const base::Feature kAndroidMessagesProdEndpoint{
const base::Feature kAutoScreenBrightness{"AutoScreenBrightness", const base::Feature kAutoScreenBrightness{"AutoScreenBrightness",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
// If enabled, auto-screen-brightness model will continue to adapt brightness
// (based on ambient light)
// after user changes brightness. Otherwise, the model will be disabled until
// Chrome restarts.
const base::Feature kAutoScreenBrightnessContinuedAdjustment{
"AutoScreenBrightnessContinuedAdjustment",
base::FEATURE_DISABLED_BY_DEFAULT};
// Enables or disables native ChromeVox support for Arc. // Enables or disables native ChromeVox support for Arc.
const base::Feature kChromeVoxArcSupport{"ChromeVoxArcSupport", const base::Feature kChromeVoxArcSupport{"ChromeVoxArcSupport",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
......
...@@ -18,6 +18,8 @@ namespace features { ...@@ -18,6 +18,8 @@ namespace features {
CHROMEOS_EXPORT extern const base::Feature kAndroidMessagesIntegration; CHROMEOS_EXPORT extern const base::Feature kAndroidMessagesIntegration;
CHROMEOS_EXPORT extern const base::Feature kAndroidMessagesProdEndpoint; CHROMEOS_EXPORT extern const base::Feature kAndroidMessagesProdEndpoint;
CHROMEOS_EXPORT extern const base::Feature kAutoScreenBrightness; CHROMEOS_EXPORT extern const base::Feature kAutoScreenBrightness;
CHROMEOS_EXPORT extern const base::Feature
kAutoScreenBrightnessContinuedAdjustment;
CHROMEOS_EXPORT extern const base::Feature kChromeVoxArcSupport; CHROMEOS_EXPORT extern const base::Feature kChromeVoxArcSupport;
CHROMEOS_EXPORT extern const base::Feature kCrostiniFiles; CHROMEOS_EXPORT extern const base::Feature kCrostiniFiles;
CHROMEOS_EXPORT extern const base::Feature kCrostiniUsbSupport; CHROMEOS_EXPORT extern const base::Feature kCrostiniUsbSupport;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment