summaryrefslogtreecommitdiff
path: root/libs/androidfw/AttributeResolution.cpp
diff options
context:
space:
mode:
author Robert Carr <racarr@google.com> 2022-03-14 17:43:23 -0700
committer Rob Carr <racarr@google.com> 2022-04-12 19:33:16 +0000
commita0fe07f44f09b2eb4a4da535db85edc8a8bfadc6 (patch)
tree71bdff1b8d54a47a66c4a8f5f5e0717b9e164d30 /libs/androidfw/AttributeResolution.cpp
parentb8b05de22fd9c7b5a85dedf26255bc280b7e075e (diff)
WindowManager: Gate pending-transaction behind sync
Developers will reasonably assume that commands placed in to sync or pending transaction in a given order will reach the screen in that order. For example in this sequence: 1. getSyncTransaction().hide(sc) 2. Time passes 3. getPendingTransaction.show(sc) we would expect the SurfaceControl to end up visible. However if the sync transaction were sent to SysUI but not yet applied it could end up applied after, in which case the final state of the SurfaceControl would be hidden. To solve this we listen to the transaction committed callback for sync transactions before sending the transaction to SysUI. In the interim time period we gate the pending transaction on this callback. Bug: 224438403 Bug: 227533765 Test: Existing tests pass Change-Id: I5a99d68e134c3f10970f4635514c1a83456c4217
Diffstat (limited to 'libs/androidfw/AttributeResolution.cpp')
0 files changed, 0 insertions, 0 deletions