diff options
| author | 2020-05-21 22:20:51 +0000 | |
|---|---|---|
| committer | 2020-05-21 22:20:51 +0000 | |
| commit | 38c11064f4afe742f47c87622af702c23c14812a (patch) | |
| tree | ed01967060e693ecc66abc8c11fded5c54edc27f | |
| parent | 5691fb68fd7031ab08742e9e062f500476322caf (diff) | |
| parent | f87ea83f41c40fbbc67d3c715b13cd311ad65417 (diff) | |
Merge "Clear calling identity when requesting syncInputTransaction"
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index e1f85446de7b..404863af800f 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -7717,14 +7717,19 @@ public class WindowManagerService extends IWindowManager.Stub @Override public void syncInputTransactions() { - waitForAnimationsToComplete(); + long token = Binder.clearCallingIdentity(); + try { + waitForAnimationsToComplete(); - synchronized (mGlobalLock) { - mWindowPlacerLocked.performSurfacePlacementIfScheduled(); - mRoot.forAllDisplays(displayContent -> + synchronized (mGlobalLock) { + mWindowPlacerLocked.performSurfacePlacementIfScheduled(); + mRoot.forAllDisplays(displayContent -> displayContent.getInputMonitor().updateInputWindowsImmediately()); + } + new SurfaceControl.Transaction().syncInputWindows().apply(true); + } finally { + Binder.restoreCallingIdentity(token); } - new SurfaceControl.Transaction().syncInputWindows().apply(true); } private void waitForAnimationsToComplete() { |