Service Gesture Detection: don't lock when executing double tap in the framework.

Only lock when obtaining the input filter to avoid deadlock when bringing up talkback settings.
Fix:223673816
Test: Manual. Bring up talkback settings and insure that there is no ten second wait.

Change-Id: Ic26a3a08a7c67b096a7995332e3ed5096fde4847
This commit is contained in:
Ameer Armaly
2022-03-22 11:36:40 -07:00
parent 4f027ec47c
commit c21d842c1a

View File

@@ -4290,11 +4290,15 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
}
private void onDoubleTapInternal(int displayId) {
AccessibilityInputFilter inputFilter = null;
synchronized (mLock) {
if (mHasInputFilter && mInputFilter != null) {
mInputFilter.onDoubleTap(displayId);
inputFilter = mInputFilter;
}
}
if (inputFilter != null) {
inputFilter.onDoubleTap(displayId);
}
}
@Override