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

Commit 67d48682 authored by Rupesh Bansal's avatar Rupesh Bansal Committed by Android (Google) Code Review
Browse files

Merge "Moved brightness related configs from DPC to DisplayBrightnessController"

parents 2c597cec 07565341
Loading
Loading
Loading
Loading
+5 −1
Original line number Original line Diff line number Diff line
@@ -96,7 +96,11 @@ public class BrightnessSetting {
        mListeners.remove(l);
        mListeners.remove(l);
    }
    }


    void setBrightness(float brightness) {
    /**
     * Sets the brigtness and broadcasts the change to the listeners.
     * @param brightness The value to which the brightness is to be set.
     */
    public void setBrightness(float brightness) {
        if (Float.isNaN(brightness)) {
        if (Float.isNaN(brightness)) {
            Slog.w(TAG, "Attempting to set invalid brightness");
            Slog.w(TAG, "Attempting to set invalid brightness");
            return;
            return;
+32 −112
Original line number Original line Diff line number Diff line
@@ -68,6 +68,7 @@ import com.android.server.am.BatteryStatsService;
import com.android.server.display.RampAnimator.DualRampAnimator;
import com.android.server.display.RampAnimator.DualRampAnimator;
import com.android.server.display.brightness.BrightnessEvent;
import com.android.server.display.brightness.BrightnessEvent;
import com.android.server.display.brightness.BrightnessReason;
import com.android.server.display.brightness.BrightnessReason;
import com.android.server.display.brightness.BrightnessUtils;
import com.android.server.display.brightness.DisplayBrightnessController;
import com.android.server.display.brightness.DisplayBrightnessController;
import com.android.server.display.color.ColorDisplayService.ColorDisplayServiceInternal;
import com.android.server.display.color.ColorDisplayService.ColorDisplayServiceInternal;
import com.android.server.display.color.ColorDisplayService.ReduceBrightColorsListener;
import com.android.server.display.color.ColorDisplayService.ReduceBrightColorsListener;
@@ -197,8 +198,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
    // mScreenBrightnessDimConfig.
    // mScreenBrightnessDimConfig.
    private final float mScreenBrightnessMinimumDimAmount;
    private final float mScreenBrightnessMinimumDimAmount;


    private final float mScreenBrightnessDefault;

    // True if auto-brightness should be used.
    // True if auto-brightness should be used.
    private boolean mUseSoftwareAutoBrightnessConfig;
    private boolean mUseSoftwareAutoBrightnessConfig;


@@ -331,8 +330,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal


    private final BrightnessThrottler mBrightnessThrottler;
    private final BrightnessThrottler mBrightnessThrottler;


    private final BrightnessSetting mBrightnessSetting;

    private final Runnable mOnBrightnessChangeRunnable;
    private final Runnable mOnBrightnessChangeRunnable;


    private final BrightnessEvent mLastBrightnessEvent;
    private final BrightnessEvent mLastBrightnessEvent;
@@ -383,19 +380,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
    @Nullable
    @Nullable
    private BrightnessConfiguration mBrightnessConfiguration;
    private BrightnessConfiguration mBrightnessConfiguration;


    // The last brightness that was set by the user and not temporary. Set to
    // PowerManager.BRIGHTNESS_INVALID_FLOAT when a brightness has yet to be recorded.
    private float mLastUserSetScreenBrightness = Float.NaN;

    // The screen brightness setting has changed but not taken effect yet. If this is different
    // from the current screen brightness setting then this is coming from something other than us
    // and should be considered a user interaction.
    private float mPendingScreenBrightnessSetting;

    // The last observed screen brightness setting, either set by us or by the settings app on
    // behalf of the user.
    private float mCurrentScreenBrightnessSetting;

    // The last auto brightness adjustment that was set by the user and not temporary. Set to
    // The last auto brightness adjustment that was set by the user and not temporary. Set to
    // Float.NaN when an auto-brightness adjustment hasn't been recorded yet.
    // Float.NaN when an auto-brightness adjustment hasn't been recorded yet.
    private float mAutoBrightnessAdjustment;
    private float mAutoBrightnessAdjustment;
@@ -416,7 +400,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
    private ObjectAnimator mColorFadeOnAnimator;
    private ObjectAnimator mColorFadeOnAnimator;
    private ObjectAnimator mColorFadeOffAnimator;
    private ObjectAnimator mColorFadeOffAnimator;
    private DualRampAnimator<DisplayPowerState> mScreenBrightnessRampAnimator;
    private DualRampAnimator<DisplayPowerState> mScreenBrightnessRampAnimator;
    private BrightnessSetting.BrightnessSettingListener mBrightnessSettingListener;


    // True if this DisplayPowerController2 has been stopped and should no longer be running.
    // True if this DisplayPowerController2 has been stopped and should no longer be running.
    private boolean mStopped;
    private boolean mStopped;
@@ -469,8 +452,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
        mBlanker = blanker;
        mBlanker = blanker;
        mContext = context;
        mContext = context;
        mBrightnessTracker = brightnessTracker;
        mBrightnessTracker = brightnessTracker;
        // TODO: b/186428377 update brightness setting when display changes
        mBrightnessSetting = brightnessSetting;
        mOnBrightnessChangeRunnable = onBrightnessChangeRunnable;
        mOnBrightnessChangeRunnable = onBrightnessChangeRunnable;


        PowerManager pm = context.getSystemService(PowerManager.class);
        PowerManager pm = context.getSystemService(PowerManager.class);
@@ -478,18 +459,13 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
        final Resources resources = context.getResources();
        final Resources resources = context.getResources();


        // DOZE AND DIM SETTINGS
        // DOZE AND DIM SETTINGS
        mScreenBrightnessDozeConfig = clampAbsoluteBrightness(
        mScreenBrightnessDozeConfig = BrightnessUtils.clampAbsoluteBrightness(
                pm.getBrightnessConstraint(PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_DOZE));
                pm.getBrightnessConstraint(PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_DOZE));
        mScreenBrightnessDimConfig = clampAbsoluteBrightness(
        mScreenBrightnessDimConfig = BrightnessUtils.clampAbsoluteBrightness(
                pm.getBrightnessConstraint(PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_DIM));
                pm.getBrightnessConstraint(PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_DIM));
        mScreenBrightnessMinimumDimAmount = resources.getFloat(
        mScreenBrightnessMinimumDimAmount = resources.getFloat(
                R.dimen.config_screenBrightnessMinimumDimAmountFloat);
                R.dimen.config_screenBrightnessMinimumDimAmountFloat);



        // NORMAL SCREEN SETTINGS
        mScreenBrightnessDefault = clampAbsoluteBrightness(
                mLogicalDisplay.getDisplayInfoLocked().brightnessDefault);

        loadBrightnessRampRates();
        loadBrightnessRampRates();
        mSkipScreenOnBrightnessRamp = resources.getBoolean(
        mSkipScreenOnBrightnessRamp = resources.getBoolean(
                R.bool.config_skipScreenOnBrightnessRamp);
                R.bool.config_skipScreenOnBrightnessRamp);
@@ -497,7 +473,10 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
        mHbmController = createHbmControllerLocked();
        mHbmController = createHbmControllerLocked();


        mBrightnessThrottler = createBrightnessThrottlerLocked();
        mBrightnessThrottler = createBrightnessThrottlerLocked();

        mDisplayBrightnessController =
                new DisplayBrightnessController(context, null,
                        mDisplayId, mLogicalDisplay.getDisplayInfoLocked().brightnessDefault,
                        brightnessSetting, () -> postBrightnessChangeRunnable());
        // Seed the cached brightness
        // Seed the cached brightness
        saveBrightnessInfo(getScreenBrightnessSetting());
        saveBrightnessInfo(getScreenBrightnessSetting());


@@ -552,12 +531,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal


        mBrightnessBucketsInDozeConfig = resources.getBoolean(
        mBrightnessBucketsInDozeConfig = resources.getBoolean(
                R.bool.config_displayBrightnessBucketsInDoze);
                R.bool.config_displayBrightnessBucketsInDoze);

        mDisplayBrightnessController =
                new DisplayBrightnessController(context, null, mDisplayId);
        mCurrentScreenBrightnessSetting = getScreenBrightnessSetting();
        mAutoBrightnessAdjustment = getAutoBrightnessAdjustmentSetting();
        mAutoBrightnessAdjustment = getAutoBrightnessAdjustmentSetting();
        mPendingScreenBrightnessSetting = PowerManager.BRIGHTNESS_INVALID_FLOAT;
        mTemporaryAutoBrightnessAdjustment = PowerManager.BRIGHTNESS_INVALID_FLOAT;
        mTemporaryAutoBrightnessAdjustment = PowerManager.BRIGHTNESS_INVALID_FLOAT;
        mPendingAutoBrightnessAdjustment = PowerManager.BRIGHTNESS_INVALID_FLOAT;
        mPendingAutoBrightnessAdjustment = PowerManager.BRIGHTNESS_INVALID_FLOAT;


@@ -770,9 +744,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
                mAutomaticBrightnessController.stop();
                mAutomaticBrightnessController.stop();
            }
            }


            if (mBrightnessSetting != null) {
            mDisplayBrightnessController.stop();
                mBrightnessSetting.unregisterListener(mBrightnessSettingListener);
            }


            mContext.getContentResolver().unregisterContentObserver(mSettingsObserver);
            mContext.getContentResolver().unregisterContentObserver(mSettingsObserver);
        }
        }
