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

Commit 1bba84e8 authored by Marin Shalamanov's avatar Marin Shalamanov Committed by Android (Google) Code Review
Browse files

Merge "SF: Reset RefreshRateConfigs policy when modes change" into sc-dev

parents 449f8e56 75f37254
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -627,6 +627,8 @@ void RefreshRateConfigs::updateDisplayModes(const DisplayModes& modes,

    std::vector<const RefreshRate*> sortedModes;
    getSortedRefreshRateListLocked([](const RefreshRate&) { return true; }, &sortedModes);
    // Reset the policy because the old one may no longer be valid.
    mDisplayManagerPolicy = {};
    mDisplayManagerPolicy.defaultMode = currentModeId;
    mMinSupportedRefreshRate = sortedModes.front();
    mMaxSupportedRefreshRate = sortedModes.back();
+20 −0
Original line number Diff line number Diff line
@@ -1792,6 +1792,26 @@ TEST_F(RefreshRateConfigsTest, getFrameRateOverrides_touch) {
    ASSERT_TRUE(frameRateOverrides.empty());
}

TEST_F(RefreshRateConfigsTest, updateDisplayModes) {
    auto refreshRateConfigs =
            std::make_unique<RefreshRateConfigs>(m30_60_72_90_120Device,
                                                 /*currentConfigId=*/HWC_CONFIG_ID_30);
    refreshRateConfigs->setDisplayManagerPolicy({DisplayModeId(HWC_CONFIG_ID_30),
                                                 /* allowGroupSwitching */ false,
                                                 /* range */ {Fps(30.0f), Fps(30.0f)}});

    refreshRateConfigs->updateDisplayModes(m60_90Device, HWC_CONFIG_ID_60);

    const auto currentRefreshRate = refreshRateConfigs->getCurrentRefreshRate();
    EXPECT_TRUE(currentRefreshRate.getFps().equalsWithMargin(Fps(60.0)));
    EXPECT_EQ(currentRefreshRate.getModeId(), HWC_CONFIG_ID_60);

    EXPECT_TRUE(
            getMaxSupportedRefreshRate(*refreshRateConfigs).getFps().equalsWithMargin(Fps(90.0)));
    EXPECT_TRUE(
            getMinSupportedRefreshRate(*refreshRateConfigs).getFps().equalsWithMargin(Fps(60.0)));
}

} // namespace
} // namespace scheduler
} // namespace android