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

Commit aa05e6c0 authored by Steven Thomas's avatar Steven Thomas Committed by Android (Google) Code Review
Browse files

Merge "Fix RefreshRateRangeTest"

parents 0ecfc27c 6d2f5c33
Loading
Loading
Loading
Loading
+29 −31
Original line number Diff line number Diff line
@@ -31,42 +31,40 @@ protected:
    void SetUp() override { mDisplayToken = SurfaceComposerClient::getInternalDisplayToken(); }

    sp<IBinder> mDisplayToken;
    int32_t defaultConfigId;
    float minRefreshRate;
    float maxRefreshRate;
};

TEST_F(RefreshRateRangeTest, simpleSetAndGet) {
    status_t res = SurfaceComposerClient::setDesiredDisplayConfigSpecs(mDisplayToken, 1, 45, 75);
    EXPECT_EQ(res, NO_ERROR);
TEST_F(RefreshRateRangeTest, setAllConfigs) {
    int32_t initialDefaultConfig;
    float initialMin;
    float initialMax;
    status_t res = SurfaceComposerClient::getDesiredDisplayConfigSpecs(mDisplayToken,
                                                                       &initialDefaultConfig,
                                                                       &initialMin, &initialMax);
    ASSERT_EQ(res, NO_ERROR);

    res = SurfaceComposerClient::getDesiredDisplayConfigSpecs(mDisplayToken, &defaultConfigId,
                                                              &minRefreshRate, &maxRefreshRate);
    EXPECT_EQ(res, NO_ERROR);
    EXPECT_EQ(defaultConfigId, 1);
    EXPECT_EQ(minRefreshRate, 45);
    EXPECT_EQ(maxRefreshRate, 75);
}
    Vector<DisplayInfo> configs;
    res = SurfaceComposerClient::getDisplayConfigs(mDisplayToken, &configs);
    ASSERT_EQ(res, NO_ERROR);

TEST_F(RefreshRateRangeTest, complexSetAndGet) {
    status_t res = SurfaceComposerClient::setDesiredDisplayConfigSpecs(mDisplayToken, 1, 45, 75);
    EXPECT_EQ(res, NO_ERROR);
    for (size_t i = 0; i < configs.size(); i++) {
        res = SurfaceComposerClient::setDesiredDisplayConfigSpecs(mDisplayToken, i, configs[i].fps,
                                                                  configs[i].fps);
        ASSERT_EQ(res, NO_ERROR);

    res = SurfaceComposerClient::getDesiredDisplayConfigSpecs(mDisplayToken, &defaultConfigId,
                                                              &minRefreshRate, &maxRefreshRate);
    EXPECT_EQ(res, NO_ERROR);
    EXPECT_EQ(defaultConfigId, 1);
    EXPECT_EQ(minRefreshRate, 45);
    EXPECT_EQ(maxRefreshRate, 75);
        int defaultConfig;
        float minFps;
        float maxFps;
        res = SurfaceComposerClient::getDesiredDisplayConfigSpecs(mDisplayToken, &defaultConfig,
                                                                  &minFps, &maxFps);
        ASSERT_EQ(res, NO_ERROR);
        ASSERT_EQ(defaultConfig, i);
        ASSERT_EQ(minFps, configs[i].fps);
        ASSERT_EQ(maxFps, configs[i].fps);
    }

    // Second call overrides the first one.
    res = SurfaceComposerClient::setDesiredDisplayConfigSpecs(mDisplayToken, 10, 145, 875);
    EXPECT_EQ(res, NO_ERROR);
    res = SurfaceComposerClient::getDesiredDisplayConfigSpecs(mDisplayToken, &defaultConfigId,
                                                              &minRefreshRate, &maxRefreshRate);
    EXPECT_EQ(res, NO_ERROR);
    EXPECT_EQ(defaultConfigId, 10);
    EXPECT_EQ(minRefreshRate, 145);
    EXPECT_EQ(maxRefreshRate, 875);
    res = SurfaceComposerClient::setDesiredDisplayConfigSpecs(mDisplayToken, initialDefaultConfig,
                                                              initialMin, initialMax);
    ASSERT_EQ(res, NO_ERROR);
}

} // namespace android