summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2012-04-30 12:24:57 -0700
committerSvetoslav Ganov <svetoslavganov@google.com>2012-04-30 12:25:31 -0700
commit07b726c86b1d0b22e51b08cb4234f8212864d9f9 (patch)
tree7b52d00fc589f0083b22128c550ca4172c0a3d2a
parent427db9b3d10d5c203d0351e683c3cddfd270250c (diff)
downloadframeworks_base-07b726c86b1d0b22e51b08cb4234f8212864d9f9.zip
frameworks_base-07b726c86b1d0b22e51b08cb4234f8212864d9f9.tar.gz
frameworks_base-07b726c86b1d0b22e51b08cb4234f8212864d9f9.tar.bz2
Enabling accessibility focus only if explore by touch is on.
1. Now we will enable the accessibility focus only if Explore by Touch is enabled. Enabling this feature allows a blind user to touch the screen and set the accessibility focus at this location as well as get spoken feedback. Also an accessibility service can move the accessibility as a result of user gestures detected only if Explore by Touch is enabled. Since we will handle some gestures by default if not accessibility service does so to provide reasonable built-in navigation of the UI by "objects" we need the accessibility focus functionality. bug:6383361 Change-Id: I13ce6072a90f5838c7656379788144c99a772bf0
-rw-r--r--core/java/android/view/View.java3
-rw-r--r--core/java/android/view/ViewRootImpl.java3
2 files changed, 4 insertions, 2 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 588bb06..a300639 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -5942,7 +5942,8 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
* @hide
*/
public boolean requestAccessibilityFocus() {
- if (!AccessibilityManager.getInstance(mContext).isEnabled()) {
+ AccessibilityManager manager = AccessibilityManager.getInstance(mContext);
+ if (!manager.isEnabled() || !manager.isTouchExplorationEnabled()) {
return false;
}
if ((mViewFlags & VISIBILITY_MASK) != VISIBLE) {
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index c5c7746..aabe043 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -2316,7 +2316,8 @@ public final class ViewRootImpl implements ViewParent,
* @param canvas The canvas on which to draw.
*/
private void drawAccessibilityFocusedDrawableIfNeeded(Canvas canvas) {
- if (!AccessibilityManager.getInstance(mView.mContext).isEnabled()) {
+ AccessibilityManager manager = AccessibilityManager.getInstance(mView.mContext);
+ if (!manager.isEnabled() || !manager.isTouchExplorationEnabled()) {
return;
}
if (mAccessibilityFocusedHost == null || mAccessibilityFocusedHost.mAttachInfo == null) {