Loading api/16.txt +0 −8 Original line number Diff line number Diff line Loading @@ -24374,12 +24374,6 @@ package android.view { method protected boolean verifyDrawable(android.graphics.drawable.Drawable); method public boolean willNotCacheDrawing(); method public boolean willNotDraw(); field public static final int ACCESSIBILITY_FOCUS_BACKWARD = 4097; // 0x1001 field public static final int ACCESSIBILITY_FOCUS_DOWN = 4226; // 0x1082 field public static final int ACCESSIBILITY_FOCUS_FORWARD = 4098; // 0x1002 field public static final int ACCESSIBILITY_FOCUS_LEFT = 4113; // 0x1011 field public static final int ACCESSIBILITY_FOCUS_RIGHT = 4162; // 0x1042 field public static final int ACCESSIBILITY_FOCUS_UP = 4129; // 0x1021 field public static final android.util.Property ALPHA; field public static final int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0 field public static final int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000 Loading @@ -24401,7 +24395,6 @@ package android.view { field protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET; field protected static final int[] FOCUSED_STATE_SET; field protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET; field public static final int FOCUS_ACCESSIBILITY = 4096; // 0x1000 field public static final int FOCUS_BACKWARD = 1; // 0x1 field public static final int FOCUS_DOWN = 130; // 0x82 field public static final int FOCUS_FORWARD = 2; // 0x2 Loading Loading @@ -25348,7 +25341,6 @@ package android.view.accessibility { public abstract class AccessibilityNodeProvider { ctor public AccessibilityNodeProvider(); method public android.view.accessibility.AccessibilityNodeInfo accessibilityFocusSearch(int, int); method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(int); method public android.view.accessibility.AccessibilityNodeInfo findAccessibilityFocus(int); method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(java.lang.String, int); api/current.txt +0 −8 Original line number Diff line number Diff line Loading @@ -24374,12 +24374,6 @@ package android.view { method protected boolean verifyDrawable(android.graphics.drawable.Drawable); method public boolean willNotCacheDrawing(); method public boolean willNotDraw(); field public static final int ACCESSIBILITY_FOCUS_BACKWARD = 4097; // 0x1001 field public static final int ACCESSIBILITY_FOCUS_DOWN = 4226; // 0x1082 field public static final int ACCESSIBILITY_FOCUS_FORWARD = 4098; // 0x1002 field public static final int ACCESSIBILITY_FOCUS_LEFT = 4113; // 0x1011 field public static final int ACCESSIBILITY_FOCUS_RIGHT = 4162; // 0x1042 field public static final int ACCESSIBILITY_FOCUS_UP = 4129; // 0x1021 field public static final android.util.Property ALPHA; field public static final int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0 field public static final int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000 Loading @@ -24401,7 +24395,6 @@ package android.view { field protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET; field protected static final int[] FOCUSED_STATE_SET; field protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET; field public static final int FOCUS_ACCESSIBILITY = 4096; // 0x1000 field public static final int FOCUS_BACKWARD = 1; // 0x1 field public static final int FOCUS_DOWN = 130; // 0x82 field public static final int FOCUS_FORWARD = 2; // 0x2 Loading Loading @@ -25348,7 +25341,6 @@ package android.view.accessibility { public abstract class AccessibilityNodeProvider { ctor public AccessibilityNodeProvider(); method public android.view.accessibility.AccessibilityNodeInfo accessibilityFocusSearch(int, int); method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(int); method public android.view.accessibility.AccessibilityNodeInfo findAccessibilityFocus(int); method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(java.lang.String, int); core/java/android/view/View.java +41 −3 Original line number Diff line number Diff line Loading @@ -1047,36 +1047,50 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal /** * The accessibility focus which is the current user position when * interacting with the accessibility framework. * * @hide */ public static final int FOCUS_ACCESSIBILITY = 0x00001000; /** * Use with {@link #focusSearch(int)}. Move acessibility focus left. * * @hide */ public static final int ACCESSIBILITY_FOCUS_LEFT = FOCUS_LEFT | FOCUS_ACCESSIBILITY; /** * Use with {@link #focusSearch(int)}. Move acessibility focus up. * * @hide */ public static final int ACCESSIBILITY_FOCUS_UP = FOCUS_UP | FOCUS_ACCESSIBILITY; /** * Use with {@link #focusSearch(int)}. Move acessibility focus right. * * @hide */ public static final int ACCESSIBILITY_FOCUS_RIGHT = FOCUS_RIGHT | FOCUS_ACCESSIBILITY; /** * Use with {@link #focusSearch(int)}. Move acessibility focus down. * * @hide */ public static final int ACCESSIBILITY_FOCUS_DOWN = FOCUS_DOWN | FOCUS_ACCESSIBILITY; /** * Use with {@link #focusSearch(int)}. Move acessibility focus forward. * * @hide */ public static final int ACCESSIBILITY_FOCUS_FORWARD = FOCUS_FORWARD | FOCUS_ACCESSIBILITY; /** * Use with {@link #focusSearch(int)}. Move acessibility focus backward. * * @hide */ public static final int ACCESSIBILITY_FOCUS_BACKWARD = FOCUS_BACKWARD | FOCUS_ACCESSIBILITY; Loading Loading @@ -6333,6 +6347,31 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal } } private void sendAccessibilityHoverEvent(int eventType) { // Since we are not delivering to a client accessibility events from not // important views (unless the clinet request that) we need to fire the // event from the deepest view exposed to the client. As a consequence if // the user crosses a not exposed view the client will see enter and exit // of the exposed predecessor followed by and enter and exit of that same // predecessor when entering and exiting the not exposed descendant. This // is fine since the client has a clear idea which view is hovered at the // price of a couple more events being sent. This is a simple and // working solution. View source = this; while (true) { if (source.includeForAccessibility()) { source.sendAccessibilityEvent(eventType); return; } ViewParent parent = source.getParent(); if (parent instanceof View) { source = (View) parent; } else { return; } } } private void requestAccessibilityFocusFromHover() { if (includeForAccessibility() && isActionableForAccessibility()) { requestAccessibilityFocus(); Loading Loading @@ -7902,16 +7941,15 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal || action == MotionEvent.ACTION_HOVER_MOVE) && !hasHoveredChild() && pointInView(event.getX(), event.getY())) { sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_HOVER_ENTER); sendAccessibilityHoverEvent(AccessibilityEvent.TYPE_VIEW_HOVER_ENTER); mSendingHoverAccessibilityEvents = true; requestAccessibilityFocusFromHover(); } } else { if (action == MotionEvent.ACTION_HOVER_EXIT || (action == MotionEvent.ACTION_MOVE && !pointInView(event.getX(), event.getY()))) { mSendingHoverAccessibilityEvents = false; sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_HOVER_EXIT); sendAccessibilityHoverEvent(AccessibilityEvent.TYPE_VIEW_HOVER_EXIT); // If the window does not have input focus we take away accessibility // focus as soon as the user stop hovering over the view. if (mAttachInfo != null && !mAttachInfo.mHasWindowFocus) { Loading core/java/android/view/accessibility/AccessibilityNodeInfo.java +1 −7 Original line number Diff line number Diff line Loading @@ -469,13 +469,7 @@ public class AccessibilityNodeInfo implements Parcelable { * {@link View#FOCUS_LEFT}, * {@link View#FOCUS_RIGHT}, * {@link View#FOCUS_FORWARD}, * {@link View#FOCUS_BACKWARD}, * {@link View#ACCESSIBILITY_FOCUS_FORWARD}, * {@link View#ACCESSIBILITY_FOCUS_BACKWARD}, * {@link View#ACCESSIBILITY_FOCUS_UP}, * {@link View#ACCESSIBILITY_FOCUS_RIGHT}, * {@link View#ACCESSIBILITY_FOCUS_DOWN}, * {@link View#ACCESSIBILITY_FOCUS_LEFT}. * {@link View#FOCUS_BACKWARD}. * * @return The node info for the view that can take accessibility focus. */ Loading core/java/android/view/accessibility/AccessibilityNodeProvider.java +2 −0 Original line number Diff line number Diff line Loading @@ -180,6 +180,8 @@ public abstract class AccessibilityNodeProvider { * * @see #createAccessibilityNodeInfo(int) * @see AccessibilityNodeInfo * * @hide */ public AccessibilityNodeInfo accessibilityFocusSearch(int direction, int virtualViewId) { return null; Loading Loading
api/16.txt +0 −8 Original line number Diff line number Diff line Loading @@ -24374,12 +24374,6 @@ package android.view { method protected boolean verifyDrawable(android.graphics.drawable.Drawable); method public boolean willNotCacheDrawing(); method public boolean willNotDraw(); field public static final int ACCESSIBILITY_FOCUS_BACKWARD = 4097; // 0x1001 field public static final int ACCESSIBILITY_FOCUS_DOWN = 4226; // 0x1082 field public static final int ACCESSIBILITY_FOCUS_FORWARD = 4098; // 0x1002 field public static final int ACCESSIBILITY_FOCUS_LEFT = 4113; // 0x1011 field public static final int ACCESSIBILITY_FOCUS_RIGHT = 4162; // 0x1042 field public static final int ACCESSIBILITY_FOCUS_UP = 4129; // 0x1021 field public static final android.util.Property ALPHA; field public static final int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0 field public static final int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000 Loading @@ -24401,7 +24395,6 @@ package android.view { field protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET; field protected static final int[] FOCUSED_STATE_SET; field protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET; field public static final int FOCUS_ACCESSIBILITY = 4096; // 0x1000 field public static final int FOCUS_BACKWARD = 1; // 0x1 field public static final int FOCUS_DOWN = 130; // 0x82 field public static final int FOCUS_FORWARD = 2; // 0x2 Loading Loading @@ -25348,7 +25341,6 @@ package android.view.accessibility { public abstract class AccessibilityNodeProvider { ctor public AccessibilityNodeProvider(); method public android.view.accessibility.AccessibilityNodeInfo accessibilityFocusSearch(int, int); method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(int); method public android.view.accessibility.AccessibilityNodeInfo findAccessibilityFocus(int); method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(java.lang.String, int);
api/current.txt +0 −8 Original line number Diff line number Diff line Loading @@ -24374,12 +24374,6 @@ package android.view { method protected boolean verifyDrawable(android.graphics.drawable.Drawable); method public boolean willNotCacheDrawing(); method public boolean willNotDraw(); field public static final int ACCESSIBILITY_FOCUS_BACKWARD = 4097; // 0x1001 field public static final int ACCESSIBILITY_FOCUS_DOWN = 4226; // 0x1082 field public static final int ACCESSIBILITY_FOCUS_FORWARD = 4098; // 0x1002 field public static final int ACCESSIBILITY_FOCUS_LEFT = 4113; // 0x1011 field public static final int ACCESSIBILITY_FOCUS_RIGHT = 4162; // 0x1042 field public static final int ACCESSIBILITY_FOCUS_UP = 4129; // 0x1021 field public static final android.util.Property ALPHA; field public static final int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0 field public static final int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000 Loading @@ -24401,7 +24395,6 @@ package android.view { field protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET; field protected static final int[] FOCUSED_STATE_SET; field protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET; field public static final int FOCUS_ACCESSIBILITY = 4096; // 0x1000 field public static final int FOCUS_BACKWARD = 1; // 0x1 field public static final int FOCUS_DOWN = 130; // 0x82 field public static final int FOCUS_FORWARD = 2; // 0x2 Loading Loading @@ -25348,7 +25341,6 @@ package android.view.accessibility { public abstract class AccessibilityNodeProvider { ctor public AccessibilityNodeProvider(); method public android.view.accessibility.AccessibilityNodeInfo accessibilityFocusSearch(int, int); method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(int); method public android.view.accessibility.AccessibilityNodeInfo findAccessibilityFocus(int); method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(java.lang.String, int);
core/java/android/view/View.java +41 −3 Original line number Diff line number Diff line Loading @@ -1047,36 +1047,50 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal /** * The accessibility focus which is the current user position when * interacting with the accessibility framework. * * @hide */ public static final int FOCUS_ACCESSIBILITY = 0x00001000; /** * Use with {@link #focusSearch(int)}. Move acessibility focus left. * * @hide */ public static final int ACCESSIBILITY_FOCUS_LEFT = FOCUS_LEFT | FOCUS_ACCESSIBILITY; /** * Use with {@link #focusSearch(int)}. Move acessibility focus up. * * @hide */ public static final int ACCESSIBILITY_FOCUS_UP = FOCUS_UP | FOCUS_ACCESSIBILITY; /** * Use with {@link #focusSearch(int)}. Move acessibility focus right. * * @hide */ public static final int ACCESSIBILITY_FOCUS_RIGHT = FOCUS_RIGHT | FOCUS_ACCESSIBILITY; /** * Use with {@link #focusSearch(int)}. Move acessibility focus down. * * @hide */ public static final int ACCESSIBILITY_FOCUS_DOWN = FOCUS_DOWN | FOCUS_ACCESSIBILITY; /** * Use with {@link #focusSearch(int)}. Move acessibility focus forward. * * @hide */ public static final int ACCESSIBILITY_FOCUS_FORWARD = FOCUS_FORWARD | FOCUS_ACCESSIBILITY; /** * Use with {@link #focusSearch(int)}. Move acessibility focus backward. * * @hide */ public static final int ACCESSIBILITY_FOCUS_BACKWARD = FOCUS_BACKWARD | FOCUS_ACCESSIBILITY; Loading Loading @@ -6333,6 +6347,31 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal } } private void sendAccessibilityHoverEvent(int eventType) { // Since we are not delivering to a client accessibility events from not // important views (unless the clinet request that) we need to fire the // event from the deepest view exposed to the client. As a consequence if // the user crosses a not exposed view the client will see enter and exit // of the exposed predecessor followed by and enter and exit of that same // predecessor when entering and exiting the not exposed descendant. This // is fine since the client has a clear idea which view is hovered at the // price of a couple more events being sent. This is a simple and // working solution. View source = this; while (true) { if (source.includeForAccessibility()) { source.sendAccessibilityEvent(eventType); return; } ViewParent parent = source.getParent(); if (parent instanceof View) { source = (View) parent; } else { return; } } } private void requestAccessibilityFocusFromHover() { if (includeForAccessibility() && isActionableForAccessibility()) { requestAccessibilityFocus(); Loading Loading @@ -7902,16 +7941,15 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal || action == MotionEvent.ACTION_HOVER_MOVE) && !hasHoveredChild() && pointInView(event.getX(), event.getY())) { sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_HOVER_ENTER); sendAccessibilityHoverEvent(AccessibilityEvent.TYPE_VIEW_HOVER_ENTER); mSendingHoverAccessibilityEvents = true; requestAccessibilityFocusFromHover(); } } else { if (action == MotionEvent.ACTION_HOVER_EXIT || (action == MotionEvent.ACTION_MOVE && !pointInView(event.getX(), event.getY()))) { mSendingHoverAccessibilityEvents = false; sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_HOVER_EXIT); sendAccessibilityHoverEvent(AccessibilityEvent.TYPE_VIEW_HOVER_EXIT); // If the window does not have input focus we take away accessibility // focus as soon as the user stop hovering over the view. if (mAttachInfo != null && !mAttachInfo.mHasWindowFocus) { Loading
core/java/android/view/accessibility/AccessibilityNodeInfo.java +1 −7 Original line number Diff line number Diff line Loading @@ -469,13 +469,7 @@ public class AccessibilityNodeInfo implements Parcelable { * {@link View#FOCUS_LEFT}, * {@link View#FOCUS_RIGHT}, * {@link View#FOCUS_FORWARD}, * {@link View#FOCUS_BACKWARD}, * {@link View#ACCESSIBILITY_FOCUS_FORWARD}, * {@link View#ACCESSIBILITY_FOCUS_BACKWARD}, * {@link View#ACCESSIBILITY_FOCUS_UP}, * {@link View#ACCESSIBILITY_FOCUS_RIGHT}, * {@link View#ACCESSIBILITY_FOCUS_DOWN}, * {@link View#ACCESSIBILITY_FOCUS_LEFT}. * {@link View#FOCUS_BACKWARD}. * * @return The node info for the view that can take accessibility focus. */ Loading
core/java/android/view/accessibility/AccessibilityNodeProvider.java +2 −0 Original line number Diff line number Diff line Loading @@ -180,6 +180,8 @@ public abstract class AccessibilityNodeProvider { * * @see #createAccessibilityNodeInfo(int) * @see AccessibilityNodeInfo * * @hide */ public AccessibilityNodeInfo accessibilityFocusSearch(int direction, int virtualViewId) { return null; Loading