diff options
| author | Alan Viverette <alanv@google.com> | 2013-05-08 15:03:49 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2013-05-08 15:03:49 -0700 |
| commit | 5e6fbf269425ea182b8a46e6a33848e1645197f6 (patch) | |
| tree | 61e7c98efa13cf8d276c5987865e8bb6fabe9afa /core/java/android/view/ViewRootImpl.java | |
| parent | f4b94a7cb76cce8a9a7c14be4af9e9acef82d744 (diff) | |
| parent | fa4c935edcfa09bb53a3aac411a285842a00ddee (diff) | |
am fa4c935e: am 239a0c0e: Ensure ViewRootImpl.setAccessibilityFocus() doesn\'t crash when reentrant.
* commit 'fa4c935edcfa09bb53a3aac411a285842a00ddee':
Ensure ViewRootImpl.setAccessibilityFocus() doesn't crash when reentrant.
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 47c40d29e0a0..29530399f3bd 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -2671,7 +2671,6 @@ public final class ViewRootImpl implements ViewParent, AccessibilityNodeInfo focusNode = mAccessibilityFocusedVirtualView; View focusHost = mAccessibilityFocusedHost; - focusHost.clearAccessibilityFocusNoCallbacks(); // Wipe the state of the current accessibility focus since // the call into the provider to clear accessibility focus @@ -2681,6 +2680,10 @@ public final class ViewRootImpl implements ViewParent, mAccessibilityFocusedHost = null; mAccessibilityFocusedVirtualView = null; + // Clear accessibility focus on the host after clearing state since + // this method may be reentrant. + focusHost.clearAccessibilityFocusNoCallbacks(); + AccessibilityNodeProvider provider = focusHost.getAccessibilityNodeProvider(); if (provider != null) { // Invalidate the area of the cleared accessibility focus. |
