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

Commit 967599b6 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 7054508 from 5ef7bb5a to sc-release

Change-Id: I56ccdbc826e102f2c276cc0dd4395142bfa3a4d4
parents 7a539ea1 5ef7bb5a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ interface IStreamOutEventCallback {
     * is TEST(metadata_tests, compatibility_R) [3].  The test for R compatibility for JNI
     * marshalling is android.media.cts.AudioMetadataTest#testCompatibilityR [4].
     *
     * R (audio HAL 7.0) defined keys are as follows [2]:
     * R (audio HAL 6.0) defined keys are as follows [2]:
     * "bitrate", int32
     * "channel-mask", int32
     * "mime", string
+55 −0
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@
#include <algorithm>
#include <regex>
#include <thread>
#include <unordered_map>
#include <utility>

#include <android-base/logging.h>
#include <android-base/properties.h>
@@ -285,6 +287,59 @@ TEST_P(GraphicsComposerHidlTest, GetDisplayAttribute_2_4) {
    }
}

TEST_P(GraphicsComposerHidlTest, GetDisplayAttribute_2_4_ConfigsInAGroupDifferOnlyByVsyncPeriod) {
    struct Resolution {
        int32_t width, height;
    };
    struct Dpi {
        int32_t x, y;
    };
    for (const auto& display : mDisplays) {
        std::vector<Config> configs = mComposerClient->getDisplayConfigs(display.get());
        std::unordered_map<int32_t, Resolution> configGroupToResolutionMap;
        std::unordered_map<int32_t, Dpi> configGroupToDpiMap;
        for (auto config : configs) {
            const auto configGroup = mComposerClient->getDisplayAttribute_2_4(
                    display.get(), config, IComposerClient::Attribute::CONFIG_GROUP);
            const auto width = mComposerClient->getDisplayAttribute_2_4(
                    display.get(), config, IComposerClient::Attribute::WIDTH);
            const auto height = mComposerClient->getDisplayAttribute_2_4(
                    display.get(), config, IComposerClient::Attribute::HEIGHT);
            if (configGroupToResolutionMap.find(configGroup) == configGroupToResolutionMap.end()) {
                configGroupToResolutionMap[configGroup] = {width, height};
            }
            EXPECT_EQ(configGroupToResolutionMap[configGroup].width, width);
            EXPECT_EQ(configGroupToResolutionMap[configGroup].height, height);

            int32_t dpiX = -1;
            mComposerClient->getRaw()->getDisplayAttribute_2_4(
                    display.get(), config, IComposerClient::Attribute::DPI_X,
                    [&](const auto& tmpError, const auto& value) {
                        if (tmpError == Error::NONE) {
                            dpiX = value;
                        }
                    });
            int32_t dpiY = -1;
            mComposerClient->getRaw()->getDisplayAttribute_2_4(
                    display.get(), config, IComposerClient::Attribute::DPI_Y,
                    [&](const auto& tmpError, const auto& value) {
                        if (tmpError == Error::NONE) {
                            dpiY = value;
                        }
                    });
            if (dpiX == -1 && dpiY == -1) {
                continue;
            }

            if (configGroupToDpiMap.find(configGroup) == configGroupToDpiMap.end()) {
                configGroupToDpiMap[configGroup] = {dpiX, dpiY};
            }
            EXPECT_EQ(configGroupToDpiMap[configGroup].x, dpiX);
            EXPECT_EQ(configGroupToDpiMap[configGroup].y, dpiY);
        }
    }
}

TEST_P(GraphicsComposerHidlTest, getDisplayVsyncPeriod_BadDisplay) {
    VsyncPeriodNanos vsyncPeriodNanos;
    EXPECT_EQ(Error::BAD_DISPLAY,