summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chavi Weingarten <chaviw@google.com> 2020-05-21 22:20:51 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2020-05-21 22:20:51 +0000
commit38c11064f4afe742f47c87622af702c23c14812a (patch)
treeed01967060e693ecc66abc8c11fded5c54edc27f
parent5691fb68fd7031ab08742e9e062f500476322caf (diff)
parentf87ea83f41c40fbbc67d3c715b13cd311ad65417 (diff)
Merge "Clear calling identity when requesting syncInputTransaction"
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java15
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() {