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

Commit 4c54b762 authored by Pierre Barbier de Reuille's avatar Pierre Barbier de Reuille Committed by Android (Google) Code Review
Browse files

Merge "Print display ids of Virtual Displays too" into main

parents bb68497e bbf76c3e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ public:

    VirtualDisplayId displayId() const { return mVirtualId; }
    bool isGpu() const { return mIsGpu; }
    const std::string& uniqueId() const { return mUniqueId; }

    void dump(utils::Dumper& dumper) const {
        using namespace std::string_view_literals;
+17 −3
Original line number Diff line number Diff line
@@ -6123,9 +6123,8 @@ void SurfaceFlinger::dumpDisplays(std::string& result) const {
            display->dump(dumper);

            std::lock_guard lock(mVirtualDisplaysMutex);
            const auto virtualSnapshotIt = mVirtualDisplays.find(virtualId);
            if (virtualSnapshotIt != mVirtualDisplays.end()) {
                virtualSnapshotIt->second.dump(dumper);
            if (const auto snapshotOpt = mVirtualDisplays.get(virtualId)) {
                snapshotOpt->get().dump(dumper);
            }
        }
    }
@@ -6137,6 +6136,7 @@ void SurfaceFlinger::dumpDisplayIdentificationData(std::string& result) const {
        if (!displayId) {
            continue;
        }

        const auto hwcDisplayId = getHwComposer().fromPhysicalDisplayId(*displayId);
        if (!hwcDisplayId) {
            continue;
@@ -6145,6 +6145,7 @@ void SurfaceFlinger::dumpDisplayIdentificationData(std::string& result) const {
        StringAppendF(&result,
                      "Display %s (HWC display %" PRIu64 "): ", to_string(*displayId).c_str(),
                      *hwcDisplayId);

        uint8_t port;
        DisplayIdentificationData data;
        if (!getHwComposer().getDisplayIdentificationData(*hwcDisplayId, &port, &data)) {
@@ -6172,6 +6173,19 @@ void SurfaceFlinger::dumpDisplayIdentificationData(std::string& result) const {
        result.append(edid->displayName.data(), edid->displayName.length());
        result.append("\"\n");
    }

    for (const auto& [token, display] : mDisplays) {
        const auto virtualDisplayId = asVirtualDisplayId(display->getDisplayIdVariant());
        if (virtualDisplayId) {
            StringAppendF(&result, "Display %s (Virtual display): displayName=\"%s\"",
                          to_string(*virtualDisplayId).c_str(), display->getDisplayName().c_str());
            std::lock_guard lock(mVirtualDisplaysMutex);
            if (const auto snapshotOpt = mVirtualDisplays.get(*virtualDisplayId)) {
                StringAppendF(&result, " uniqueId=\"%s\"", snapshotOpt->get().uniqueId().c_str());
            }
            result.append("\n");
        }
    }
}

void SurfaceFlinger::dumpRawDisplayIdentificationData(const DumpArgs& args,