diff options
| author | 2023-02-23 13:51:39 +0000 | |
|---|---|---|
| committer | 2023-02-23 13:51:39 +0000 | |
| commit | 7429467d02fb2fb0286842dc9e31b046a7b8ff0f (patch) | |
| tree | 7faca11cc6cb87866a92a09a3f02691bb03d0d9d | |
| parent | dd218cbaf8b16fe610f40de8d640c7b822a43ca1 (diff) | |
| parent | d4e34a26e5d9c9880c1fc0c9c260fd6cd0435167 (diff) | |
Merge "Brightness key control: apply linear increment instead of gamma" into udc-dev
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); } |