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

Commit 54a4daef authored by Oleg Petšjonkin's avatar Oleg Petšjonkin Committed by Android (Google) Code Review
Browse files

Merge "Revert "Move brightnessMaxReason to DisplayBrightnessState"" into main

parents bb240837 3ebc0acd
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -60,8 +60,7 @@ public final class BrightnessInfo implements Parcelable {
    @IntDef(prefix = {"BRIGHTNESS_MAX_REASON_"}, value = {
            BRIGHTNESS_MAX_REASON_NONE,
            BRIGHTNESS_MAX_REASON_THERMAL,
            BRIGHTNESS_MAX_REASON_POWER_IC,
            BRIGHTNESS_MAX_REASON_WEAR_BEDTIME_MODE
            BRIGHTNESS_MAX_REASON_POWER_IC
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface BrightnessMaxReason {}
@@ -158,8 +157,6 @@ public final class BrightnessInfo implements Parcelable {
                return "thermal";
            case BRIGHTNESS_MAX_REASON_POWER_IC:
                return "power IC";
            case BRIGHTNESS_MAX_REASON_WEAR_BEDTIME_MODE:
                return "wear bedtime";
        }
        return "invalid";
    }
+6 −36
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.server.display;

import android.hardware.display.BrightnessInfo;
import android.text.TextUtils;

import com.android.server.display.brightness.BrightnessEvent;
@@ -51,8 +50,6 @@ public final class DisplayBrightnessState {

    private final boolean mIsUserInitiatedChange;

    private @BrightnessInfo.BrightnessMaxReason int mBrightnessMaxReason;

    private DisplayBrightnessState(Builder builder) {
        mBrightness = builder.getBrightness();
        mHdrBrightness = builder.getHdrBrightness();
@@ -67,7 +64,6 @@ public final class DisplayBrightnessState {
        mBrightnessEvent = builder.getBrightnessEvent();
        mBrightnessAdjustmentFlag = builder.getBrightnessAdjustmentFlag();
        mIsUserInitiatedChange = builder.isUserInitiatedChange();
        mBrightnessMaxReason = builder.getBrightnessMaxReason();
    }

    /**
@@ -163,13 +159,6 @@ public final class DisplayBrightnessState {
        return mIsUserInitiatedChange;
    }

    /**
     * Gets reason for max brightness restriction
     */
    public @BrightnessInfo.BrightnessMaxReason int getBrightnessMaxReason() {
        return mBrightnessMaxReason;
    }

    @Override
    public String toString() {
        StringBuilder stringBuilder = new StringBuilder("DisplayBrightnessState:");
@@ -191,8 +180,6 @@ public final class DisplayBrightnessState {
                .append(Objects.toString(mBrightnessEvent, "null"));
        stringBuilder.append("\n    mBrightnessAdjustmentFlag:").append(mBrightnessAdjustmentFlag);
        stringBuilder.append("\n    mIsUserInitiatedChange:").append(mIsUserInitiatedChange);
        stringBuilder.append("\n    mBrightnessMaxReason:")
                .append(BrightnessInfo.briMaxReasonToString(mBrightnessMaxReason));
        return stringBuilder.toString();
    }

@@ -225,8 +212,7 @@ public final class DisplayBrightnessState {
                    == otherState.shouldUpdateScreenBrightnessSetting()
                && Objects.equals(mBrightnessEvent, otherState.getBrightnessEvent())
                && mBrightnessAdjustmentFlag == otherState.getBrightnessAdjustmentFlag()
                && mIsUserInitiatedChange == otherState.isUserInitiatedChange()
                && mBrightnessMaxReason == otherState.getBrightnessMaxReason();
                && mIsUserInitiatedChange == otherState.isUserInitiatedChange();
    }

    @Override
@@ -235,7 +221,7 @@ public final class DisplayBrightnessState {
                mShouldUseAutoBrightness, mIsSlowChange, mMaxBrightness, mMinBrightness,
                mCustomAnimationRate,
                mShouldUpdateScreenBrightnessSetting, mBrightnessEvent, mBrightnessAdjustmentFlag,
                mIsUserInitiatedChange, mBrightnessMaxReason);
                mIsUserInitiatedChange);
    }

    /**
@@ -259,11 +245,12 @@ public final class DisplayBrightnessState {
        private float mMinBrightness;
        private float mCustomAnimationRate = CUSTOM_ANIMATION_RATE_NOT_SET;
        private boolean mShouldUpdateScreenBrightnessSetting;

        private BrightnessEvent mBrightnessEvent;
        private int mBrightnessAdjustmentFlag = 0;

        public int mBrightnessAdjustmentFlag = 0;

        private boolean mIsUserInitiatedChange;
        private @BrightnessInfo.BrightnessMaxReason int mBrightnessMaxReason =
                BrightnessInfo.BRIGHTNESS_MAX_REASON_NONE;

        /**
         * Create a builder starting with the values from the specified {@link
@@ -287,7 +274,6 @@ public final class DisplayBrightnessState {
            builder.setBrightnessEvent(state.getBrightnessEvent());
            builder.setBrightnessAdjustmentFlag(state.getBrightnessAdjustmentFlag());
            builder.setIsUserInitiatedChange(state.isUserInitiatedChange());
            builder.setBrightnessMaxReason(state.getBrightnessMaxReason());
            return builder;
        }

@@ -510,21 +496,5 @@ public final class DisplayBrightnessState {
            mIsUserInitiatedChange = isUserInitiatedChange;
            return this;
        }

        /**
         * Gets reason for max brightness restriction
         */
        public @BrightnessInfo.BrightnessMaxReason int getBrightnessMaxReason() {
            return mBrightnessMaxReason;
        }

        /**
         * Sets reason for max brightness restriction
         */
        public Builder setBrightnessMaxReason(
                @BrightnessInfo.BrightnessMaxReason int brightnessMaxReason) {
            mBrightnessMaxReason = brightnessMaxReason;
            return this;
        }
    }
}
+5 −9
Original line number Diff line number Diff line
@@ -1580,7 +1580,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
        // brightness sources (such as an app override) are not saved to the setting, but should be
        // reflected in HBM calculations.
        mBrightnessRangeController.onBrightnessChanged(brightnessState, unthrottledBrightnessState,
                clampedState.getBrightnessMaxReason());
                mBrightnessClamperController.getBrightnessMaxReason());

        // Animate the screen brightness when the screen is on or dozing.
        // Skip the animation when the screen is off or suspended.
