diff options
| author | Arthur Hung <arthurhung@google.com> | 2019-02-19 11:31:44 +0800 |
|---|---|---|
| committer | Arthur Hung <arthurhung@google.com> | 2019-02-22 12:43:55 +0800 |
| commit | a4c520694fee942a6a166bbb6687dcd0ea0e3509 (patch) | |
| tree | a7b0f0a0b91fb99cb596510a558558c16cf5b806 /core/java/android/view/ViewRootImpl.java | |
| parent | ddc0fa515588f6545f7ffbc4e9d03b55565020f8 (diff) | |
Fix View#performHapticFeedback() can block UI thread
Currently, IWindowSession#performHapticFeedback() would first lookup
the WindowState via IWindow token. That would also hold the WMS lock,
so if some function like relayout window is still hold WMS lock,
it may block the function.
Use uid and package name from Session that they already restored.
Bug: 62330939
Test: Open app with autofill edit, type with IME.
Change-Id: I359c106d213b87aa8afee48b0f1ad70011970eab
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 89c67032f8c2..be6b56c209a5 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -6996,7 +6996,7 @@ public final class ViewRootImpl implements ViewParent, @Override public boolean performHapticFeedback(int effectId, boolean always) { try { - return mWindowSession.performHapticFeedback(mWindow, effectId, always); + return mWindowSession.performHapticFeedback(effectId, always); } catch (RemoteException e) { return false; } |
