Re-land^2: Execute afterPrepareSurfacesRunnables after committing...
... the transaction
Some of the runnables will assume the transcation has been committed by
the surface flinger before getting run. For example, the leashes of
insets need to be setup before dispatching to the client. If the order
is not ensured, the transaction sent from the client might be executed
earlier than the one sent from system server which might override the
state of the leash unexpectedly.
This CL executes the runnables when the transaction has been committed.
Fix: 298018626
Fix: 356783416
Flag: EXEMPT bugfix
Test: InsetsPolicyTest InsetsStateControllerTest
ImeInsetsSourceProviderTest CtsWindowManagerDeviceInsets
InputMethodStatsTest KeyboardVisibilityControlTest
MultiDisplayImeTests
Change-Id: I34e0849f0f9073cf7ca68bda411e1ce4b99a8adf
11 files changed