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

Commit 0f8dd7a8 authored by Oleg Blinnikov's avatar Oleg Blinnikov
Browse files

Remove enable_mode_limit_for_external_display flag

Flag is released and can be removed now.

Bug: 409609212
Test: atest DisplayModeDirectorTest
Test: atest DisplayObserverTest
Test: atest VoteSummaryTest
Flag: EXEMPT flag removal does not require flag
Change-Id: Ib5dd7578fa9a117d41129c0c916b5e835628a8ad
parent f3dd1bf9
Loading
Loading
Loading
Loading
+0 −31
Original line number Diff line number Diff line
@@ -45,10 +45,6 @@ public class DisplayManagerFlags {
            Flags.FLAG_ENABLE_DISPLAY_OFFLOAD,
            Flags::enableDisplayOffload);

    private final FlagState mExternalDisplayLimitModeState = new FlagState(
            Flags.FLAG_ENABLE_MODE_LIMIT_FOR_EXTERNAL_DISPLAY,
            Flags::enableModeLimitForExternalDisplay);

    private final FlagState mDisplayTopology = new FlagState(
            Flags.FLAG_DISPLAY_TOPOLOGY,
            DesktopExperienceFlags.DISPLAY_TOPOLOGY::isTrue);
@@ -271,37 +267,11 @@ public class DisplayManagerFlags {
        return mPowerThrottlingClamperFlagState.isEnabled();
    }

    /** Returns whether resolution range voting feature is enabled or not. */
    public boolean isDisplayResolutionRangeVotingEnabled() {
        return isExternalDisplayLimitModeEnabled();
    }

    /**
     * @return Whether user preferred mode is added as a vote in
     *      {@link com.android.server.display.mode.DisplayModeDirector}
     */
    public boolean isUserPreferredModeVoteEnabled() {
        return isExternalDisplayLimitModeEnabled();
    }

    /**
     * @return Whether external display mode limitation is enabled.
     */
    public boolean isExternalDisplayLimitModeEnabled() {
        return mExternalDisplayLimitModeState.isEnabled();
    }

    public boolean isDisplayTopologyEnabled() {
        return mDisplayTopology.isEnabled();
    }

    /**
     * @return Whether displays refresh rate synchronization is enabled.
     */
    public boolean isDisplaysRefreshRatesSynchronizationEnabled() {
        return isExternalDisplayLimitModeEnabled();
    }

    /** Returns whether displayoffload is enabled on not */
    public boolean isDisplayOffloadEnabled() {
        return mDisplayOffloadFlagState.isEnabled();
@@ -553,7 +523,6 @@ public class DisplayManagerFlags {
        pw.println(" " + mBackUpSmoothDisplayAndForcePeakRefreshRateFlagState);
        pw.println(" " + mConnectedDisplayErrorHandlingFlagState);
        pw.println(" " + mDisplayOffloadFlagState);
        pw.println(" " + mExternalDisplayLimitModeState);
        pw.println(" " + mDisplayTopology);
        pw.println(" " + mDisplayTopologyApi);
        pw.println(" " + mPowerThrottlingClamperFlagState);
+0 −31
Original line number Diff line number Diff line
@@ -28,30 +28,6 @@ flag {
    is_fixed_read_only: true
}

flag {
    name: "enable_display_resolution_range_voting"
    namespace: "display_manager"
    description: "Feature flag to enable voting for ranges of resolutions"
    bug: "299297058"
    is_fixed_read_only: true
}

flag {
    name: "enable_user_preferred_mode_vote"
    namespace: "display_manager"
    description: "Feature flag to use voting for UserPreferredMode for display"
    bug: "297018612"
    is_fixed_read_only: true
}

flag {
    name: "enable_mode_limit_for_external_display"
    namespace: "display_manager"
    description: "Feature limiting external display resolution and refresh rate"
    bug: "242093547"
    is_fixed_read_only: true
}

flag {
    name: "display_topology"
    namespace: "display_manager"
@@ -69,13 +45,6 @@ flag {
    is_exported: true
}

flag {
    name: "enable_displays_refresh_rates_synchronization"
    namespace: "display_manager"
    description: "Enables synchronization of refresh rates across displays"
    bug: "294015845"
}

flag {
    name: "enable_display_offload"
    namespace: "display_manager"
+6 −40
Original line number Diff line number Diff line
@@ -179,23 +179,6 @@ public class DisplayModeDirector {
    @DisplayManager.SwitchingType
    private int mModeSwitchingType = DisplayManager.SWITCHING_TYPE_WITHIN_GROUPS;

    /**
     * Whether resolution range voting feature is enabled.
     */
    private final boolean mIsDisplayResolutionRangeVotingEnabled;

    /**
     * Whether user preferred mode voting feature is enabled.
     */
    private final boolean mIsUserPreferredModeVoteEnabled;

    /**
     * Whether limit display mode feature is enabled.
     */
    private final boolean mIsExternalDisplayLimitModeEnabled;

    private final boolean mIsDisplaysRefreshRatesSynchronizationEnabled;

    private final boolean mIsBackUpSmoothDisplayAndForcePeakRefreshRateEnabled;

    private final boolean mHasArrSupportFlagEnabled;
@@ -215,13 +198,6 @@ public class DisplayModeDirector {
            @NonNull Injector injector,
            @NonNull DisplayManagerFlags displayManagerFlags,
            @NonNull DisplayDeviceConfigProvider displayDeviceConfigProvider) {
        mIsDisplayResolutionRangeVotingEnabled = displayManagerFlags
                .isDisplayResolutionRangeVotingEnabled();
        mIsUserPreferredModeVoteEnabled = displayManagerFlags.isUserPreferredModeVoteEnabled();
        mIsExternalDisplayLimitModeEnabled = displayManagerFlags
            .isExternalDisplayLimitModeEnabled();
        mIsDisplaysRefreshRatesSynchronizationEnabled = displayManagerFlags
            .isDisplaysRefreshRatesSynchronizationEnabled();
        mIsBackUpSmoothDisplayAndForcePeakRefreshRateEnabled = displayManagerFlags
                .isBackUpSmoothDisplayAndForcePeakRefreshRateEnabled();
        mHasArrSupportFlagEnabled = displayManagerFlags.hasArrSupportFlag();
@@ -328,8 +304,7 @@ public class DisplayModeDirector {

            List<Display.Mode> availableModes = new ArrayList<>();
            availableModes.add(defaultMode);
            VoteSummary primarySummary = new VoteSummary(mIsDisplayResolutionRangeVotingEnabled,
                    isVrrSupportedLocked(displayId),
            VoteSummary primarySummary = new VoteSummary(isVrrSupportedLocked(displayId),
                    mLoggingEnabled, mSupportsFrameRateOverride);
            int lowestConsideredPriority = Vote.MIN_PRIORITY;
            int highestConsideredPriority = Vote.MAX_PRIORITY;
@@ -369,8 +344,7 @@ public class DisplayModeDirector {
                lowestConsideredPriority++;
            }

            VoteSummary appRequestSummary = new VoteSummary(mIsDisplayResolutionRangeVotingEnabled,
                    isVrrSupportedLocked(displayId),
            VoteSummary appRequestSummary = new VoteSummary(isVrrSupportedLocked(displayId),
                    mLoggingEnabled, mSupportsFrameRateOverride);

            appRequestSummary.applyVotes(votes,
@@ -1458,15 +1432,11 @@ public class DisplayModeDirector {
        private boolean isExternalDisplayLimitModeEnabled() {
            return mExternalDisplayPeakWidth > 0
                && mExternalDisplayPeakHeight > 0
                && mExternalDisplayPeakRefreshRate > 0
                && mIsExternalDisplayLimitModeEnabled
                && mIsDisplayResolutionRangeVotingEnabled
                && mIsUserPreferredModeVoteEnabled;
                && mExternalDisplayPeakRefreshRate > 0;
        }

        private boolean isRefreshRateSynchronizationEnabled() {
            return mRefreshRateSynchronizationEnabled
                && mIsDisplaysRefreshRatesSynchronizationEnabled;
            return mRefreshRateSynchronizationEnabled;
        }

        public void observe() {
@@ -1600,15 +1570,12 @@ public class DisplayModeDirector {
        }

        private void removeUserSettingDisplayPreferredSize(int displayId) {
            if (!mIsUserPreferredModeVoteEnabled) {
                return;
            }
            mVotesStorage.updateVote(displayId, Vote.PRIORITY_USER_SETTING_DISPLAY_PREFERRED_SIZE,
                    null);
        }

        private void updateUserSettingDisplayPreferredSize(@Nullable DisplayInfo info) {
            if (info == null || !mIsUserPreferredModeVoteEnabled) {
            if (info == null) {
                return;
            }

@@ -1618,8 +1585,7 @@ public class DisplayModeDirector {
                return;
            }

            if (info.type == Display.TYPE_EXTERNAL
                    && !isRefreshRateSynchronizationEnabled()) {
            if (info.type == Display.TYPE_EXTERNAL && !isRefreshRateSynchronizationEnabled()) {
                mVotesStorage.updateVote(info.displayId,
                        Vote.PRIORITY_USER_SETTING_DISPLAY_PREFERRED_SIZE,
                        Vote.forSizeAndPhysicalRefreshRatesRange(
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ class SizeVote implements Vote {
                summary.height = mHeight;
                summary.minWidth = mMinWidth;
                summary.minHeight = mMinHeight;
            } else if (summary.mIsDisplayResolutionRangeVotingEnabled) {
            } else {
                summary.width = Math.min(summary.width, mWidth);
                summary.height = Math.min(summary.height, mHeight);
                summary.minWidth = Math.max(summary.minWidth, mMinWidth);
+2 −7
Original line number Diff line number Diff line
@@ -60,15 +60,12 @@ final class VoteSummary {
     */
    public Set<Integer> rejectedModeIds = new HashSet<>();

    final boolean mIsDisplayResolutionRangeVotingEnabled;

    private final boolean mSupportedModesVoteEnabled;
    private final boolean mSupportsFrameRateOverride;
    private final boolean mLoggingEnabled;

    VoteSummary(boolean isDisplayResolutionRangeVotingEnabled, boolean supportedModesVoteEnabled,
    VoteSummary(boolean supportedModesVoteEnabled,
            boolean loggingEnabled, boolean supportsFrameRateOverride) {
        mIsDisplayResolutionRangeVotingEnabled = isDisplayResolutionRangeVotingEnabled;
        mSupportedModesVoteEnabled = supportedModesVoteEnabled;
        mLoggingEnabled = loggingEnabled;
        mSupportsFrameRateOverride = supportsFrameRateOverride;
@@ -102,7 +99,7 @@ final class VoteSummary {
        if (height == Vote.INVALID_SIZE || width == Vote.INVALID_SIZE) {
            width = defaultMode.getPhysicalWidth();
            height = defaultMode.getPhysicalHeight();
        } else if (mIsDisplayResolutionRangeVotingEnabled) {
        } else {
            updateSummaryWithBestAllowedResolution(modes);
        }
        if (mLoggingEnabled) {
@@ -447,8 +444,6 @@ final class VoteSummary {
                + ", supportedRefreshRates=" + supportedRefreshRates
                + ", supportedModeIds=" + supportedModeIds
                + ", rejectedModeIds=" + rejectedModeIds
                + ", mIsDisplayResolutionRangeVotingEnabled="
                + mIsDisplayResolutionRangeVotingEnabled
                + ", mSupportedModesVoteEnabled=" + mSupportedModesVoteEnabled
                + ", mSupportsFrameRateOverride=" + mSupportsFrameRateOverride + " }";
    }
Loading