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

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

Merge "Synthetic modes are respected when returning default refresh rates" into main

parents bdc8eda1 f2cf6628
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -708,7 +708,7 @@ public final class DisplayInfo implements Parcelable {
     */
     */
    @Nullable
    @Nullable
    public Display.Mode findDefaultModeByRefreshRate(float refreshRate) {
    public Display.Mode findDefaultModeByRefreshRate(float refreshRate) {
        Display.Mode[] modes = supportedModes;
        Display.Mode[] modes = appsSupportedModes;
        Display.Mode defaultMode = getDefaultMode();
        Display.Mode defaultMode = getDefaultMode();
        for (int i = 0; i < modes.length; i++) {
        for (int i = 0; i < modes.length; i++) {
            if (modes[i].matches(
            if (modes[i].matches(
@@ -723,7 +723,7 @@ public final class DisplayInfo implements Parcelable {
     * Returns the list of supported refresh rates in the default mode.
     * Returns the list of supported refresh rates in the default mode.
     */
     */
    public float[] getDefaultRefreshRates() {
    public float[] getDefaultRefreshRates() {
        Display.Mode[] modes = supportedModes;
        Display.Mode[] modes = appsSupportedModes;
        ArraySet<Float> rates = new ArraySet<>();
        ArraySet<Float> rates = new ArraySet<>();
        Display.Mode defaultMode = getDefaultMode();
        Display.Mode defaultMode = getDefaultMode();
        for (int i = 0; i < modes.length; i++) {
        for (int i = 0; i < modes.length; i++) {
+9 −6
Original line number Original line Diff line number Diff line
@@ -82,12 +82,15 @@ public class FrameRateSelectionPriorityTests extends WindowTestsBase {
    public void setUp() {
    public void setUp() {
        DisplayInfo di = new DisplayInfo(mDisplayInfo);
        DisplayInfo di = new DisplayInfo(mDisplayInfo);
        Mode defaultMode = di.getDefaultMode();
        Mode defaultMode = di.getDefaultMode();
        di.supportedModes = new Mode[] {
        Mode hiMode = new Mode(1,
                new Mode(1, defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(), 90),
                defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(), 90);
                new Mode(2, defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(), 70),
        Mode midMode = new Mode(2,
                new Mode(LOW_MODE_ID,
                defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(), 70);
                        defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(), 60),
        Mode lowMode = new Mode(LOW_MODE_ID,
        };
                defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(), 60);

        di.supportedModes = new Mode[] { hiMode, midMode };
        di.appsSupportedModes = new Mode[] { hiMode, midMode, lowMode };
        di.defaultModeId = 1;
        di.defaultModeId = 1;
        mRefreshRatePolicy = new RefreshRatePolicy(mWm, di, mDenylist);
        mRefreshRatePolicy = new RefreshRatePolicy(mWm, di, mDenylist);
        when(mDisplayPolicy.getRefreshRatePolicy()).thenReturn(mRefreshRatePolicy);
        when(mDisplayPolicy.getRefreshRatePolicy()).thenReturn(mRefreshRatePolicy);
+8 −13
Original line number Original line Diff line number Diff line
@@ -66,7 +66,6 @@ public class RefreshRatePolicyTest extends WindowTestsBase {


    private RefreshRatePolicy mPolicy;
    private RefreshRatePolicy mPolicy;
    private HighRefreshRateDenylist mDenylist = mock(HighRefreshRateDenylist.class);
    private HighRefreshRateDenylist mDenylist = mock(HighRefreshRateDenylist.class);
    private FrameRateVote mTempFrameRateVote = new FrameRateVote();


    private static final FrameRateVote FRAME_RATE_VOTE_NONE = new FrameRateVote();
    private static final FrameRateVote FRAME_RATE_VOTE_NONE = new FrameRateVote();
    private static final FrameRateVote FRAME_RATE_VOTE_DENY_LIST =
    private static final FrameRateVote FRAME_RATE_VOTE_DENY_LIST =
@@ -98,18 +97,14 @@ public class RefreshRatePolicyTest extends WindowTestsBase {
    @Before
    @Before
    public void setUp() {
    public void setUp() {
        Mode defaultMode = mDisplayInfo.getDefaultMode();
        Mode defaultMode = mDisplayInfo.getDefaultMode();
        mDisplayInfo.supportedModes = new Mode[] {
        Mode hiMode = new Mode(HI_MODE_ID,
                new Mode(HI_MODE_ID,
                defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(), HI_REFRESH_RATE);
                        defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(),
        Mode midMode = new Mode(MID_MODE_ID,
                        HI_REFRESH_RATE),
                defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(), MID_REFRESH_RATE);
                new Mode(MID_MODE_ID,
        Mode lowMode = new Mode(LOW_MODE_ID,
                        defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(),
                defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(), LOW_REFRESH_RATE);
                        MID_REFRESH_RATE),
        mDisplayInfo.supportedModes = new Mode[] { hiMode, midMode };
                new Mode(LOW_MODE_ID,
        mDisplayInfo.appsSupportedModes = new Mode[] { hiMode, midMode, lowMode };
                        defaultMode.getPhysicalWidth(), defaultMode.getPhysicalHeight(),
                        LOW_REFRESH_RATE),
        };
        mDisplayInfo.appsSupportedModes = mDisplayInfo.supportedModes;
        mDisplayInfo.defaultModeId = HI_MODE_ID;
        mDisplayInfo.defaultModeId = HI_MODE_ID;
        mPolicy = new RefreshRatePolicy(mWm, mDisplayInfo, mDenylist);
        mPolicy = new RefreshRatePolicy(mWm, mDisplayInfo, mDenylist);
    }
    }