Merge "Clear calling identity when requesting syncInputTransaction" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
5ffe066041
@@ -7922,18 +7922,23 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
|
||||
@Override
|
||||
public void syncInputTransactions() {
|
||||
waitForAnimationsToComplete();
|
||||
long token = Binder.clearCallingIdentity();
|
||||
try {
|
||||
waitForAnimationsToComplete();
|
||||
|
||||
// Collect all input transactions from all displays to make sure we could sync all input
|
||||
// windows at same time.
|
||||
final SurfaceControl.Transaction t = mTransactionFactory.get();
|
||||
synchronized (mGlobalLock) {
|
||||
mWindowPlacerLocked.performSurfacePlacementIfScheduled();
|
||||
mRoot.forAllDisplays(displayContent ->
|
||||
displayContent.getInputMonitor().updateInputWindowsImmediately(t));
|
||||
// Collect all input transactions from all displays to make sure we could sync all input
|
||||
// windows at same time.
|
||||
final SurfaceControl.Transaction t = mTransactionFactory.get();
|
||||
synchronized (mGlobalLock) {
|
||||
mWindowPlacerLocked.performSurfacePlacementIfScheduled();
|
||||
mRoot.forAllDisplays(displayContent ->
|
||||
displayContent.getInputMonitor().updateInputWindowsImmediately(t));
|
||||
}
|
||||
|
||||
t.syncInputWindows().apply();
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(token);
|
||||
}
|
||||
|
||||
t.syncInputWindows().apply();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user