diff options
| author | Svetoslav Ganov <svetoslavganov@google.com> | 2012-04-30 12:38:06 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-04-30 12:38:06 -0700 |
| commit | 18dcf2f1cd3f84cbdffd8394e16475a13d6243df (patch) | |
| tree | b8bbd276505b18a37929273b5bfdad0d0adbba96 /core/java/android/view/ViewRootImpl.java | |
| parent | 3ea8761974a530218a246dc73583c8820b12bf0b (diff) | |
| parent | 1d74df226619101d905d872c8e609d315409695e (diff) | |
Merge "Fixing crash when drawing accessibility focus indicator." into jb-dev
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index c5c7746d4d11..62c87ac57594 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -635,6 +635,8 @@ public final class ViewRootImpl implements ViewParent, if (view.getImportantForAccessibility() == View.IMPORTANT_FOR_ACCESSIBILITY_AUTO) { view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES); } + + setAccessibilityFocusedHost(null); } } } @@ -2339,6 +2341,9 @@ public final class ViewRootImpl implements ViewParent, if (mAccessibilityFocusedVirtualView == null) { mAccessibilityFocusedVirtualView = provider.findAccessibilitiyFocus(View.NO_ID); } + if (mAccessibilityFocusedVirtualView == null) { + return; + } mAccessibilityFocusedVirtualView.getBoundsInScreen(bounds); bounds.offset(-mAttachInfo.mWindowLeft, -mAttachInfo.mWindowTop); } @@ -2865,6 +2870,8 @@ public final class ViewRootImpl implements ViewParent, mHasHadWindowFocus = true; } + setAccessibilityFocusedHost(null); + if (mView != null && mAccessibilityManager.isEnabled()) { if (hasWindowFocus) { mView.sendAccessibilityEvent( @@ -2883,9 +2890,6 @@ public final class ViewRootImpl implements ViewParent, if (mAccessibilityFocusedHost == null) { mView.requestAccessibilityFocus(); } - } else { - // Clear accessibility focus when the window loses input focus. - setAccessibilityFocusedHost(null); } } } |
