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

Commit e2590ccc authored by Julius D'souza's avatar Julius D'souza Committed by Android (Google) Code Review
Browse files

Merge "DO NOT MERGE: Cap doze autobrightness when collecting new sensor samples" into cw-f-dev

parents e88cbbf4 a2b07dc8
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -1178,9 +1178,13 @@
    <integer-array name="config_dynamicHysteresisLuxLevels">
    </integer-array>

    <!-- This flag requires config_dozeSensorLuxLevels to have one or more entries and only affects
         the screen brightness while dozing. The screen brightness of a device is based off of a
         ring buffer of the last n seconds of ambient light sensor sample readings.
    <!-- This flag requires config_dozeBrightnessBacklightValues to have two or more entries; it is
         recommended that config_screenBrightnessDoze be greater than or equal to all these entries
         since this value is used as the doze screen brightness until a new sensor sample is
         acquired. This flag only affects the screen brightness while dozing.

         The screen brightness of a device is based off of a ring buffer of the last n seconds of
         ambient light sensor sample readings.

         If this flag is true, then this buffer is cleared and the screen brightness is based off of
         ambient light sensor readings that are obtained while the device is dozing.  This mode may
+12 −6
Original line number Diff line number Diff line
@@ -153,6 +153,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
    // True if should use light sensor to automatically determine doze screen brightness.
    private final boolean mAllowAutoBrightnessWhileDozingConfig;

    // True if using only new sensor samples to automatically determine doze screen brightness.
    private boolean mUseNewSensorSamplesForDoze;

    // True if we should fade the screen while turning it off, false if we should play
    // a stylish color fade animation instead.
    private boolean mColorFadeFadesConfig;
@@ -345,10 +348,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                    com.android.internal.R.array.config_dozeSensorLuxLevels);
            int[] dozeBrightnessBacklightValues = resources.getIntArray(
                    com.android.internal.R.array.config_dozeBrightnessBacklightValues);
            boolean useNewSensorSamplesForDoze = resources.getBoolean(
            mUseNewSensorSamplesForDoze = resources.getBoolean(
                    com.android.internal.R.bool.config_useNewSensorSamplesForDoze);
            LuxLevels luxLevels = new LuxLevels(brightHysteresisLevels, darkHysteresisLevels,
                    luxHysteresisLevels, useNewSensorSamplesForDoze, dozeSensorLuxLevels,
                    luxHysteresisLevels, mUseNewSensorSamplesForDoze, dozeSensorLuxLevels,
                    dozeBrightnessBacklightValues);

            Spline screenAutoBrightnessSpline = createAutoBrightnessSpline(lux, screenBrightness);
@@ -671,10 +674,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
            mAppliedAutoBrightness = false;
        }

        // Use default brightness when dozing unless overridden.
        if (brightness < 0 && (state == Display.STATE_DOZE
                || state == Display.STATE_DOZE_SUSPEND)) {
        // Use default brightness when dozing unless overridden or if collecting sensor samples.
        if (state == Display.STATE_DOZE || state == Display.STATE_DOZE_SUSPEND) {
            if (brightness < 0) {
                brightness = mScreenBrightnessDozeConfig;
            } else if (mUseNewSensorSamplesForDoze) {
                brightness = Math.min(brightness, mScreenBrightnessDozeConfig);
            }
        }

        // Apply manual brightness.