Add more fine-grained testing for Transactions
Bug: 129130064
Test: build, boot, libsurfaceflinger_unittest
Change-Id: I44b59c8b8c117353ee1da224cf4fe2c4290f0ec6
diff --git a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
index 926b8ac..1cd1702 100644
--- a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
+++ b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
@@ -232,6 +232,8 @@
auto& mutableLayerCurrentState(sp<Layer> layer) { return layer->mCurrentState; }
auto& mutableLayerDrawingState(sp<Layer> layer) { return layer->mDrawingState; }
+ auto& mutableStateLock() { return mFlinger->mStateLock; }
+
void setLayerSidebandStream(sp<Layer> layer, sp<NativeHandle> sidebandStream) {
layer->mDrawingState.sidebandStream = sidebandStream;
layer->mSidebandStream = sidebandStream;
@@ -320,6 +322,22 @@
return mFlinger->SurfaceFlinger::getDisplayNativePrimaries(displayToken, primaries);
}
+ auto& getTransactionQueue() { return mFlinger->mTransactionQueues; }
+
+ auto setTransactionState(const Vector<ComposerState>& states,
+ const Vector<DisplayState>& displays, uint32_t flags,
+ const sp<IBinder>& applyToken,
+ const InputWindowCommands& inputWindowCommands,
+ int64_t desiredPresentTime, const client_cache_t& uncacheBuffer,
+ bool hasListenerCallbacks,
+ std::vector<ListenerCallbacks>& listenerCallbacks) {
+ return mFlinger->setTransactionState(states, displays, flags, applyToken,
+ inputWindowCommands, desiredPresentTime, uncacheBuffer,
+ hasListenerCallbacks, listenerCallbacks);
+ }
+
+ auto flushTransactionQueues() { return mFlinger->flushTransactionQueues(); };
+
/* ------------------------------------------------------------------------
* Read-only access to private data to assert post-conditions.
*/