@@ -849,12 +821,14 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
        if (mBrightnessTracker != null && brightness >= PowerManager.BRIGHTNESS_MIN) {
        if (mBrightnessTracker != null && brightness >= PowerManager.BRIGHTNESS_MIN) {
            mBrightnessTracker.start(brightness);
            mBrightnessTracker.start(brightness);
        }
        }
        mBrightnessSettingListener = brightnessValue -> {

        BrightnessSetting.BrightnessSettingListener brightnessSettingListener = brightnessValue -> {
            Message msg = mHandler.obtainMessage(MSG_UPDATE_BRIGHTNESS, brightnessValue);
            Message msg = mHandler.obtainMessage(MSG_UPDATE_BRIGHTNESS, brightnessValue);
            mHandler.sendMessage(msg);
            mHandler.sendMessage(msg);
        };
        };
        mDisplayBrightnessController
                .registerBrightnessSettingChangeListener(brightnessSettingListener);


        mBrightnessSetting.registerListener(mBrightnessSettingListener);
        mContext.getContentResolver().registerContentObserver(
        mContext.getContentResolver().registerContentObserver(
                Settings.System.getUriFor(Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ),
                Settings.System.getUriFor(Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ),
                false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL);
                false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL);
@@ -1204,7 +1178,8 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
                        ? AutomaticBrightnessController.AUTO_BRIGHTNESS_OFF_DUE_TO_DISPLAY_STATE
                        ? AutomaticBrightnessController.AUTO_BRIGHTNESS_OFF_DUE_TO_DISPLAY_STATE
                        : AutomaticBrightnessController.AUTO_BRIGHTNESS_DISABLED;
                        : AutomaticBrightnessController.AUTO_BRIGHTNESS_DISABLED;


        final boolean userSetBrightnessChanged = updateUserSetScreenBrightness();
        final boolean userSetBrightnessChanged = mDisplayBrightnessController
                .updateUserSetScreenBrightness();


        final boolean autoBrightnessAdjustmentChanged = updateAutoBrightnessAdjustment();
        final boolean autoBrightnessAdjustmentChanged = updateAutoBrightnessAdjustment();


