diff options
author | 2023-01-29 15:46:45 -0500 | |
---|---|---|
committer | 2023-05-08 12:07:13 -0400 | |
commit | 6b049fffd93c24707e9d44ebabaab126340c721f (patch) | |
tree | a88ad6958cfee936b79df40fd09e3bbd75c002df | |
parent | c183eed053289c242c32c5c35a7071863165a61d (diff) |
ui: Pull DisplayMap.h from SF
...so it can be used in more places, e.g. libscheduler headers.
Clean up the verbose type for the frontend::DisplayInfo map by aliasing
it as frontend::DisplayInfos.
Bug: 241285475
Fixes: 256881188
Test: Build
Change-Id: Idf36e20ca304190e43618a6cfd7c67e8f62e9d40
19 files changed, 54 insertions, 57 deletions
diff --git a/services/surfaceflinger/Display/DisplayMap.h b/libs/ui/include/ui/DisplayMap.h index 0d5970676e..7eacb0a7f0 100644 --- a/services/surfaceflinger/Display/DisplayMap.h +++ b/libs/ui/include/ui/DisplayMap.h @@ -19,7 +19,7 @@ #include <ftl/small_map.h> #include <ftl/small_vector.h> -namespace android::display { +namespace android::ui { // The static capacities were chosen to exceed a typical number of physical and/or virtual displays. @@ -32,4 +32,4 @@ using PhysicalDisplayMap = ftl::SmallMap<Key, Value, 3>; template <typename T> using PhysicalDisplayVector = ftl::SmallVector<T, 3>; -} // namespace android::display +} // namespace android::ui diff --git a/services/surfaceflinger/Display/PhysicalDisplay.h b/services/surfaceflinger/Display/PhysicalDisplay.h index cba10146b7..ef36234942 100644 --- a/services/surfaceflinger/Display/PhysicalDisplay.h +++ b/services/surfaceflinger/Display/PhysicalDisplay.h @@ -21,9 +21,9 @@ #include <binder/IBinder.h> #include <ui/DisplayId.h> +#include <ui/DisplayMap.h> #include <utils/StrongPointer.h> -#include "DisplayMap.h" #include "DisplaySnapshot.h" namespace android::display { @@ -66,7 +66,7 @@ private: DisplaySnapshot mSnapshot; }; -using PhysicalDisplays = PhysicalDisplayMap<PhysicalDisplayId, PhysicalDisplay>; +using PhysicalDisplays = ui::PhysicalDisplayMap<PhysicalDisplayId, PhysicalDisplay>; // Combinator for ftl::Optional<PhysicalDisplayId>::and_then. constexpr auto getPhysicalDisplay(const PhysicalDisplays& displays) { diff --git a/services/surfaceflinger/DisplayHardware/AidlComposerHal.h b/services/surfaceflinger/DisplayHardware/AidlComposerHal.h index ce05b382cc..ded91be82c 100644 --- a/services/surfaceflinger/DisplayHardware/AidlComposerHal.h +++ b/services/surfaceflinger/DisplayHardware/AidlComposerHal.h @@ -17,8 +17,9 @@ #pragma once #include "ComposerHal.h" + #include <ftl/shared_mutex.h> -#include <ftl/small_map.h> +#include <ui/DisplayMap.h> #include <functional> #include <optional> @@ -272,9 +273,9 @@ private: // Invalid displayId used as a key to mReaders when mSingleReader is true. static constexpr int64_t kSingleReaderKey = 0; - // TODO (b/256881188): Use display::PhysicalDisplayMap instead of hard-coded `3` - ftl::SmallMap<Display, ComposerClientWriter, 3> mWriters GUARDED_BY(mMutex); - ftl::SmallMap<Display, ComposerClientReader, 3> mReaders GUARDED_BY(mMutex); + ui::PhysicalDisplayMap<Display, ComposerClientWriter> mWriters GUARDED_BY(mMutex); + ui::PhysicalDisplayMap<Display, ComposerClientReader> mReaders GUARDED_BY(mMutex); + // Protect access to mWriters and mReaders with a shared_mutex. Adding and // removing a display require exclusive access, since the iterator or the // writer/reader may be invalidated. Other calls need shared access while diff --git a/services/surfaceflinger/FrontEnd/DisplayInfo.h b/services/surfaceflinger/FrontEnd/DisplayInfo.h index 76b36fe0f2..527f6189fe 100644 --- a/services/surfaceflinger/FrontEnd/DisplayInfo.h +++ b/services/surfaceflinger/FrontEnd/DisplayInfo.h @@ -19,6 +19,9 @@ #include <sstream> #include <gui/DisplayInfo.h> +#include <ui/DisplayMap.h> +#include <ui/LayerStack.h> +#include <ui/Transform.h> namespace android::surfaceflinger::frontend { @@ -44,4 +47,6 @@ struct DisplayInfo { } }; +using DisplayInfos = ui::DisplayMap<ui::LayerStack, DisplayInfo>; + } // namespace android::surfaceflinger::frontend diff --git a/services/surfaceflinger/FrontEnd/LayerSnapshotBuilder.cpp b/services/surfaceflinger/FrontEnd/LayerSnapshotBuilder.cpp index ce7d37e69b..7df36457df 100644 --- a/services/surfaceflinger/FrontEnd/LayerSnapshotBuilder.cpp +++ b/services/surfaceflinger/FrontEnd/LayerSnapshotBuilder.cpp @@ -19,28 +19,26 @@ #undef LOG_TAG #define LOG_TAG "LayerSnapshotBuilder" -#include "LayerSnapshotBuilder.h" -#include <gui/TraceUtils.h> -#include <ui/FloatRect.h> - #include <numeric> #include <optional> +#include <ftl/small_map.h> #include <gui/TraceUtils.h> +#include <ui/FloatRect.h> + #include "DisplayHardware/HWC2.h" #include "DisplayHardware/Hal.h" #include "LayerLog.h" #include "LayerSnapshotBuilder.h" #include "TimeStats/TimeStats.h" -#include "ftl/small_map.h" namespace android::surfaceflinger::frontend { using namespace ftl::flag_operators; namespace { -FloatRect getMaxDisplayBounds( - const display::DisplayMap<ui::LayerStack, frontend::DisplayInfo>& displays) { + +FloatRect getMaxDisplayBounds(const DisplayInfos& displays) { const ui::Size maxSize = [&displays] { if (displays.empty()) return ui::Size{5000, 5000}; @@ -667,8 +665,7 @@ void LayerSnapshotBuilder::resetRelativeState(LayerSnapshot& snapshot) { snapshot.relativeLayerMetadata.mMap.clear(); } -uint32_t getPrimaryDisplayRotationFlags( - const display::DisplayMap<ui::LayerStack, frontend::DisplayInfo>& displays) { +uint32_t getPrimaryDisplayRotationFlags(const DisplayInfos& displays) { for (auto& [_, display] : displays) { if (display.isPrimary) { return display.rotationFlags; diff --git a/services/surfaceflinger/FrontEnd/LayerSnapshotBuilder.h b/services/surfaceflinger/FrontEnd/LayerSnapshotBuilder.h index 148c98e2b1..3f33ab875b 100644 --- a/services/surfaceflinger/FrontEnd/LayerSnapshotBuilder.h +++ b/services/surfaceflinger/FrontEnd/LayerSnapshotBuilder.h @@ -16,7 +16,6 @@ #pragma once -#include "Display/DisplayMap.h" #include "FrontEnd/DisplayInfo.h" #include "FrontEnd/LayerLifecycleManager.h" #include "LayerHierarchy.h" @@ -45,7 +44,7 @@ public: const LayerLifecycleManager& layerLifecycleManager; ForceUpdateFlags forceUpdate = ForceUpdateFlags::NONE; bool includeMetadata = false; - const display::DisplayMap<ui::LayerStack, frontend::DisplayInfo>& displays; + const DisplayInfos& displays; // Set to true if there were display changes since last update. bool displayChanges = false; const renderengine::ShadowSettings& globalShadowSettings; diff --git a/services/surfaceflinger/LayerProtoHelper.cpp b/services/surfaceflinger/LayerProtoHelper.cpp index 3472d201f3..e61916c2c9 100644 --- a/services/surfaceflinger/LayerProtoHelper.cpp +++ b/services/surfaceflinger/LayerProtoHelper.cpp @@ -446,7 +446,7 @@ void LayerProtoHelper::writeSnapshotToProto(LayerProto* layerInfo, } google::protobuf::RepeatedPtrField<DisplayProto> LayerProtoHelper::writeDisplayInfoToProto( - const display::DisplayMap<ui::LayerStack, frontend::DisplayInfo>& displayInfos) { + const frontend::DisplayInfos& displayInfos) { google::protobuf::RepeatedPtrField<DisplayProto> displays; displays.Reserve(displayInfos.size()); for (const auto& [layerStack, displayInfo] : displayInfos) { diff --git a/services/surfaceflinger/LayerProtoHelper.h b/services/surfaceflinger/LayerProtoHelper.h index b84a49b27c..346685f259 100644 --- a/services/surfaceflinger/LayerProtoHelper.h +++ b/services/surfaceflinger/LayerProtoHelper.h @@ -26,6 +26,8 @@ #include <ui/Region.h> #include <ui/Transform.h> #include <cstdint> + +#include "FrontEnd/DisplayInfo.h" #include "FrontEnd/LayerHierarchy.h" #include "FrontEnd/LayerSnapshot.h" @@ -65,15 +67,15 @@ public: const frontend::RequestedLayerState& requestedState, const frontend::LayerSnapshot& snapshot, uint32_t traceFlags); static google::protobuf::RepeatedPtrField<DisplayProto> writeDisplayInfoToProto( - const display::DisplayMap<ui::LayerStack, frontend::DisplayInfo>& displayInfos); + const frontend::DisplayInfos&); }; class LayerProtoFromSnapshotGenerator { public: - LayerProtoFromSnapshotGenerator( - const frontend::LayerSnapshotBuilder& snapshotBuilder, - const display::DisplayMap<ui::LayerStack, frontend::DisplayInfo>& displayInfos, - const std::unordered_map<uint32_t, sp<Layer>>& legacyLayers, uint32_t traceFlags) + LayerProtoFromSnapshotGenerator(const frontend::LayerSnapshotBuilder& snapshotBuilder, + const frontend::DisplayInfos& displayInfos, + const std::unordered_map<uint32_t, sp<Layer>>& legacyLayers, + uint32_t traceFlags) : mSnapshotBuilder(snapshotBuilder), mLegacyLayers(legacyLayers), mDisplayInfos(displayInfos), @@ -88,7 +90,7 @@ private: const frontend::LayerSnapshotBuilder& mSnapshotBuilder; const std::unordered_map<uint32_t, sp<Layer>>& mLegacyLayers; - const display::DisplayMap<ui::LayerStack, frontend::DisplayInfo>& mDisplayInfos; + const frontend::DisplayInfos& mDisplayInfos; uint32_t mTraceFlags; LayersProto mLayersProto; // winscope expects all the layers, so provide a snapshot even if it not currently drawing diff --git a/services/surfaceflinger/Scheduler/Scheduler.cpp b/services/surfaceflinger/Scheduler/Scheduler.cpp index 994f5597d3..6d4089324a 100644 --- a/services/surfaceflinger/Scheduler/Scheduler.cpp +++ b/services/surfaceflinger/Scheduler/Scheduler.cpp @@ -31,6 +31,7 @@ #include <gui/TraceUtils.h> #include <gui/WindowInfo.h> #include <system/window.h> +#include <ui/DisplayMap.h> #include <utils/Timers.h> #include <FrameTimeline/FrameTimeline.h> @@ -44,7 +45,6 @@ #include <numeric> #include "../Layer.h" -#include "Display/DisplayMap.h" #include "EventThread.h" #include "FrameRateOverrideMappings.h" #include "FrontEnd/LayerHandle.h" @@ -855,7 +855,7 @@ auto Scheduler::chooseDisplayModes() const -> DisplayModeChoiceMap { ATRACE_CALL(); using RankedRefreshRates = RefreshRateSelector::RankedFrameRates; - display::PhysicalDisplayVector<RankedRefreshRates> perDisplayRanking; + ui::PhysicalDisplayVector<RankedRefreshRates> perDisplayRanking; const auto globalSignals = makeGlobalSignals(); Fps pacesetterFps; diff --git a/services/surfaceflinger/Scheduler/Scheduler.h b/services/surfaceflinger/Scheduler/Scheduler.h index 4e1faf5efe..d628ac31b3 100644 --- a/services/surfaceflinger/Scheduler/Scheduler.h +++ b/services/surfaceflinger/Scheduler/Scheduler.h @@ -39,8 +39,8 @@ #include <scheduler/Time.h> #include <scheduler/VsyncConfig.h> #include <ui/DisplayId.h> +#include <ui/DisplayMap.h> -#include "Display/DisplayMap.h" #include "Display/DisplayModeRequest.h" #include "EventThread.h" #include "FrameRateOverrideMappings.h" @@ -374,7 +374,7 @@ private: } }; - using DisplayModeChoiceMap = display::PhysicalDisplayMap<PhysicalDisplayId, DisplayModeChoice>; + using DisplayModeChoiceMap = ui::PhysicalDisplayMap<PhysicalDisplayId, DisplayModeChoice>; // See mDisplayLock for thread safety. DisplayModeChoiceMap chooseDisplayModes() const @@ -438,7 +438,7 @@ private: using DisplayRef = std::reference_wrapper<Display>; using ConstDisplayRef = std::reference_wrapper<const Display>; - display::PhysicalDisplayMap<PhysicalDisplayId, Display> mDisplays GUARDED_BY(mDisplayLock) + ui::PhysicalDisplayMap<PhysicalDisplayId, Display> mDisplays GUARDED_BY(mDisplayLock) GUARDED_BY(kMainThreadContext); ftl::Optional<PhysicalDisplayId> mPacesetterDisplayId GUARDED_BY(mDisplayLock) diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 0554465541..0120eb1097 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -116,7 +116,6 @@ #include "Client.h" #include "ClientCache.h" #include "Colorizer.h" -#include "Display/DisplayMap.h" #include "DisplayDevice.h" #include "DisplayHardware/ComposerHal.h" #include "DisplayHardware/FramebufferSurface.h" @@ -2786,7 +2785,7 @@ void SurfaceFlinger::postComposition(scheduler::FrameTargeter& pacesetterFrameTa const CompositorTiming compositorTiming(vsyncDeadline.ns(), vsyncPeriod.ns(), vsyncPhase, presentLatency.ns()); - display::DisplayMap<ui::LayerStack, const DisplayDevice*> layerStackToDisplay; + ui::DisplayMap<ui::LayerStack, const DisplayDevice*> layerStackToDisplay; { if (!mLayersWithBuffersRemoved.empty() || mNumTrustedPresentationListeners > 0) { Mutex::Autolock lock(mStateLock); diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h index decb450687..96e7bc8300 100644 --- a/services/surfaceflinger/SurfaceFlinger.h +++ b/services/surfaceflinger/SurfaceFlinger.h @@ -43,6 +43,7 @@ #include <renderengine/LayerSettings.h> #include <serviceutils/PriorityDumper.h> #include <system/graphics.h> +#include <ui/DisplayMap.h> #include <ui/FenceTime.h> #include <ui/PixelFormat.h> #include <ui/Size.h> @@ -62,7 +63,6 @@ #include <scheduler/interface/ICompositor.h> #include <ui/FenceResult.h> -#include "Display/DisplayMap.h" #include "Display/PhysicalDisplay.h" #include "DisplayDevice.h" #include "DisplayHardware/HWC2.h" @@ -1199,7 +1199,7 @@ private: // never removed, so take precedence over external and virtual displays. // // May be read from any thread, but must only be written from the main thread. - display::DisplayMap<wp<IBinder>, const sp<DisplayDevice>> mDisplays GUARDED_BY(mStateLock); + ui::DisplayMap<wp<IBinder>, const sp<DisplayDevice>> mDisplays GUARDED_BY(mStateLock); display::PhysicalDisplays mPhysicalDisplays GUARDED_BY(mStateLock); @@ -1404,7 +1404,7 @@ private: std::unordered_map<uint32_t, sp<Layer>> mLegacyLayers; TransactionHandler mTransactionHandler; - display::DisplayMap<ui::LayerStack, frontend::DisplayInfo> mFrontEndDisplayInfos; + ui::DisplayMap<ui::LayerStack, frontend::DisplayInfo> mFrontEndDisplayInfos; bool mFrontEndDisplayInfosChanged = false; // WindowInfo ids visible during the last commit. diff --git a/services/surfaceflinger/Tracing/TransactionProtoParser.cpp b/services/surfaceflinger/Tracing/TransactionProtoParser.cpp index 57d927b6bb..19334e3966 100644 --- a/services/surfaceflinger/Tracing/TransactionProtoParser.cpp +++ b/services/surfaceflinger/Tracing/TransactionProtoParser.cpp @@ -594,7 +594,7 @@ frontend::DisplayInfo TransactionProtoParser::fromProto(const proto::DisplayInfo void TransactionProtoParser::fromProto( const google::protobuf::RepeatedPtrField<proto::DisplayInfo>& proto, - display::DisplayMap<ui::LayerStack, frontend::DisplayInfo>& outDisplayInfos) { + frontend::DisplayInfos& outDisplayInfos) { outDisplayInfos.clear(); for (const proto::DisplayInfo& displayInfo : proto) { outDisplayInfos.emplace_or_replace(ui::LayerStack::fromValue(displayInfo.layer_stack()), diff --git a/services/surfaceflinger/Tracing/TransactionProtoParser.h b/services/surfaceflinger/Tracing/TransactionProtoParser.h index d6c98e1120..457c3bec40 100644 --- a/services/surfaceflinger/Tracing/TransactionProtoParser.h +++ b/services/surfaceflinger/Tracing/TransactionProtoParser.h @@ -18,9 +18,8 @@ #include <gui/fake/BufferData.h> #include <layerproto/TransactionProto.h> #include <utils/RefBase.h> -#include "Display/DisplayMap.h" -#include "FrontEnd/DisplayInfo.h" +#include "FrontEnd/DisplayInfo.h" #include "FrontEnd/LayerCreationArgs.h" #include "TransactionState.h" @@ -56,9 +55,8 @@ public: void fromProto(const proto::LayerCreationArgs&, LayerCreationArgs& outArgs); std::unique_ptr<FlingerDataMapper> mMapper; static frontend::DisplayInfo fromProto(const proto::DisplayInfo&); - static void fromProto( - const google::protobuf::RepeatedPtrField<proto::DisplayInfo>&, - display::DisplayMap<ui::LayerStack, frontend::DisplayInfo>& outDisplayInfos); + static void fromProto(const google::protobuf::RepeatedPtrField<proto::DisplayInfo>&, + frontend::DisplayInfos& outDisplayInfos); private: proto::DisplayState toProto(const DisplayState&); diff --git a/services/surfaceflinger/Tracing/TransactionTracing.cpp b/services/surfaceflinger/Tracing/TransactionTracing.cpp index 87a633fc9d..632de01bfa 100644 --- a/services/surfaceflinger/Tracing/TransactionTracing.cpp +++ b/services/surfaceflinger/Tracing/TransactionTracing.cpp @@ -92,10 +92,10 @@ void TransactionTracing::addQueuedTransaction(const TransactionState& transactio mTransactionQueue.push(state); } -void TransactionTracing::addCommittedTransactions( - int64_t vsyncId, nsecs_t commitTime, frontend::Update& newUpdate, - const display::DisplayMap<ui::LayerStack, frontend::DisplayInfo>& displayInfos, - bool displayInfoChanged) { +void TransactionTracing::addCommittedTransactions(int64_t vsyncId, nsecs_t commitTime, + frontend::Update& newUpdate, + const frontend::DisplayInfos& displayInfos, + bool displayInfoChanged) { CommittedUpdates update; update.vsyncId = vsyncId; update.timestamp = commitTime; diff --git a/services/surfaceflinger/Tracing/TransactionTracing.h b/services/surfaceflinger/Tracing/TransactionTracing.h index f27e7a9663..0e56627650 100644 --- a/services/surfaceflinger/Tracing/TransactionTracing.h +++ b/services/surfaceflinger/Tracing/TransactionTracing.h @@ -25,7 +25,6 @@ #include <mutex> #include <thread> -#include "Display/DisplayMap.h" #include "FrontEnd/DisplayInfo.h" #include "FrontEnd/LayerCreationArgs.h" #include "FrontEnd/Update.h" @@ -59,10 +58,8 @@ public: ~TransactionTracing(); void addQueuedTransaction(const TransactionState&); - void addCommittedTransactions( - int64_t vsyncId, nsecs_t commitTime, frontend::Update& update, - const display::DisplayMap<ui::LayerStack, frontend::DisplayInfo>& displayInfos, - bool displayInfoChanged); + void addCommittedTransactions(int64_t vsyncId, nsecs_t commitTime, frontend::Update& update, + const frontend::DisplayInfos&, bool displayInfoChanged); status_t writeToFile(std::string filename = FILE_NAME); void setBufferSize(size_t bufferSizeInBytes); void onLayerRemoved(int layerId); @@ -88,8 +85,7 @@ private: nsecs_t mStartingTimestamp GUARDED_BY(mTraceLock); std::unordered_map<int, proto::LayerCreationArgs> mCreatedLayers GUARDED_BY(mTraceLock); std::map<uint32_t /* layerId */, TracingLayerState> mStartingStates GUARDED_BY(mTraceLock); - display::DisplayMap<ui::LayerStack, frontend::DisplayInfo> mStartingDisplayInfos - GUARDED_BY(mTraceLock); + frontend::DisplayInfos mStartingDisplayInfos GUARDED_BY(mTraceLock); std::set<uint32_t /* layerId */> mRemovedLayerHandlesAtStart GUARDED_BY(mTraceLock); TransactionProtoParser mProtoParser; @@ -106,7 +102,7 @@ private: std::vector<LayerCreationArgs> createdLayers; std::vector<uint32_t> destroyedLayerHandles; bool displayInfoChanged; - display::DisplayMap<ui::LayerStack, frontend::DisplayInfo> displayInfos; + frontend::DisplayInfos displayInfos; int64_t vsyncId; int64_t timestamp; }; diff --git a/services/surfaceflinger/Tracing/tools/LayerTraceGenerator.cpp b/services/surfaceflinger/Tracing/tools/LayerTraceGenerator.cpp index 55004c5e70..72a11c65dc 100644 --- a/services/surfaceflinger/Tracing/tools/LayerTraceGenerator.cpp +++ b/services/surfaceflinger/Tracing/tools/LayerTraceGenerator.cpp @@ -53,7 +53,7 @@ bool LayerTraceGenerator::generate(const proto::TransactionTraceFile& traceFile, frontend::LayerLifecycleManager lifecycleManager; frontend::LayerHierarchyBuilder hierarchyBuilder{{}}; frontend::LayerSnapshotBuilder snapshotBuilder; - display::DisplayMap<ui::LayerStack, frontend::DisplayInfo> displayInfos; + ui::DisplayMap<ui::LayerStack, frontend::DisplayInfo> displayInfos; renderengine::ShadowSettings globalShadowSettings{.ambientColor = {1, 1, 1, 1}}; char value[PROPERTY_VALUE_MAX]; diff --git a/services/surfaceflinger/tests/unittests/LayerSnapshotTest.cpp b/services/surfaceflinger/tests/unittests/LayerSnapshotTest.cpp index b8a7446b3a..12cf0709ea 100644 --- a/services/surfaceflinger/tests/unittests/LayerSnapshotTest.cpp +++ b/services/surfaceflinger/tests/unittests/LayerSnapshotTest.cpp @@ -105,7 +105,7 @@ protected: LayerHierarchyBuilder mHierarchyBuilder{{}}; LayerSnapshotBuilder mSnapshotBuilder; - display::DisplayMap<ui::LayerStack, frontend::DisplayInfo> mFrontEndDisplayInfos; + DisplayInfos mFrontEndDisplayInfos; renderengine::ShadowSettings globalShadowSettings; static const std::vector<uint32_t> STARTING_ZORDER; }; diff --git a/services/surfaceflinger/tests/unittests/TransactionProtoParserTest.cpp b/services/surfaceflinger/tests/unittests/TransactionProtoParserTest.cpp index dd72174a37..a95a6453d5 100644 --- a/services/surfaceflinger/tests/unittests/TransactionProtoParserTest.cpp +++ b/services/surfaceflinger/tests/unittests/TransactionProtoParserTest.cpp @@ -122,7 +122,7 @@ TEST(TransactionProtoParserTest, parseDisplayInfo) { google::protobuf::RepeatedPtrField<proto::DisplayInfo> displayProtos; auto displayInfoProto = displayProtos.Add(); *displayInfoProto = TransactionProtoParser::toProto(d1, layerStack); - display::DisplayMap<ui::LayerStack, frontend::DisplayInfo> displayInfos; + frontend::DisplayInfos displayInfos; TransactionProtoParser::fromProto(displayProtos, displayInfos); ASSERT_TRUE(displayInfos.contains(ui::LayerStack::fromValue(layerStack))); |