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

Commit e4cad958 authored by John Reck's avatar John Reck Committed by Android (Google) Code Review
Browse files

Merge "Flag the HDR animation change" into main

parents 87a7ca3f 7a595d23
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1978,8 +1978,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                    || sdrAnimateValue != currentSdrBrightness)) {
                boolean skipAnimation = initialRampSkip || hasBrightnessBuckets
                        || !isDisplayContentVisible || brightnessIsTemporary;
                if (!skipAnimation && BrightnessSynchronizer.floatEquals(
                        sdrAnimateValue, currentSdrBrightness)) {
                final boolean isHdrOnlyChange = BrightnessSynchronizer.floatEquals(
                        sdrAnimateValue, currentSdrBrightness);
                if (mFlags.isFastHdrTransitionsEnabled() && !skipAnimation && isHdrOnlyChange) {
                    // SDR brightness is unchanged, so animate quickly as this is only impacting
                    // a likely minority amount of display content
                    // ie, the highlights of an HDR video or UltraHDR image
+3 −2
Original line number Diff line number Diff line
@@ -1602,8 +1602,9 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
                    || sdrAnimateValue != currentSdrBrightness)) {
                boolean skipAnimation = initialRampSkip || hasBrightnessBuckets
                        || !isDisplayContentVisible || brightnessIsTemporary;
                if (!skipAnimation && BrightnessSynchronizer.floatEquals(
                        sdrAnimateValue, currentSdrBrightness)) {
                final boolean isHdrOnlyChange = BrightnessSynchronizer.floatEquals(
                        sdrAnimateValue, currentSdrBrightness);
                if (mFlags.isFastHdrTransitionsEnabled() && !skipAnimation && isHdrOnlyChange) {
                    // SDR brightness is unchanged, so animate quickly as this is only impacting
                    // a likely minority amount of display content
                    // ie, the highlights of an HDR video or UltraHDR image
+9 −0
Original line number Diff line number Diff line
@@ -101,6 +101,10 @@ public class DisplayManagerFlags {
            Flags.FLAG_AUTO_BRIGHTNESS_MODES,
            Flags::autoBrightnessModes);

    private final FlagState mFastHdrTransitions = new FlagState(
            Flags.FLAG_FAST_HDR_TRANSITIONS,
            Flags::fastHdrTransitions);

    /** Returns whether connected display management is enabled or not. */
    public boolean isConnectedDisplayManagementEnabled() {
        return mConnectedDisplayManagementFlagState.isEnabled();
@@ -205,6 +209,10 @@ public class DisplayManagerFlags {
        return mAutoBrightnessModesFlagState.isEnabled();
    }

    public boolean isFastHdrTransitionsEnabled() {
        return mFastHdrTransitions.isEnabled();
    }

    /**
     * dumps all flagstates
     * @param pw printWriter
@@ -226,6 +234,7 @@ public class DisplayManagerFlags {
        pw.println(" " + mVsyncProximityVote);
        pw.println(" " + mBrightnessWearBedtimeModeClamperFlagState);
        pw.println(" " + mAutoBrightnessModesFlagState);
        pw.println(" " + mFastHdrTransitions);
    }

    private static class FlagState {
+9 −0
Original line number Diff line number Diff line
@@ -144,3 +144,12 @@ flag {
    bug: "293613040"
    is_fixed_read_only: true
}

flag {
    name: "fast_hdr_transitions"
    namespace: "display_manager"
    description: "Feature flag for fast transitions into/out of HDR"
    bug: "292124102"
    is_fixed_read_only: true
}
+2 −0
Original line number Diff line number Diff line
@@ -727,6 +727,7 @@ public final class DisplayPowerController2Test {
    }

    @Test
    @RequiresFlagsEnabled(Flags.FLAG_FAST_HDR_TRANSITIONS)
    public void testDisplayBrightnessHdr_SkipAnimationOnHdrAppearance() {
        Settings.System.putInt(mContext.getContentResolver(),
                Settings.System.SCREEN_BRIGHTNESS_MODE,
@@ -762,6 +763,7 @@ public final class DisplayPowerController2Test {
    }

    @Test
    @RequiresFlagsEnabled(Flags.FLAG_FAST_HDR_TRANSITIONS)
    public void testDisplayBrightnessHdr_SkipAnimationOnHdrRemoval() {
        Settings.System.putInt(mContext.getContentResolver(),
                Settings.System.SCREEN_BRIGHTNESS_MODE,
Loading