summaryrefslogtreecommitdiff
path: root/libs/androidfw/misc.cpp
diff options
context:
space:
mode:
author Bartosz Bialek <bartosz@haleytek.com> 2024-12-17 15:04:45 +0100
committer Bartosz Bialek <bartosz@haleytek.com> 2024-12-17 21:11:56 +0100
commit6a434c0aaa4d12f2fe60aac5d5e795d4f6ef7562 (patch)
tree6d41a8ba16fca7fb5200fd6b31c1a49ef5f6c405 /libs/androidfw/misc.cpp
parent978dbf9c725423eae43bbcbe6c8a1f5993c2a4ce (diff)
Fix window token leak on multi-display targets
The DisplayManager.getDisplays() API might return a different number of displays depending on the calling UID. An inconsistent behavior could be observed when running CTS tests, where addWindowTokensForAllDisplays() and onRemoved() methods could be called with either SYSTEM_UID or SHELL_UID for the same service connection. This resulted in adding window tokens for more displays but removing for less, causing some window tokens to never be removed. The solution is to clear UID while calling DisplayManager.getDisplays() API. Bug: https://partnerissuetracker.corp.google.com/issues/383369807 Test: Run CTS tests that use UIAutomator/AccessibilityService and observe number of visible layers in SurfaceFlinger dumpsys Change-Id: I5f207ddd09fab8c269db03d9a6dc09fb1d4cce92
Diffstat (limited to 'libs/androidfw/misc.cpp')
0 files changed, 0 insertions, 0 deletions