Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 63a40069 authored by Michael Wright's avatar Michael Wright
Browse files

Add new config to tell us whether brightness is bucketed or continuous

If we know brightness is bucketed rather than continuous, then we skip
the brightness animation and just go straight to the expected brightness
level.

Bug: 64007419
Test: manual
Change-Id: I2ac0c5f45cc2ec1e758bb84a29d2ecda2c6d5b0d
parent c3e6af87
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1892,6 +1892,9 @@
    <!-- Whether the display blanks itself when transitioning from a doze to a non-doze state -->
    <bool name="config_displayBlanksAfterDoze">false</bool>

    <!-- True if the display hardware only has brightness buckets rather than a full range of
         backlight values -->
    <bool name="config_displayBrightnessBucketsInDoze">false</bool>

    <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
         device from the display on/off state.
+1 −0
Original line number Diff line number Diff line
@@ -3039,6 +3039,7 @@
  <java-symbol type="integer" name="config_inCallNotificationVolumeRelative" />
  <java-symbol type="bool" name="config_dozeAlwaysOnDisplayAvailable" />
  <java-symbol type="bool" name="config_displayBlanksAfterDoze" />
  <java-symbol type="bool" name="config_displayBrightnessBucketsInDoze" />
  <java-symbol type="integer" name="config_storageManagerDaystoRetainDefault" />
  <java-symbol type="string" name="config_headlineFontFamily" />
  <java-symbol type="string" name="config_headlineFontFamilyLight" />
+10 −1
Original line number Diff line number Diff line
@@ -175,6 +175,12 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
    // blank itself and begin an appropriate power on animation.
    private boolean mDisplayBlanksAfterDozeConfig;

    // True if there are only buckets of brightness values when the display is in the doze state,
    // rather than a full range of values. If this is true, then we'll avoid animating the screen
    // brightness since it'd likely be multiple jarring brightness transitions instead of just one
    // to reach the final state.
    private boolean mBrightnessBucketsInDozeConfig;

    // The pending power request.
    // Initially null until the first call to requestPowerState.
    // Guarded by mLock.
@@ -425,6 +431,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
        mDisplayBlanksAfterDozeConfig = resources.getBoolean(
                com.android.internal.R.bool.config_displayBlanksAfterDoze);

        mBrightnessBucketsInDozeConfig = resources.getBoolean(
                com.android.internal.R.bool.config_displayBrightnessBucketsInDoze);

        if (!DEBUG_PRETEND_PROXIMITY_SENSOR_ABSENT) {
            mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
            if (mProximitySensor != null) {
@@ -788,7 +797,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
            boolean wasOrWillBeInVr = (state == Display.STATE_VR || oldState == Display.STATE_VR);
            if ((state == Display.STATE_ON
                    && mSkipRampState == RAMP_STATE_SKIP_NONE
                    || state == Display.STATE_DOZE)
                    || state == Display.STATE_DOZE && !mBrightnessBucketsInDozeConfig)
                    && !wasOrWillBeInVr) {
                animateScreenBrightness(brightness,
                        slowChange ? mBrightnessRampRateSlow : mBrightnessRampRateFast);
+1 −1

File changed.

Contains only whitespace changes.