summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Oleg Petšjonkin <petsjonkin@google.com> 2023-02-23 13:51:39 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-02-23 13:51:39 +0000
commit7429467d02fb2fb0286842dc9e31b046a7b8ff0f (patch)
tree7faca11cc6cb87866a92a09a3f02691bb03d0d9d
parentdd218cbaf8b16fe610f40de8d640c7b822a43ca1 (diff)
parentd4e34a26e5d9c9880c1fc0c9c260fd6cd0435167 (diff)
Merge "Brightness key control: apply linear increment instead of gamma" into udc-dev
-rw-r--r--packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/AccessibilityMenuService.java1
-rw-r--r--services/core/java/com/android/server/policy/PhoneWindowManager.java27
2 files changed, 16 insertions, 12 deletions
diff --git a/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/AccessibilityMenuService.java b/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/AccessibilityMenuService.java
index 40af294f9a6f..c1f2aa86c6b5 100644
--- a/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/AccessibilityMenuService.java
+++ b/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/AccessibilityMenuService.java
@@ -275,7 +275,6 @@ public class AccessibilityMenuService extends AccessibilityService
info.brightnessMinimum,
info.brightnessMaximum
);
- mDisplayManager.setTemporaryBrightness(getDisplayId(), brightness);
mDisplayManager.setBrightness(getDisplayId(), brightness);
mA11yMenuLayout.showSnackbar(
getString(R.string.brightness_percentage_label,
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index bbd9418c1411..a24f129cc575 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -161,6 +161,7 @@ import android.service.vr.IPersistentVrStateCallbacks;
import android.speech.RecognizerIntent;
import android.telecom.TelecomManager;
import android.util.Log;
+import android.util.MathUtils;
import android.util.MutableBoolean;
import android.util.PrintWriterPrinter;
import android.util.Slog;
@@ -210,6 +211,7 @@ import com.android.server.GestureLauncherService;
import com.android.server.LocalServices;
import com.android.server.SystemServiceManager;
import com.android.server.UiThread;
+import com.android.server.display.BrightnessUtils;
import com.android.server.input.InputManagerInternal;
import com.android.server.inputmethod.InputMethodManagerInternal;
import com.android.server.policy.KeyCombinationManager.TwoKeysCombinationRule;
@@ -3081,19 +3083,22 @@ public class PhoneWindowManager implements WindowManagerPolicy {
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL,
UserHandle.USER_CURRENT_OR_SELF);
}
- float min = mPowerManager.getBrightnessConstraint(
- PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM);
- float max = mPowerManager.getBrightnessConstraint(
- PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM);
- float step = (max - min) / BRIGHTNESS_STEPS * direction;
int screenDisplayId = displayId < 0 ? DEFAULT_DISPLAY : displayId;
- float brightness = mDisplayManager.getBrightness(screenDisplayId);
- brightness += step;
- // Make sure we don't go beyond the limits.
- brightness = Math.min(max, brightness);
- brightness = Math.max(min, brightness);
- mDisplayManager.setBrightness(screenDisplayId, brightness);
+ float linearBrightness = mDisplayManager.getBrightness(screenDisplayId);
+
+ float gammaBrightness = BrightnessUtils.convertLinearToGamma(linearBrightness);
+ float adjustedGammaBrightness =
+ gammaBrightness + 1f / BRIGHTNESS_STEPS * direction;
+
+ float adjustedLinearBrightness = BrightnessUtils.convertGammaToLinear(
+ adjustedGammaBrightness);
+
+ adjustedLinearBrightness = MathUtils.constrain(adjustedLinearBrightness, 0f,
+ 1f);
+
+ mDisplayManager.setBrightness(screenDisplayId, adjustedLinearBrightness);
+
startActivityAsUser(new Intent(Intent.ACTION_SHOW_BRIGHTNESS_DIALOG),
UserHandle.CURRENT_OR_SELF);
}