summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewRootImpl.java
diff options
context:
space:
mode:
authorArthur Hung <arthurhung@google.com>2019-02-19 11:31:44 +0800
committerArthur Hung <arthurhung@google.com>2019-02-22 12:43:55 +0800
commita4c520694fee942a6a166bbb6687dcd0ea0e3509 (patch)
treea7b0f0a0b91fb99cb596510a558558c16cf5b806 /core/java/android/view/ViewRootImpl.java
parentddc0fa515588f6545f7ffbc4e9d03b55565020f8 (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.java2
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;
}