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

Commit 832c6af8 authored by Ram Indani's avatar Ram Indani Committed by Android (Google) Code Review
Browse files

Merge "Update DisplayConfigs_test to use Modes for the tests" into main

parents be6e8dc3 87cbe267
Loading
Loading
Loading
Loading
+29 −45
Original line number Diff line number Diff line
@@ -56,13 +56,7 @@ protected:
        ASSERT_EQ(res, NO_ERROR);
    }

    void testSetAllowGroupSwitching(bool allowGroupSwitching);

    sp<IBinder> mDisplayToken;
    uint64_t mDisplayId;
};

TEST_F(RefreshRateRangeTest, setAllConfigs) {
    void testSetDesiredDisplayModeSpecs(bool allowGroupSwitching = false) {
        ui::DynamicDisplayInfo info;
        status_t res =
                SurfaceComposerClient::getDynamicDisplayInfoFromId(static_cast<int64_t>(mDisplayId),
@@ -70,18 +64,17 @@ TEST_F(RefreshRateRangeTest, setAllConfigs) {
        const auto& modes = info.supportedDisplayModes;
        ASSERT_EQ(res, NO_ERROR);
        ASSERT_GT(modes.size(), 0);

        for (const auto& mode : modes) {
            gui::DisplayModeSpecs setSpecs;
    setSpecs.allowGroupSwitching = false;
    for (size_t i = 0; i < modes.size(); i++) {
        setSpecs.defaultMode = modes[i].id;
        setSpecs.primaryRanges.physical.min = modes[i].peakRefreshRate;
        setSpecs.primaryRanges.physical.max = modes[i].peakRefreshRate;
            setSpecs.defaultMode = mode.id;
            setSpecs.allowGroupSwitching = allowGroupSwitching;
            setSpecs.primaryRanges.physical.min = mode.peakRefreshRate;
            setSpecs.primaryRanges.physical.max = mode.peakRefreshRate;
            setSpecs.primaryRanges.render = setSpecs.primaryRanges.physical;
            setSpecs.appRequestRanges = setSpecs.primaryRanges;

            res = SurfaceComposerClient::setDesiredDisplayModeSpecs(mDisplayToken, setSpecs);
            ASSERT_EQ(res, NO_ERROR);

            gui::DisplayModeSpecs getSpecs;
            res = SurfaceComposerClient::getDesiredDisplayModeSpecs(mDisplayToken, &getSpecs);
            ASSERT_EQ(res, NO_ERROR);
@@ -89,27 +82,18 @@ TEST_F(RefreshRateRangeTest, setAllConfigs) {
        }
    }

void RefreshRateRangeTest::testSetAllowGroupSwitching(bool allowGroupSwitching) {
    gui::DisplayModeSpecs setSpecs;
    setSpecs.defaultMode = 0;
    setSpecs.allowGroupSwitching = allowGroupSwitching;
    setSpecs.primaryRanges.physical.min = 0;
    setSpecs.primaryRanges.physical.max = 90;
    setSpecs.primaryRanges.render = setSpecs.primaryRanges.physical;
    setSpecs.appRequestRanges = setSpecs.primaryRanges;
    sp<IBinder> mDisplayToken;
    uint64_t mDisplayId;
};

    status_t res = SurfaceComposerClient::setDesiredDisplayModeSpecs(mDisplayToken, setSpecs);
    ASSERT_EQ(res, NO_ERROR);
    gui::DisplayModeSpecs getSpecs;
    res = SurfaceComposerClient::getDesiredDisplayModeSpecs(mDisplayToken, &getSpecs);
    ASSERT_EQ(res, NO_ERROR);
    ASSERT_EQ(setSpecs, getSpecs);
TEST_F(RefreshRateRangeTest, setAllConfigs) {
    testSetDesiredDisplayModeSpecs();
}

TEST_F(RefreshRateRangeTest, setAllowGroupSwitching) {
    testSetAllowGroupSwitching(true);
    testSetAllowGroupSwitching(false);
    testSetAllowGroupSwitching(true);
    testSetDesiredDisplayModeSpecs(/*allowGroupSwitching=*/true);
    testSetDesiredDisplayModeSpecs(/*allowGroupSwitching=*/false);
    testSetDesiredDisplayModeSpecs(/*allowGroupSwitching=*/true);
}

} // namespace android