@@ -1230,7 +1205,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
            hadUserBrightnessPoint = mAutomaticBrightnessController.hasUserDataPoints();
            hadUserBrightnessPoint = mAutomaticBrightnessController.hasUserDataPoints();
            mAutomaticBrightnessController.configure(autoBrightnessState,
            mAutomaticBrightnessController.configure(autoBrightnessState,
                    mBrightnessConfiguration,
                    mBrightnessConfiguration,
                    mLastUserSetScreenBrightness,
                    mDisplayBrightnessController.getLastUserSetScreenBrightness(),
                    userSetBrightnessChanged, autoBrightnessAdjustment,
                    userSetBrightnessChanged, autoBrightnessAdjustment,
                    autoBrightnessAdjustmentChanged, mPowerRequest.policy,
                    autoBrightnessAdjustmentChanged, mPowerRequest.policy,
                    mShouldResetShortTermModel);
                    mShouldResetShortTermModel);
@@ -1242,7 +1217,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
        }
        }


        boolean updateScreenBrightnessSetting = false;
        boolean updateScreenBrightnessSetting = false;

        float currentBrightnessSetting = mDisplayBrightnessController.getCurrentBrightness();
        // Apply auto-brightness.
        // Apply auto-brightness.
        boolean slowChange = false;
        boolean slowChange = false;
        if (Float.isNaN(brightnessState)) {
        if (Float.isNaN(brightnessState)) {
@@ -1253,14 +1228,14 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
                newAutoBrightnessAdjustment =
                newAutoBrightnessAdjustment =
                        mAutomaticBrightnessController.getAutomaticScreenBrightnessAdjustment();
                        mAutomaticBrightnessController.getAutomaticScreenBrightnessAdjustment();
            }
            }
            if (isValidBrightnessValue(brightnessState)
            if (BrightnessUtils.isValidBrightnessValue(brightnessState)
                    || brightnessState == PowerManager.BRIGHTNESS_OFF_FLOAT) {
                    || brightnessState == PowerManager.BRIGHTNESS_OFF_FLOAT) {
                // Use current auto-brightness value and slowly adjust to changes.
                // Use current auto-brightness value and slowly adjust to changes.
                brightnessState = clampScreenBrightness(brightnessState);
                brightnessState = clampScreenBrightness(brightnessState);
                if (mAppliedAutoBrightness && !autoBrightnessAdjustmentChanged) {
                if (mAppliedAutoBrightness && !autoBrightnessAdjustmentChanged) {
                    slowChange = true; // slowly adapt to auto-brightness
                    slowChange = true; // slowly adapt to auto-brightness
                }
                }
                updateScreenBrightnessSetting = mCurrentScreenBrightnessSetting != brightnessState;
                updateScreenBrightnessSetting = currentBrightnessSetting != brightnessState;
                mAppliedAutoBrightness = true;
                mAppliedAutoBrightness = true;
                mBrightnessReasonTemp.setReason(BrightnessReason.REASON_AUTOMATIC);
                mBrightnessReasonTemp.setReason(BrightnessReason.REASON_AUTOMATIC);
                if (mScreenOffBrightnessSensorController != null) {
                if (mScreenOffBrightnessSensorController != null) {
@@ -1298,9 +1273,10 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
        if (Float.isNaN(brightnessState) && autoBrightnessEnabled
        if (Float.isNaN(brightnessState) && autoBrightnessEnabled
                && mScreenOffBrightnessSensorController != null) {
                && mScreenOffBrightnessSensorController != null) {
            brightnessState = mScreenOffBrightnessSensorController.getAutomaticScreenBrightness();
            brightnessState = mScreenOffBrightnessSensorController.getAutomaticScreenBrightness();
            if (isValidBrightnessValue(brightnessState)) {
            if (BrightnessUtils.isValidBrightnessValue(brightnessState)) {
                brightnessState = clampScreenBrightness(brightnessState);
                brightnessState = clampScreenBrightness(brightnessState);
                updateScreenBrightnessSetting = mCurrentScreenBrightnessSetting != brightnessState;
                updateScreenBrightnessSetting = mDisplayBrightnessController.getCurrentBrightness()
                        != brightnessState;
                mBrightnessReasonTemp.setReason(
                mBrightnessReasonTemp.setReason(
                        BrightnessReason.REASON_SCREEN_OFF_BRIGHTNESS_SENSOR);
                        BrightnessReason.REASON_SCREEN_OFF_BRIGHTNESS_SENSOR);
            }
            }
@@ -1308,8 +1284,8 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal


        // Apply manual brightness.
        // Apply manual brightness.
        if (Float.isNaN(brightnessState)) {
        if (Float.isNaN(brightnessState)) {
            brightnessState = clampScreenBrightness(mCurrentScreenBrightnessSetting);
            brightnessState = clampScreenBrightness(currentBrightnessSetting);
            if (brightnessState != mCurrentScreenBrightnessSetting) {
            if (brightnessState != currentBrightnessSetting) {
                // The manually chosen screen brightness is outside of the currently allowed
                // The manually chosen screen brightness is outside of the currently allowed
                // range (i.e., high-brightness-mode), make sure we tell the rest of the system
                // range (i.e., high-brightness-mode), make sure we tell the rest of the system
                // by updating the setting.
                // by updating the setting.
@@ -1346,7 +1322,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
            // before applying the low power or dim transformations so that the slider
            // before applying the low power or dim transformations so that the slider
            // accurately represents the full possible range, even if they range changes what
            // accurately represents the full possible range, even if they range changes what
            // it means in absolute terms.
            // it means in absolute terms.
            updateScreenBrightnessSetting(brightnessState);
            mDisplayBrightnessController.updateScreenBrightnessSetting(brightnessState);
        }
        }


        // Apply dimming by at least some minimum amount when user activity
        // Apply dimming by at least some minimum amount when user activity
@@ -1457,7 +1433,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal


            final float currentBrightness = mPowerState.getScreenBrightness();
            final float currentBrightness = mPowerState.getScreenBrightness();
            final float currentSdrBrightness = mPowerState.getSdrScreenBrightness();
            final float currentSdrBrightness = mPowerState.getSdrScreenBrightness();
            if (isValidBrightnessValue(animateValue)
            if (BrightnessUtils.isValidBrightnessValue(animateValue)
                    && (animateValue != currentBrightness
                    && (animateValue != currentBrightness
                    || sdrAnimateValue != currentSdrBrightness)) {
                    || sdrAnimateValue != currentSdrBrightness)) {
                if (initialRampSkip || hasBrightnessBuckets
                if (initialRampSkip || hasBrightnessBuckets
@@ -1892,12 +1868,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
                mHbmController.getCurrentBrightnessMin(), mHbmController.getCurrentBrightnessMax());
                mHbmController.getCurrentBrightnessMin(), mHbmController.getCurrentBrightnessMax());
    }
    }


    // Checks whether the brightness is within the valid brightness range, not including off.
    private boolean isValidBrightnessValue(float brightness) {
        return brightness >= PowerManager.BRIGHTNESS_MIN
                && brightness <= PowerManager.BRIGHTNESS_MAX;
    }

    private void animateScreenBrightness(float target, float sdrTarget, float rate) {
    private void animateScreenBrightness(float target, float sdrTarget, float rate) {
        if (DEBUG) {
        if (DEBUG) {
            Slog.d(mTag, "Animating brightness: target=" + target + ", sdrTarget=" + sdrTarget
            Slog.d(mTag, "Animating brightness: target=" + target + ", sdrTarget=" + sdrTarget
@@ -2078,11 +2048,14 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
    }
    }


    private void handleSettingsChange(boolean userSwitch) {
    private void handleSettingsChange(boolean userSwitch) {
        mPendingScreenBrightnessSetting = getScreenBrightnessSetting();
        mDisplayBrightnessController
                .setPendingScreenBrightness(mDisplayBrightnessController
                        .getScreenBrightnessSetting());
        mPendingAutoBrightnessAdjustment = getAutoBrightnessAdjustmentSetting();
        mPendingAutoBrightnessAdjustment = getAutoBrightnessAdjustmentSetting();
        if (userSwitch) {
        if (userSwitch) {
            // Don't treat user switches as user initiated change.
            // Don't treat user switches as user initiated change.
            setCurrentScreenBrightness(mPendingScreenBrightnessSetting);
            mDisplayBrightnessController.setCurrentScreenBrightness(mDisplayBrightnessController
                    .getPendingScreenBrightness());
            updateAutoBrightnessAdjustment();
            updateAutoBrightnessAdjustment();
            if (mAutomaticBrightnessController != null) {
            if (mAutomaticBrightnessController != null) {
                mAutomaticBrightnessController.resetShortTermModel();
                mAutomaticBrightnessController.resetShortTermModel();
@@ -2111,34 +2084,12 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal


    @Override
    @Override
    public float getScreenBrightnessSetting() {
    public float getScreenBrightnessSetting() {
        float brightness = mBrightnessSetting.getBrightness();
        return mDisplayBrightnessController.getScreenBrightnessSetting();
        if (Float.isNaN(brightness)) {
            brightness = mScreenBrightnessDefault;
        }
        return clampAbsoluteBrightness(brightness);
    }
    }


    @Override
    @Override
    public void setBrightness(float brightnessValue) {
    public void setBrightness(float brightnessValue) {
        // Update the setting, which will eventually call back into DPC to have us actually update
        mDisplayBrightnessController.setBrightness(brightnessValue);
        // the display with the new value.
        mBrightnessSetting.setBrightness(brightnessValue);
    }

    private void updateScreenBrightnessSetting(float brightnessValue) {
        if (!isValidBrightnessValue(brightnessValue)
                || brightnessValue == mCurrentScreenBrightnessSetting) {
            return;
        }
        setCurrentScreenBrightness(brightnessValue);
        mBrightnessSetting.setBrightness(brightnessValue);
    }

    private void setCurrentScreenBrightness(float brightnessValue) {
        if (brightnessValue != mCurrentScreenBrightnessSetting) {
            mCurrentScreenBrightnessSetting = brightnessValue;
            postBrightnessChangeRunnable();
        }
    }
    }


    private void putAutoBrightnessAdjustmentSetting(float adjustment) {
    private void putAutoBrightnessAdjustmentSetting(float adjustment) {
@@ -2164,28 +2115,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
        return true;
        return true;
    }
    }


    // We want to return true if the user has set the screen brightness.
    // RBC on, off, and intensity changes will return false.
    // Slider interactions whilst in RBC will return true, just as when in non-rbc.
    private boolean updateUserSetScreenBrightness() {
        if ((Float.isNaN(mPendingScreenBrightnessSetting)
                || mPendingScreenBrightnessSetting < 0.0f)) {
            return false;
        }
        if (mCurrentScreenBrightnessSetting == mPendingScreenBrightnessSetting) {
            mPendingScreenBrightnessSetting = PowerManager.BRIGHTNESS_INVALID_FLOAT;
            mDisplayBrightnessController
                    .setTemporaryBrightness(PowerManager.BRIGHTNESS_INVALID_FLOAT);
            return false;
        }
        setCurrentScreenBrightness(mPendingScreenBrightnessSetting);
        mLastUserSetScreenBrightness = mPendingScreenBrightnessSetting;
        mPendingScreenBrightnessSetting = PowerManager.BRIGHTNESS_INVALID_FLOAT;
        mDisplayBrightnessController
                .setTemporaryBrightness(PowerManager.BRIGHTNESS_INVALID_FLOAT);
        return true;
    }

    private void notifyBrightnessTrackerChanged(float brightness, boolean userInitiated,
    private void notifyBrightnessTrackerChanged(float brightness, boolean userInitiated,
            boolean hadUserDataPoint) {
            boolean hadUserDataPoint) {
        final float brightnessInNits = convertToNits(brightness);
        final float brightnessInNits = convertToNits(brightness);
@@ -2230,7 +2159,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal


        pw.println();
        pw.println();
        pw.println("Display Power Controller Configuration:");
        pw.println("Display Power Controller Configuration:");
        pw.println("  mScreenBrightnessRangeDefault=" + mScreenBrightnessDefault);
        pw.println("  mScreenBrightnessDozeConfig=" + mScreenBrightnessDozeConfig);
        pw.println("  mScreenBrightnessDozeConfig=" + mScreenBrightnessDozeConfig);
        pw.println("  mScreenBrightnessDimConfig=" + mScreenBrightnessDimConfig);
        pw.println("  mScreenBrightnessDimConfig=" + mScreenBrightnessDimConfig);
        pw.println("  mUseSoftwareAutoBrightnessConfig=" + mUseSoftwareAutoBrightnessConfig);
        pw.println("  mUseSoftwareAutoBrightnessConfig=" + mUseSoftwareAutoBrightnessConfig);
@@ -2261,9 +2189,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
        pw.println();
        pw.println();
        pw.println("Display Power Controller Thread State:");
        pw.println("Display Power Controller Thread State:");
        pw.println("  mPowerRequest=" + mPowerRequest);
        pw.println("  mPowerRequest=" + mPowerRequest);
        pw.println("  mLastUserSetScreenBrightness=" + mLastUserSetScreenBrightness);
        pw.println("  mPendingScreenBrightnessSetting="
                + mPendingScreenBrightnessSetting);
        pw.println("  mAutoBrightnessAdjustment=" + mAutoBrightnessAdjustment);
        pw.println("  mAutoBrightnessAdjustment=" + mAutoBrightnessAdjustment);
        pw.println("  mBrightnessReason=" + mBrightnessReason);
        pw.println("  mBrightnessReason=" + mBrightnessReason);
        pw.println("  mTemporaryAutoBrightnessAdjustment=" + mTemporaryAutoBrightnessAdjustment);
        pw.println("  mTemporaryAutoBrightnessAdjustment=" + mTemporaryAutoBrightnessAdjustment);
@@ -2380,11 +2305,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
        }
        }
    }
    }


    private static float clampAbsoluteBrightness(float value) {
        return MathUtils.constrain(value, PowerManager.BRIGHTNESS_MIN,
                PowerManager.BRIGHTNESS_MAX);
    }

    private static float clampAutoBrightnessAdjustment(float value) {
    private static float clampAutoBrightnessAdjustment(float value) {
        return MathUtils.constrain(value, -1.0f, 1.0f);
        return MathUtils.constrain(value, -1.0f, 1.0f);
    }
    }
+9 −0
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.server.display.brightness;
package com.android.server.display.brightness;


import android.os.PowerManager;
import android.os.PowerManager;
import android.util.MathUtils;


import com.android.server.display.DisplayBrightnessState;
import com.android.server.display.DisplayBrightnessState;


@@ -32,6 +33,14 @@ public final class BrightnessUtils {
                && brightness <= PowerManager.BRIGHTNESS_MAX;
                && brightness <= PowerManager.BRIGHTNESS_MAX;
    }
    }


    /**
     * Clamps the brightness value in the maximum and the minimum brightness range
     */
    public static float clampAbsoluteBrightness(float value) {
        return MathUtils.constrain(value, PowerManager.BRIGHTNESS_MIN,
                PowerManager.BRIGHTNESS_MAX);
    }

    /**
    /**
     * A utility to construct the DisplayBrightnessState
     * A utility to construct the DisplayBrightnessState
     */
     */
+227 −19

File changed.

Preview size limit exceeded, changes collapsed.

+167 −2

File changed.

Preview size limit exceeded, changes collapsed.