Loading core/java/android/view/accessibility/AccessibilityNodeInfo.java +32 −0 Original line number Original line Diff line number Diff line Loading @@ -443,6 +443,7 @@ public class AccessibilityNodeInfo implements Parcelable { */ */ public AccessibilityNodeInfo findFocus(int focus) { public AccessibilityNodeInfo findFocus(int focus) { enforceSealed(); enforceSealed(); enforceValidFocusType(focus); if (!canPerformRequestOverConnection(mSourceNodeId)) { if (!canPerformRequestOverConnection(mSourceNodeId)) { return null; return null; } } Loading Loading @@ -472,6 +473,7 @@ public class AccessibilityNodeInfo implements Parcelable { */ */ public AccessibilityNodeInfo focusSearch(int direction) { public AccessibilityNodeInfo focusSearch(int direction) { enforceSealed(); enforceSealed(); enforceValidFocusDirection(direction); if (!canPerformRequestOverConnection(mSourceNodeId)) { if (!canPerformRequestOverConnection(mSourceNodeId)) { return null; return null; } } Loading Loading @@ -1330,6 +1332,36 @@ public class AccessibilityNodeInfo implements Parcelable { } } } } private void enforceValidFocusDirection(int direction) { switch (direction) { case View.FOCUS_DOWN: case View.FOCUS_UP: case View.FOCUS_LEFT: case View.FOCUS_RIGHT: case View.FOCUS_FORWARD: case View.FOCUS_BACKWARD: case View.ACCESSIBILITY_FOCUS_DOWN: case View.ACCESSIBILITY_FOCUS_UP: case View.ACCESSIBILITY_FOCUS_LEFT: case View.ACCESSIBILITY_FOCUS_RIGHT: case View.ACCESSIBILITY_FOCUS_FORWARD: case View.ACCESSIBILITY_FOCUS_BACKWARD: return; default: throw new IllegalArgumentException("Unknown direction: " + direction); } } private void enforceValidFocusType(int focusType) { switch (focusType) { case FOCUS_INPUT: case FOCUS_ACCESSIBILITY: return; default: throw new IllegalArgumentException("Unknown focus type: " + focusType); } } /** /** * Enforces that this instance is not sealed. * Enforces that this instance is not sealed. * * Loading Loading
core/java/android/view/accessibility/AccessibilityNodeInfo.java +32 −0 Original line number Original line Diff line number Diff line Loading @@ -443,6 +443,7 @@ public class AccessibilityNodeInfo implements Parcelable { */ */ public AccessibilityNodeInfo findFocus(int focus) { public AccessibilityNodeInfo findFocus(int focus) { enforceSealed(); enforceSealed(); enforceValidFocusType(focus); if (!canPerformRequestOverConnection(mSourceNodeId)) { if (!canPerformRequestOverConnection(mSourceNodeId)) { return null; return null; } } Loading Loading @@ -472,6 +473,7 @@ public class AccessibilityNodeInfo implements Parcelable { */ */ public AccessibilityNodeInfo focusSearch(int direction) { public AccessibilityNodeInfo focusSearch(int direction) { enforceSealed(); enforceSealed(); enforceValidFocusDirection(direction); if (!canPerformRequestOverConnection(mSourceNodeId)) { if (!canPerformRequestOverConnection(mSourceNodeId)) { return null; return null; } } Loading Loading @@ -1330,6 +1332,36 @@ public class AccessibilityNodeInfo implements Parcelable { } } } } private void enforceValidFocusDirection(int direction) { switch (direction) { case View.FOCUS_DOWN: case View.FOCUS_UP: case View.FOCUS_LEFT: case View.FOCUS_RIGHT: case View.FOCUS_FORWARD: case View.FOCUS_BACKWARD: case View.ACCESSIBILITY_FOCUS_DOWN: case View.ACCESSIBILITY_FOCUS_UP: case View.ACCESSIBILITY_FOCUS_LEFT: case View.ACCESSIBILITY_FOCUS_RIGHT: case View.ACCESSIBILITY_FOCUS_FORWARD: case View.ACCESSIBILITY_FOCUS_BACKWARD: return; default: throw new IllegalArgumentException("Unknown direction: " + direction); } } private void enforceValidFocusType(int focusType) { switch (focusType) { case FOCUS_INPUT: case FOCUS_ACCESSIBILITY: return; default: throw new IllegalArgumentException("Unknown focus type: " + focusType); } } /** /** * Enforces that this instance is not sealed. * Enforces that this instance is not sealed. * * Loading