summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewRootImpl.java
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2012-04-30 12:38:06 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-04-30 12:38:06 -0700
commit18dcf2f1cd3f84cbdffd8394e16475a13d6243df (patch)
treeb8bbd276505b18a37929273b5bfdad0d0adbba96 /core/java/android/view/ViewRootImpl.java
parent3ea8761974a530218a246dc73583c8820b12bf0b (diff)
parent1d74df226619101d905d872c8e609d315409695e (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.java10
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);
}
}
}