Introduce TransactionState.

Encapsulate all the data inside transaction that we need
to pass into SurfaceFlinger. This will remove some
duplicate parcelling logic and clean up the interface
into SF.

Flag: EXEMPT refactor
Bug: 385156191
Test: presubmit
Change-Id: Ia6fab8539e48900700524a127cbcbbebd9acaf7a
diff --git a/libs/gui/Android.bp b/libs/gui/Android.bp
index 5ab31db..b5fa321 100644
--- a/libs/gui/Android.bp
+++ b/libs/gui/Android.bp
@@ -281,6 +281,7 @@
         "SurfaceControl.cpp",
         "SurfaceComposerClient.cpp",
         "SyncFeatures.cpp",
+        "TransactionState.cpp",
         "VsyncEventData.cpp",
         "view/Surface.cpp",
         "WindowInfosListenerReporter.cpp",