From fc6eab5d5b3c6372118ba5193bcf5ea7e73a0a67 Mon Sep 17 00:00:00 2001 From: Alan Ding Date: Thu, 2 May 2024 18:28:45 -0700 Subject: SF: Propagate uniqueID when creating virtual displays This is part of Trunk Stable effort to upstream SF-ARC screen record capabiliy (undiverging http://ag/20003031) which requires mirroring virtual displays to be associated with screen capture sessions using the package name within the unique ID. Creating virtual display with unique ID specified is optional such that it doesn't affect existing consumers who don't need it (i.e. av). Bug: 137375833 Bug: 194863377 Test: libsurfaceflinger_unittest Change-Id: Ia3cd13df07f701593ddc94c196df0b04844cf502 --- libs/gui/SurfaceComposerClient.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'libs/gui/SurfaceComposerClient.cpp') diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp index 4f1356bebb..07664ca701 100644 --- a/libs/gui/SurfaceComposerClient.cpp +++ b/libs/gui/SurfaceComposerClient.cpp @@ -89,6 +89,8 @@ int64_t generateId() { void emptyCallback(nsecs_t, const sp&, const std::vector&) {} } // namespace +const std::string SurfaceComposerClient::kEmpty{}; + ComposerService::ComposerService() : Singleton() { Mutex::Autolock _l(mLock); @@ -1276,14 +1278,13 @@ status_t SurfaceComposerClient::Transaction::sendSurfaceFlushJankDataTransaction } // --------------------------------------------------------------------------- -sp SurfaceComposerClient::createDisplay(const String8& displayName, bool secure, - float requestedRefereshRate) { +sp SurfaceComposerClient::createDisplay(const String8& displayName, bool isSecure, + const std::string& uniqueId, + float requestedRefreshRate) { sp display = nullptr; - binder::Status status = - ComposerServiceAIDL::getComposerService()->createDisplay(std::string( - displayName.c_str()), - secure, requestedRefereshRate, - &display); + binder::Status status = ComposerServiceAIDL::getComposerService() + ->createDisplay(std::string(displayName.c_str()), isSecure, + uniqueId, requestedRefreshRate, &display); return status.isOk() ? display : nullptr; } -- cgit v1.2.3-59-g8ed1b