Remove use of legacy layers from TransactionApplicationTest
Legacy layers are no longer used in production, this
changes the unit tests to use requestedlayerstate
directly.
Flag: EXEMPT removing flagged code
Test: presubmit
Bug: 330785038
Change-Id: I50e3a5e15d9b97ec04e49af2b6b4aab77ed17e7a
diff --git a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
index fa7a515..9e62f38 100644
--- a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
+++ b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
@@ -620,6 +620,18 @@
mFlinger->mNewLayers.emplace_back(std::move(layer));
}
+ // Used to add a layer before updateLayerSnapshots is called.
+ // Must have transactionsFlushed enabled for the new layer to be updated.
+ void addLayer(uint32_t layerId) {
+ std::scoped_lock<std::mutex> lock(mFlinger->mCreatedLayersLock);
+ LayerCreationArgs args(std::make_optional(layerId));
+ args.flinger = this->mFlinger.get();
+ auto layer = std::make_unique<frontend::RequestedLayerState>(args);
+ auto legacyLayer = sp<Layer>::make(args);
+ injectLegacyLayer(legacyLayer);
+ mFlinger->mNewLayers.emplace_back(std::move(layer));
+ }
+
/* ------------------------------------------------------------------------
* Read-only access to private data to assert post-conditions.
*/