@@ -1783,7 +1783,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call

            if (userSetBrightnessChanged
                    || newEvent.getReason().getReason() != BrightnessReason.REASON_TEMPORARY) {
                logBrightnessEvent(newEvent, unthrottledBrightnessState, clampedState);
                logBrightnessEvent(newEvent, unthrottledBrightnessState);
            }
            if (mBrightnessEventRingBuffer != null) {
                mBrightnessEventRingBuffer.append(newEvent);
@@ -1976,9 +1976,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
        synchronized (mCachedBrightnessInfo) {
            float stateMax = state != null ? state.getMaxBrightness() : PowerManager.BRIGHTNESS_MAX;
            float stateMin = state != null ? state.getMinBrightness() : PowerManager.BRIGHTNESS_MAX;
            @BrightnessInfo.BrightnessMaxReason int maxReason =
                    state != null ? state.getBrightnessMaxReason()
                            : BrightnessInfo.BRIGHTNESS_MAX_REASON_NONE;
            final float minBrightness = Math.max(stateMin, Math.min(
                    mBrightnessRangeController.getCurrentBrightnessMin(), stateMax));
            final float maxBrightness = Math.min(
@@ -2005,7 +2002,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                            mBrightnessRangeController.getTransitionPoint());
            changed |=
                    mCachedBrightnessInfo.checkAndSetInt(mCachedBrightnessInfo.brightnessMaxReason,
                            maxReason);
                            mBrightnessClamperController.getBrightnessMaxReason());
            return changed;
        }
    }
@@ -2905,8 +2902,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
        return FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_UNKNOWN;
    }

    private void logBrightnessEvent(BrightnessEvent event, float unmodifiedBrightness,
            DisplayBrightnessState brightnessState) {
    private void logBrightnessEvent(BrightnessEvent event, float unmodifiedBrightness) {
        int modifier = event.getReason().getModifier();
        int flags = event.getFlags();
        // It's easier to check if the brightness is at maximum level using the brightness
@@ -2943,7 +2939,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                    event.getHbmMode() == BrightnessInfo.HIGH_BRIGHTNESS_MODE_SUNLIGHT,
                    event.getHbmMode() == BrightnessInfo.HIGH_BRIGHTNESS_MODE_HDR,
                    (modifier & BrightnessReason.MODIFIER_LOW_POWER) > 0,
                    brightnessState.getBrightnessMaxReason(),
                    mBrightnessClamperController.getBrightnessMaxReason(),
                    // TODO: (flc) add brightnessMinReason here too.
                    (modifier & BrightnessReason.MODIFIER_DIMMED) > 0,
                    event.isRbcEnabled(),
+12 −2
Original line number Diff line number Diff line
@@ -139,7 +139,6 @@ public class BrightnessClamperController {
        builder.setBrightness(cappedBrightness);
        builder.setMaxBrightness(mBrightnessCap);
        builder.setCustomAnimationRate(mCustomAnimationRate);
        builder.setBrightnessMaxReason(getBrightnessMaxReason());

        if (mClamperType != null) {
            builder.getBrightnessReason().addModifier(BrightnessReason.MODIFIER_THROTTLED);
@@ -164,8 +163,19 @@ public class BrightnessClamperController {
        return builder.build();
    }

    /**
     * See BrightnessThrottler.getBrightnessMaxReason:
     * used in:
     * 1) DPC2.CachedBrightnessInfo to determine changes
     * 2) DPC2.logBrightnessEvent
     * 3) HBMController - for logging
     * Method is called in mHandler thread (DisplayControllerHandler), in the same thread
     * recalculateBrightnessCap and DPC2.updatePowerStateInternal are called.
     * Should be moved to DisplayBrightnessState OR derived from DisplayBrightnessState
     * TODO: b/263362199
     */
    @BrightnessInfo.BrightnessMaxReason
    private int getBrightnessMaxReason() {
    public int getBrightnessMaxReason() {
        if (mClamperType == null) {
            return BrightnessInfo.BRIGHTNESS_MAX_REASON_NONE;
        } else if (mClamperType == Type.THERMAL) {
+1 −6
Original line number Diff line number Diff line
@@ -18,8 +18,6 @@ package com.android.server.display;

import static org.junit.Assert.assertEquals;

import android.hardware.display.BrightnessInfo;

import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;

@@ -114,10 +112,7 @@ public class DisplayBrightnessStateTest {
                .append("\n    mBrightnessAdjustmentFlag:")
                .append(displayBrightnessState.getBrightnessAdjustmentFlag())
                .append("\n    mIsUserInitiatedChange:")
                .append(displayBrightnessState.isUserInitiatedChange())
                .append("\n    mBrightnessMaxReason:")
                .append(BrightnessInfo.briMaxReasonToString(
                        displayBrightnessState.getBrightnessMaxReason()));
                .append(displayBrightnessState.isUserInitiatedChange());
        return sb.toString();
    }
}
Loading