19648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/* 29648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Copyright (C) 2011 The Android Open Source Project 39648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 49648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Licensed under the Apache License, Version 2.0 (the "License"); 59648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * you may not use this file except in compliance with the License. 69648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * You may obtain a copy of the License at 79648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 89648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * http://www.apache.org/licenses/LICENSE-2.0 99648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Unless required by applicable law or agreed to in writing, software 119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * distributed under the License is distributed on an "AS IS" BASIS, 129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * See the License for the specific language governing permissions and 149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * limitations under the License. 159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovpackage android.support.v4.view.accessibility; 189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.graphics.Rect; 209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.os.Build; 2170e96ebf69f91da84681a6263b3862c63d53ab11alanvimport android.os.Bundle; 22f0d984600125413628899bfc849bab102bc2228eSteven Daoimport android.support.annotation.Nullable; 230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslavimport android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat; 24086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viveretteimport android.support.v4.view.ViewCompat; 258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatovimport android.text.InputType; 269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.View; 27a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.ArrayList; 29f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganovimport java.util.Collections; 309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.List; 319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/** 330574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * Helper for accessing {@link android.view.accessibility.AccessibilityNodeInfo} 340574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * introduced after API level 4 in a backwards compatible fashion. 359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovpublic class AccessibilityNodeInfoCompat { 379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 38389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public static class AccessibilityActionCompat { 3987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 4087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 4187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action that gives input focus to the node. 4287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 4387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_FOCUS = 4487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 4587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_FOCUS, null); 4687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 4787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 4887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action that clears input focus of the node. 4987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 5087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_CLEAR_FOCUS = 5187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 5287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_CLEAR_FOCUS, null); 5387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 5487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 5587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action that selects the node. 5687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 5787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_SELECT = 5887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 5987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_SELECT, null); 6087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 6187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 6287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action that deselects the node. 6387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 6487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_CLEAR_SELECTION = 6587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 6687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_CLEAR_SELECTION, null); 6787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 6887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 6987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action that clicks on the node info. 7087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 7187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_CLICK = 7287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 7387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_CLICK, null); 7487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 7587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 7687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action that long clicks on the node. 7787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 7887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_LONG_CLICK = 7987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 8087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_LONG_CLICK, null); 8187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 8287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 8387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action that gives accessibility focus to the node. 8487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 8587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_ACCESSIBILITY_FOCUS = 8687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 8787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS, null); 8887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 8987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 9087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action that clears accessibility focus of the node. 9187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 9287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_CLEAR_ACCESSIBILITY_FOCUS = 9387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 9487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_CLEAR_ACCESSIBILITY_FOCUS, null); 9587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 9687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 9787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action that requests to go to the next entity in this node's text 9887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * at a given movement granularity. For example, move to the next character, 9987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * word, etc. 10087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <p> 10187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Arguments:</strong> 10287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * {@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 10387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}, 10487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * {@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 10587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 10687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Example:</strong> Move to the previous character and do not extend selection. 10787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <code><pre><p> 10887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Bundle arguments = new Bundle(); 10987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * arguments.putInt(AccessibilityNodeInfoCompat.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 11087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_CHARACTER); 11187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * arguments.putBoolean( 11287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, false); 11387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * info.performAction( 11487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityActionCompat.ACTION_NEXT_AT_MOVEMENT_GRANULARITY.getId(), 11587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * arguments); 11687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * </code></pre></p> 11787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * </p> 11887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * 11987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 12087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 12187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 12287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 12387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * 12487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#setMovementGranularities(int) 12587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 12687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#getMovementGranularities() 12787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.getMovementGranularities() 12887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * 12987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#MOVEMENT_GRANULARITY_CHARACTER 13087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_CHARACTER 13187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#MOVEMENT_GRANULARITY_WORD 13287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_WORD 13387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#MOVEMENT_GRANULARITY_LINE 13487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_LINE 13587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#MOVEMENT_GRANULARITY_PARAGRAPH 13687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_PARAGRAPH 13787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#MOVEMENT_GRANULARITY_PAGE 13887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_PAGE 13987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 14087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 14187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 14287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, null); 14387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 14487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 14587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action that requests to go to the previous entity in this node's text 14687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * at a given movement granularity. For example, move to the next character, 14787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * word, etc. 14887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <p> 14987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Arguments:</strong> 15087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * {@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 15187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}, 15287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * {@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 15387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 15487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Example:</strong> Move to the next character and do not extend selection. 15587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <code><pre><p> 15687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Bundle arguments = new Bundle(); 15787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * arguments.putInt(AccessibilityNodeInfoCompat.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 15887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_CHARACTER); 15987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * arguments.putBoolean( 16087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, false); 16187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * info.performAction( 16287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityActionCompat.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY.getId(), 16387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * arguments); 16487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * </code></pre></p> 16587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * </p> 16687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * 16787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 16887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 16987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 17087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 17187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * 17287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#setMovementGranularities(int) 17387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.setMovementGranularities(int) 17487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#getMovementGranularities() 17587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.getMovementGranularities() 17687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * 17787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#MOVEMENT_GRANULARITY_CHARACTER 17887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_CHARACTER 17987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#MOVEMENT_GRANULARITY_WORD 18087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_WORD 18187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#MOVEMENT_GRANULARITY_LINE 18287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_LINE 18387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#MOVEMENT_GRANULARITY_PARAGRAPH 18487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_PARAGRAPH 18587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#MOVEMENT_GRANULARITY_PAGE 18687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_PAGE 18787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 18887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 18987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 19087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, null); 19187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 19287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 19387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to move to the next HTML element of a given type. For example, move 19487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * to the BUTTON, INPUT, TABLE, etc. 19587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <p> 19687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Arguments:</strong> 19787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * {@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_HTML_ELEMENT_STRING 19887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 19987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Example:</strong> 20087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <code><pre><p> 20187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Bundle arguments = new Bundle(); 20287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * arguments.putString( 20387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 20487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * info.performAction( 20587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityActionCompat.ACTION_NEXT_HTML_ELEMENT.getId(), arguments); 20687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * </code></pre></p> 20787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * </p> 20887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 20987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_NEXT_HTML_ELEMENT = 21087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 21187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_NEXT_HTML_ELEMENT, null); 21287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 21387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 21487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to move to the previous HTML element of a given type. For example, move 21587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * to the BUTTON, INPUT, TABLE, etc. 21687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <p> 21787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Arguments:</strong> 21887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * {@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_HTML_ELEMENT_STRING 21987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 22087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Example:</strong> 22187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <code><pre><p> 22287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Bundle arguments = new Bundle(); 22387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * arguments.putString( 22487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 22587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * info.performAction( 22687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityActionCompat.ACTION_PREVIOUS_HTML_ELEMENT.getId(), arguments); 22787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * </code></pre></p> 22887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * </p> 22987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 23087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_PREVIOUS_HTML_ELEMENT = 23187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 23287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_PREVIOUS_HTML_ELEMENT, null); 23387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 23487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 23587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to scroll the node content forward. 23687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 23787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_SCROLL_FORWARD = 23887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 23987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD, null); 24087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 24187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 24287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to scroll the node content backward. 24387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 24487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_SCROLL_BACKWARD = 24587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 24687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD, null); 24787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 24887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 24987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to copy the current selection to the clipboard. 25087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 25187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_COPY = 25287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 25387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_COPY, null); 25487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 25587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 25687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to paste the current clipboard content. 25787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 25887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_PASTE = 25987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 26087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_PASTE, null); 26187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 26287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 26387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to cut the current selection and place it to the clipboard. 26487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 26587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_CUT = 26687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 26787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_CUT, null); 26887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 26987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 27087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to set the selection. Performing this action with no arguments 27187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * clears the selection. 27287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <p> 27387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Arguments:</strong> 27487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * {@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_SELECTION_START_INT 27587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_SELECTION_START_INT}, 27687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * {@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_SELECTION_END_INT 27787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_SELECTION_END_INT}<br> 27887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Example:</strong> 27987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <code><pre><p> 28087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Bundle arguments = new Bundle(); 28187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * arguments.putInt(AccessibilityNodeInfoCompat.ACTION_ARGUMENT_SELECTION_START_INT, 1); 28287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * arguments.putInt(AccessibilityNodeInfoCompat.ACTION_ARGUMENT_SELECTION_END_INT, 2); 28387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * info.performAction(AccessibilityActionCompat.ACTION_SET_SELECTION.getId(), arguments); 28487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * </code></pre></p> 28587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * </p> 28687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * 28787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#ACTION_ARGUMENT_SELECTION_START_INT 28887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_SELECTION_START_INT 28987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * @see AccessibilityNodeInfoCompat#ACTION_ARGUMENT_SELECTION_END_INT 29087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_SELECTION_END_INT 29187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 29287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_SET_SELECTION = 29387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 29487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_SET_SELECTION, null); 29587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 29687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 29787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to expand an expandable node. 29887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 29987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_EXPAND = 30087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 30187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_EXPAND, null); 30287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 30387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 30487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to collapse an expandable node. 30587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 30687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_COLLAPSE = 30787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 30887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_COLLAPSE, null); 30987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 31087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 31187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to dismiss a dismissable node. 31287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 31387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_DISMISS = 31487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 31587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_DISMISS, null); 31687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 31787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 31887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action that sets the text of the node. Performing the action without argument, 31987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * using <code> null</code> or empty {@link CharSequence} will clear the text. This 32087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * action will also put the cursor at the end of text. 32187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <p> 32287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Arguments:</strong> 32387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * {@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE 32487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * AccessibilityNodeInfoCompat.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE}<br> 32587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <strong>Example:</strong> 32687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * <code><pre><p> 32787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Bundle arguments = new Bundle(); 32887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * arguments.putCharSequence(AccessibilityNodeInfoCompat.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, 32987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * "android"); 33087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * info.performAction(AccessibilityActionCompat.ACTION_SET_TEXT.getId(), arguments); 33187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * </code></pre></p> 33287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 33387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final AccessibilityActionCompat ACTION_SET_TEXT = 33487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette new AccessibilityActionCompat( 33587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette AccessibilityNodeInfoCompat.ACTION_SET_TEXT, null); 33687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 33777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 33877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Action that requests the node make its bounding rectangle visible 33977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * on the screen, scrolling if necessary just enough. 34077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * 34177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * @see View#requestRectangleOnScreen(Rect) 34277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 34377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static final AccessibilityActionCompat ACTION_SHOW_ON_SCREEN = 34477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid new AccessibilityActionCompat(IMPL.getActionShowOnScreen()); 34577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 34677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 34777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Action that scrolls the node to make the specified collection 34877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * position visible on screen. 34977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <p> 35077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <strong>Arguments:</strong> 35177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <ul> 35277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <li>{@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_ROW_INT}</li> 35377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <li>{@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_COLUMN_INT}</li> 35477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <ul> 35577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * 35677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * @see AccessibilityNodeInfoCompat#getCollectionInfo() 35777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 35877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static final AccessibilityActionCompat ACTION_SCROLL_TO_POSITION = 35977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid new AccessibilityActionCompat(IMPL.getActionScrollToPosition()); 36077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 36177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 36277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Action to scroll the node content up. 36377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 36477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static final AccessibilityActionCompat ACTION_SCROLL_UP = 36577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid new AccessibilityActionCompat(IMPL.getActionScrollUp()); 36677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 36777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 36877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Action to scroll the node content left. 36977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 37077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static final AccessibilityActionCompat ACTION_SCROLL_LEFT = 37177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid new AccessibilityActionCompat(IMPL.getActionScrollLeft()); 37277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 37377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 37477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Action to scroll the node content down. 37577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 37677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static final AccessibilityActionCompat ACTION_SCROLL_DOWN = 37777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid new AccessibilityActionCompat(IMPL.getActionScrollDown()); 37877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 37977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 38077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Action to scroll the node content right. 38177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 38277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static final AccessibilityActionCompat ACTION_SCROLL_RIGHT = 38377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid new AccessibilityActionCompat(IMPL.getActionScrollRight()); 38477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 38577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 38677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Action that context clicks the node. 38777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 38877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static final AccessibilityActionCompat ACTION_CONTEXT_CLICK = 38977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid new AccessibilityActionCompat(IMPL.getActionContextClick()); 39077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 39177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 39277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Action that sets progress between {@link RangeInfoCompat#getMin() RangeInfo.getMin()} and 39377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * {@link RangeInfoCompat#getMax() RangeInfo.getMax()}. It should use the same value type as 39477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * {@link RangeInfoCompat#getType() RangeInfo.getType()} 39577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <p> 39677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <strong>Arguments:</strong> 39777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * {@link AccessibilityNodeInfoCompat#ACTION_ARGUMENT_PROGRESS_VALUE} 39877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * 39977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * @see RangeInfoCompat 40077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 40177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static final AccessibilityActionCompat ACTION_SET_PROGRESS = 40277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid new AccessibilityActionCompat(IMPL.getActionSetProgress()); 40377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 404552766fa685c63ad760c92239faaba12e6ad51f1Aurimas Liutikas final Object mAction; 405389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 40684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav /** 40784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * Creates a new instance. 40884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * 40984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @param actionId The action id. 41084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @param label The action label. 41184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav */ 41284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public AccessibilityActionCompat(int actionId, CharSequence label) { 41384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav this(IMPL.newAccessibilityAction(actionId, label)); 41484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 41584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 416552766fa685c63ad760c92239faaba12e6ad51f1Aurimas Liutikas AccessibilityActionCompat(Object action) { 417389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen mAction = action; 418389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 419389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 420389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 421389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the id for this action. 422389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 423389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return The action id. 424389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 425389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public int getId() { 42684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return IMPL.getAccessibilityActionId(mAction); 427389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 428389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 429389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 430389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the label for this action. Its purpose is to describe the 431389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * action to user. 432389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 433389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return The label. 434389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 435389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public CharSequence getLabel() { 43684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return IMPL.getAccessibilityActionLabel(mAction); 437389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 438389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 439389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 440021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 441021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Class with information if a node is a collection. 442021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * <p> 443021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * A collection of items has rows and columns and may be hierarchical. 444021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * For example, a horizontal list is a collection with one column, as 445021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * many rows as the list items, and is not hierarchical; A table is a 446021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * collection with several rows, several columns, and is not hierarchical; 447021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * A vertical tree is a hierarchical collection with one column and 448021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * as many rows as the first level children. 449021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * </p> 450021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 451fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class CollectionInfoCompat { 452a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** Selection mode where items are not selectable. */ 453a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static final int SELECTION_MODE_NONE = 0; 454a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 455a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** Selection mode where a single item may be selected. */ 456a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static final int SELECTION_MODE_SINGLE = 1; 457a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 458a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** Selection mode where multiple items may be selected. */ 459a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static final int SELECTION_MODE_MULTIPLE = 2; 460a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 461a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar final Object mInfo; 462a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 463a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** 464a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * Returns a cached instance if such is available otherwise a new one. 465a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * 466021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param rowCount The number of rows. 467021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param columnCount The number of columns. 468021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param hierarchical Whether the collection is hierarchical. 469021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param selectionMode The collection's selection mode, one of: 470021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * <ul> 471021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * <li>{@link #SELECTION_MODE_NONE} 472021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * <li>{@link #SELECTION_MODE_SINGLE} 473021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * <li>{@link #SELECTION_MODE_MULTIPLE} 474021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * </ul> 475021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 476a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * @return An instance. 477a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar */ 478a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static CollectionInfoCompat obtain(int rowCount, int columnCount, 479a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar boolean hierarchical, int selectionMode) { 480a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return new CollectionInfoCompat(IMPL.obtainCollectionInfo(rowCount, columnCount, 481a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar hierarchical, selectionMode)); 482a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 483fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 484021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 485021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Returns a cached instance if such is available otherwise a new one. 486021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 487021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param rowCount The number of rows. 488021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param columnCount The number of columns. 489021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param hierarchical Whether the collection is hierarchical. 490021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 491021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return An instance. 492021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 49377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static CollectionInfoCompat obtain(int rowCount, int columnCount, 49477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean hierarchical) { 49577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return new CollectionInfoCompat(IMPL.obtainCollectionInfo(rowCount, columnCount, 49677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid hierarchical)); 49777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 49877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 499552766fa685c63ad760c92239faaba12e6ad51f1Aurimas Liutikas CollectionInfoCompat(Object info) { 500fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 501fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 502fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 503021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 504021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets the number of columns. 505021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 506021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The column count. 507021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 508fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnCount() { 509a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionInfoColumnCount(mInfo); 510fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 511fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 512021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 513021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets the number of rows. 514021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 515021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The row count. 516021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 517fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowCount() { 518a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionInfoRowCount(mInfo); 519fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 520fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 521021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 522021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets if the collection is a hierarchically ordered. 523021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 524021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return Whether the collection is hierarchical. 525021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 526fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public boolean isHierarchical() { 527a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.isCollectionInfoHierarchical(mInfo); 528fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 52977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 530021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 531021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets the collection's selection mode. 532021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 533021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The collection's selection mode, one of: 534021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * <ul> 535021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * <li>{@link #SELECTION_MODE_NONE} 536021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * <li>{@link #SELECTION_MODE_SINGLE} 537021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * <li>{@link #SELECTION_MODE_MULTIPLE} 538021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * </ul> 539021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 54077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public int getSelectionMode() { 54177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return IMPL.getCollectionInfoSelectionMode(mInfo); 54277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 543fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 544fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 545021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 546021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Class with information if a node is a collection item. 547021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * <p> 548021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * A collection item is contained in a collection, it starts at 549021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * a given row and column in the collection, and spans one or 550021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * more rows and columns. For example, a header of two related 551021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * table columns starts at the first row and the first column, 552021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * spans one row and two columns. 553021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * </p> 554021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 555fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class CollectionItemInfoCompat { 556a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 557552766fa685c63ad760c92239faaba12e6ad51f1Aurimas Liutikas final Object mInfo; 558fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 559a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** 560a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * Returns a cached instance if such is available otherwise a new one. 561a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * 562021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param rowIndex The row index at which the item is located. 563021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param rowSpan The number of rows the item spans. 564021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param columnIndex The column index at which the item is located. 565021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param columnSpan The number of columns the item spans. 566021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param heading Whether the item is a heading. 567021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param selected Whether the item is selected. 568a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * @return An instance. 569a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar */ 570a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static CollectionItemInfoCompat obtain(int rowIndex, int rowSpan, 571a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnIndex, int columnSpan, boolean heading, boolean selected) { 572a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return new CollectionItemInfoCompat(IMPL.obtainCollectionItemInfo(rowIndex, rowSpan, 573a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar columnIndex, columnSpan, heading, selected)); 574a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 575a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 576021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 577021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Returns a cached instance if such is available otherwise a new one. 578021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 579021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param rowIndex The row index at which the item is located. 580021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param rowSpan The number of rows the item spans. 581021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param columnIndex The column index at which the item is located. 582021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param columnSpan The number of columns the item spans. 583021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param heading Whether the item is a heading. 584021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return An instance. 585021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 58677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static CollectionItemInfoCompat obtain(int rowIndex, int rowSpan, 58777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int columnIndex, int columnSpan, boolean heading) { 58877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return new CollectionItemInfoCompat(IMPL.obtainCollectionItemInfo(rowIndex, rowSpan, 58977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid columnIndex, columnSpan, heading)); 59077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 59177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 592552766fa685c63ad760c92239faaba12e6ad51f1Aurimas Liutikas CollectionItemInfoCompat(Object info) { 593fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 594fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 595fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 596021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 597021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets the column index at which the item is located. 598021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 599021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The column index. 600021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 601fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnIndex() { 602a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemColumnIndex(mInfo); 603fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 604fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 605021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 606021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets the number of columns the item spans. 607021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 608021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The column span. 609021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 610fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnSpan() { 611a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemColumnSpan(mInfo); 612fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 613fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 614021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 615021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets the row index at which the item is located. 616021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 617021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The row index. 618021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 619fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowIndex() { 620a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemRowIndex(mInfo); 621fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 622fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 623021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 624021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets the number of rows the item spans. 625021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 626021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The row span. 627021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 628fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowSpan() { 629a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemRowSpan(mInfo); 630fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 631fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 632021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 633021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets if the collection item is a heading. For example, section 634021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * heading, table header, etc. 635021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 636021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return If the item is a heading. 637021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 638fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public boolean isHeading() { 639a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.isCollectionItemHeading(mInfo); 640a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 641a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 642021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 643021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets if the collection item is selected. 644021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 645021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return If the item is selected. 646021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 647a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isSelected() { 648a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.isCollectionItemSelected(mInfo); 649fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 650fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 651fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 652021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 653021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Class with information if a node is a range. 654021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 655fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class RangeInfoCompat { 656fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: integer. */ 657fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_INT = 0; 658fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: float. */ 659fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_FLOAT = 1; 660fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: percent with values from zero to one.*/ 661fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_PERCENT = 2; 662fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 663021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 664021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Obtains a cached instance if such is available otherwise a new one. 665021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 666021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param type The type of the range. 667021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param min The min value. 668021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param max The max value. 669021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @param current The current value. 670021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The instance 671021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 67277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static RangeInfoCompat obtain(int type, float min, float max, float current) { 67377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return new RangeInfoCompat(IMPL.obtainRangeInfo(type, min, max, current)); 67477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 67577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 676552766fa685c63ad760c92239faaba12e6ad51f1Aurimas Liutikas final Object mInfo; 677fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 678552766fa685c63ad760c92239faaba12e6ad51f1Aurimas Liutikas RangeInfoCompat(Object info) { 679fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 680fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 681fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 682021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 683021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets the current value. 684021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 685021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The current value. 686021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 687fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getCurrent() { 688fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getCurrent(mInfo); 689fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 690fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 691021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 692021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets the max value. 693021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 694021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The max value. 695021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 696fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getMax() { 697fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getMax(mInfo); 698fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 699fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 700021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 701021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets the min value. 702021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 703021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The min value. 704021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 705fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getMin() { 706fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getMin(mInfo); 707fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 708fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 709021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver /** 710021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * Gets the range type. 711021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 712021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @return The range type. 713021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * 714021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @see #RANGE_TYPE_INT 715021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @see #RANGE_TYPE_FLOAT 716021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver * @see #RANGE_TYPE_PERCENT 717021b7ee8bec074bbb2f8da250293b35cc3d68175Phil Weaver */ 718fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getType() { 719fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getType(mInfo); 720fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 721fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 722fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 72377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid interface AccessibilityNodeInfoImpl { 72477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object newAccessibilityAction(int actionId, CharSequence label); 72577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object obtain(); 72677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object obtain(View source); 72777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object obtain(Object info); 72877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object obtain(View root, int virtualDescendantId); 72977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setSource(Object info, View source); 73077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setSource(Object info, View root, int virtualDescendantId); 73177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object findFocus(Object info, int focus); 73277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object focusSearch(Object info, int direction); 73377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getWindowId(Object info); 73477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getChildCount(Object info); 73577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getChild(Object info, int index); 73677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void addChild(Object info, View child); 73777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void addChild(Object info, View child, int virtualDescendantId); 73877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean removeChild(Object info, View child); 73977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean removeChild(Object info, View root, int virtualDescendantId); 74077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getActions(Object info); 74177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void addAction(Object info, int action); 74277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void addAction(Object info, Object action); 74377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean removeAction(Object info, Object action); 74477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getAccessibilityActionId(Object action); 74577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid CharSequence getAccessibilityActionLabel(Object action); 74677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean performAction(Object info, int action); 74777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean performAction(Object info, int action, Bundle arguments); 74877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setMovementGranularities(Object info, int granularities); 74977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getMovementGranularities(Object info); 75077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid List<Object> findAccessibilityNodeInfosByText(Object info, String text); 75177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getParent(Object info); 75277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setParent(Object info, View root, int virtualDescendantId); 75377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setParent(Object info, View parent); 75477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void getBoundsInParent(Object info, Rect outBounds); 75577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setBoundsInParent(Object info, Rect bounds); 75677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void getBoundsInScreen(Object info, Rect outBounds); 75777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setBoundsInScreen(Object info, Rect bounds); 75877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isCheckable(Object info); 75977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setCheckable(Object info, boolean checkable); 76077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isChecked(Object info); 76177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setChecked(Object info, boolean checked); 76277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isFocusable(Object info); 76377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setFocusable(Object info, boolean focusable); 76477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isFocused(Object info); 76577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setFocused(Object info, boolean focused); 76677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isVisibleToUser(Object info); 76777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setVisibleToUser(Object info, boolean visibleToUser); 76877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isAccessibilityFocused(Object info); 76977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setAccessibilityFocused(Object info, boolean focused); 77077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isSelected(Object info); 77177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setSelected(Object info, boolean selected); 77277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isClickable(Object info); 77377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setClickable(Object info, boolean clickable); 77477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isLongClickable(Object info); 77577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setLongClickable(Object info, boolean longClickable); 77677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isEnabled(Object info); 77777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setEnabled(Object info, boolean enabled); 77877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isPassword(Object info); 77977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setPassword(Object info, boolean password); 78077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isScrollable(Object info); 78177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setScrollable(Object info, boolean scrollable); 78277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid CharSequence getPackageName(Object info); 78377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setPackageName(Object info, CharSequence packageName); 78477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid CharSequence getClassName(Object info); 78577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setClassName(Object info, CharSequence className); 78677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid CharSequence getText(Object info); 78777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setText(Object info, CharSequence text); 78877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid CharSequence getContentDescription(Object info); 78977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setContentDescription(Object info, CharSequence contentDescription); 79077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void recycle(Object info); 79177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid String getViewIdResourceName(Object info); 79277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setViewIdResourceName(Object info, String viewId); 79377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getLiveRegion(Object info); 79477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setLiveRegion(Object info, int mode); 79577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getCollectionInfo(Object info); 79677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setCollectionInfo(Object info, Object collectionInfo); 79777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getCollectionItemInfo(Object info); 79877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setCollectionItemInfo(Object info, Object collectionItemInfo); 79977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getRangeInfo(Object info); 80077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setRangeInfo(Object info, Object rangeInfo); 80177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid List<Object> getActionList(Object info); 80277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical, 803a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int selectionMode); 80477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical); 80577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getCollectionInfoColumnCount(Object info); 80677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getCollectionInfoRowCount(Object info); 80777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isCollectionInfoHierarchical(Object info); 80877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getCollectionInfoSelectionMode(Object info); 80977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 810a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected); 81177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 81277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int columnSpan, boolean heading); 81377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getCollectionItemColumnIndex(Object info); 81477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getCollectionItemColumnSpan(Object info); 81577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getCollectionItemRowIndex(Object info); 81677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getCollectionItemRowSpan(Object info); 81777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isCollectionItemHeading(Object info); 81877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isCollectionItemSelected(Object info); 81977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object obtainRangeInfo(int type, float min, float max, float current); 82077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getTraversalBefore(Object info); 82177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setTraversalBefore(Object info, View view); 82277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setTraversalBefore(Object info, View root, int virtualDescendantId); 82377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getTraversalAfter(Object info); 82477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setTraversalAfter(Object info, View view); 82577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setTraversalAfter(Object info, View root, int virtualDescendantId); 82677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setContentInvalid(Object info, boolean contentInvalid); 82777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isContentInvalid(Object info); 82877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setError(Object info, CharSequence error); 82977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid CharSequence getError(Object info); 83077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setLabelFor(Object info, View labeled); 83177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setLabelFor(Object info, View root, int virtualDescendantId); 83277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getLabelFor(Object info); 83377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setLabeledBy(Object info, View labeled); 83477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setLabeledBy(Object info, View root, int virtualDescendantId); 83577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getLabeledBy(Object info); 83677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean canOpenPopup(Object info); 83777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setCanOpenPopup(Object info, boolean opensPopup); 83877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid List<Object> findAccessibilityNodeInfosByViewId(Object info, String viewId); 83977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Bundle getExtras(Object info); 84077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getInputType(Object info); 84177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setInputType(Object info, int inputType); 84277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setMaxTextLength(Object info, int max); 84377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getMaxTextLength(Object info); 84477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setTextSelection(Object info, int start, int end); 84577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getTextSelectionStart(Object info); 84677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getTextSelectionEnd(Object info); 84777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getWindow(Object info); 84877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isDismissable(Object info); 84977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setDismissable(Object info, boolean dismissable); 85077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isEditable(Object info); 85177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setEditable(Object info, boolean editable); 85277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int getDrawingOrder(Object info); 85377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setDrawingOrder(Object info, int drawingOrderInParent); 85477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isImportantForAccessibility(Object info); 85577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setImportantForAccessibility(Object info, boolean importantForAccessibility); 85677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isMultiLine(Object info); 85777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setMultiLine(Object info, boolean multiLine); 85877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean refresh(Object info); 85977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid CharSequence getRoleDescription(Object info); 86077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setRoleDescription(Object info, CharSequence roleDescription); 86177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getActionScrollToPosition(); 86277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getActionSetProgress(); 86377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid boolean isContextClickable(Object info); 86477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid void setContextClickable(Object info, boolean contextClickable); 86577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getActionShowOnScreen(); 86677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getActionScrollUp(); 86777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getActionScrollDown(); 86877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getActionScrollLeft(); 86977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getActionScrollRight(); 87077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid Object getActionContextClick(); 8719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoStubImpl implements AccessibilityNodeInfoImpl { 87470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 87584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public Object newAccessibilityAction(int actionId, CharSequence label) { 87684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return null; 87784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 87884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 87984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 8809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 8819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 8829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 88470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 8869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 8879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 88970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 89070e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 89170e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 89270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 89370e96ebf69f91da84681a6263b3862c63d53ab11alanv 89470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 8969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 8979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 89970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 9019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 90470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 90584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public void addAction(Object info, Object action) { 90684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 90784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 90884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 90984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 9108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeAction(Object info, Object action) { 9118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 9128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 9138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 9148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 91584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public int getAccessibilityActionId(Object action) { 91684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return 0; 91784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 91884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 91984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 92084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public CharSequence getAccessibilityActionLabel(Object action) { 92184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return null; 92284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 92384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 92484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 9259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 9269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 92970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9303a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 9313a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 9323a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 9333a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 93470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(Object info, View child) { 9368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 9378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 9388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 9398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 9408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(Object info, View root, int virtualDescendantId) { 9418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 9428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 9438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 9448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 9459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 946f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganov return Collections.emptyList(); 9479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 94970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 9519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 9529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 95470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 9569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 95970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 9619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 96470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 96570e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 9669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 9679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 96970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 9719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 9729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 97470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 9769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 9779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 97970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 9819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 9829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 98470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 9869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 9879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 98970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 99070e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 9919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 9929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 99470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 9969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 9979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 99970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 10019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 10029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 100470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 10069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 10079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 100970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 10119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 10129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 101470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 10169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 10179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 101970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 10219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 10229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 102470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 10269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 10279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 102970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 10319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 10329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 103470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 103570e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 103670e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 103770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 103870e96ebf69f91da84681a6263b3862c63d53ab11alanv 103970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 104070e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 104170e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 104270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 104370e96ebf69f91da84681a6263b3862c63d53ab11alanv 104470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 10469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 10479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 104970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 10519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 10529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 105470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 10569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 10579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 105970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 10619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 10629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 106470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 10669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 10679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 106970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 107070e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 107170e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 107270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 107370e96ebf69f91da84681a6263b3862c63d53ab11alanv 107470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 107570e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 107670e96ebf69f91da84681a6263b3862c63d53ab11alanv 107770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 107870e96ebf69f91da84681a6263b3862c63d53ab11alanv 107970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 108070e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 108170e96ebf69f91da84681a6263b3862c63d53ab11alanv return 0; 108270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 108370e96ebf69f91da84681a6263b3862c63d53ab11alanv 108470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 10869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 108970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 10919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 109470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 10969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 109970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 11019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 110470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 11069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 110970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 11119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 111470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 11169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 111970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 11219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 112470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 11269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 112970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 11319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 113470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 113570e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 113670e96ebf69f91da84681a6263b3862c63d53ab11alanv 113770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 113870e96ebf69f91da84681a6263b3862c63d53ab11alanv 113970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 114070e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 114170e96ebf69f91da84681a6263b3862c63d53ab11alanv 114270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 114370e96ebf69f91da84681a6263b3862c63d53ab11alanv 114470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 11469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 114970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 11519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 115470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 11569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 115970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 11619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 116470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 11669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 116970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 11719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 117470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 11769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 117970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11803a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 11813a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 11823a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 11833a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 118470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 118570e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 118670e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 118770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 118870e96ebf69f91da84681a6263b3862c63d53ab11alanv 118970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 119070e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 119170e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 119270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 119370e96ebf69f91da84681a6263b3862c63d53ab11alanv 119470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 11969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 119970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 12009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 12019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 120370e96ebf69f91da84681a6263b3862c63d53ab11alanv 120470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 120570e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 120670e96ebf69f91da84681a6263b3862c63d53ab11alanv 120770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 12080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 12090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 1210071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info) { 12110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return null; 12120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 12130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 12140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 1215071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId) { 12160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 12170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 1218086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 1219086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 1220086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion(Object info) { 1221086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return ViewCompat.ACCESSIBILITY_LIVE_REGION_NONE; 1222086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 1223086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 1224086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 1225086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(Object info, int mode) { 1226086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette // No-op 1227086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 1228fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1229fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 1230fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionInfo(Object info) { 1231fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 1232fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 1233fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1234fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 1235a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionInfo(Object info, Object collectionInfo) { 1236a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1237a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1238a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1239fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionItemInfo(Object info) { 1240fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 1241fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 1242fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1243fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 1244a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionItemInfo(Object info, Object collectionItemInfo) { 1245a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1246a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1247a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1248fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getRangeInfo(Object info) { 1249fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 1250fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 1251389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 1252389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 12538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setRangeInfo(Object info, Object rangeInfo) { 12548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 12558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 12568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 1257389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<Object> getActionList(Object info) { 1258389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen return null; 1259389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 1260389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 1261389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 1262a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical, 1263a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int selectionMode) { 1264a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return null; 1265a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1266a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1267a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 126877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical) { 126977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return null; 127077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 127177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 127277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 1273a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoColumnCount(Object info) { 1274a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1275a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1276a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1277a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1278a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoRowCount(Object info) { 1279a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1280a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1281a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1282a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1283a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionInfoHierarchical(Object info) { 1284a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return false; 1285a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1286a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1287a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1288a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 1289a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected) { 1290a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return null; 1291a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1292a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1293a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 129477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 129577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int columnSpan, boolean heading) { 129677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return null; 129777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 129877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 129977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 1300a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnIndex(Object info) { 1301a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1302a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1303a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1304a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1305a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnSpan(Object info) { 1306a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1307a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1308a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1309a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1310a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowIndex(Object info) { 1311a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1312a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1313a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1314a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1315a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowSpan(Object info) { 1316a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1317a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1318a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1319a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1320a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemHeading(Object info) { 1321a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return false; 1322a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1323a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1324a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1325a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemSelected(Object info) { 1326a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return false; 1327a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1328acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1329acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 133077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object obtainRangeInfo(int type, float min, float max, float current) { 133177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return null; 133277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 133377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 133477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 13358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getTraversalBefore(Object info) { 1336acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov return null; 1337acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1338acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1339acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1340acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View view) { 1341acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1342acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1343acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1344acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View root, int virtualDescendantId) { 1345acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1346acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1347acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 13488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getTraversalAfter(Object info) { 1349acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov return null; 1350acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1351acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1352acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1353acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View view) { 1354acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1355acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1356acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1357acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View root, int virtualDescendantId) { 1358acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1359c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1360c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1361c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setContentInvalid(Object info, boolean contentInvalid) { 1362c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1363c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1364c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1365c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public boolean isContentInvalid(Object info) { 1366c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return false; 1367c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1368c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1369c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1370c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setError(Object info, CharSequence error) { 1371c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1372c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1373c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1374c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public CharSequence getError(Object info) { 1375c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return null; 1376c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1377c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1378c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1379c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setLabelFor(Object info, View labeled) { 1380c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1381c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1382c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1383c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setLabelFor(Object info, View root, int virtualDescendantId) { 1384c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 13858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 13868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 13878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getLabelFor(Object info) { 13888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return null; 13898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 13908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 13918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 13928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(Object info, View labeled) { 13938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 13948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 13958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 13968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(Object info, View root, int virtualDescendantId) { 13978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 13988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 13998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getLabeledBy(Object info){ 14018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return null; 14028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean canOpenPopup(Object info) { 14068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 14078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setCanOpenPopup(Object info, boolean opensPopup) { 14118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public List<Object> findAccessibilityNodeInfosByViewId(Object info, String viewId) { 14158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return Collections.emptyList(); 14168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Bundle getExtras(Object info) { 14208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return new Bundle(); 14218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getInputType(Object info) { 14258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return InputType.TYPE_NULL; 14268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setInputType(Object info, int inputType) { 14308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMaxTextLength(Object info, int max) { 14348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getMaxTextLength(Object info) { 14388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return -1; 14398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTextSelection(Object info, int start, int end) { 14438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionStart(Object info) { 14478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return -1; 14488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionEnd(Object info) { 14528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return -1; 14538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getWindow(Object info) { 14578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return null; 14588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isDismissable(Object info) { 14628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 14638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setDismissable(Object info, boolean dismissable) { 14678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isEditable(Object info) { 14718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 14728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setEditable(Object info, boolean editable) { 14768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isMultiLine(Object info) { 14808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 14818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMultiLine(Object info, boolean multiLine) { 14858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 14868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 14878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 14888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean refresh(Object info) { 14898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 14908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 1491f0d984600125413628899bfc849bab102bc2228eSteven Dao 1492f0d984600125413628899bfc849bab102bc2228eSteven Dao @Override 1493f0d984600125413628899bfc849bab102bc2228eSteven Dao public CharSequence getRoleDescription(Object info) { 1494f0d984600125413628899bfc849bab102bc2228eSteven Dao return null; 1495f0d984600125413628899bfc849bab102bc2228eSteven Dao } 1496f0d984600125413628899bfc849bab102bc2228eSteven Dao 1497f0d984600125413628899bfc849bab102bc2228eSteven Dao @Override 1498f0d984600125413628899bfc849bab102bc2228eSteven Dao public void setRoleDescription(Object info, CharSequence roleDescription) { 1499f0d984600125413628899bfc849bab102bc2228eSteven Dao } 1500cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1501cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 150277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionScrollToPosition() { 150377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return null; 150477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 150577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 150677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 150777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionSetProgress() { 150877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return null; 150977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 151077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 151177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 151277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public boolean isContextClickable(Object info) { 151377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return false; 151477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 151577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 151677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 151777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public void setContextClickable(Object info, boolean contextClickable) { 151877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid // Do nothing. 151977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 152077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 152177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 152277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionShowOnScreen() { 152377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return null; 152477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 152577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 152677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 152777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionScrollUp() { 152877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return null; 152977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 153077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 153177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 153277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionScrollDown() { 153377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return null; 153477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 153577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 153677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 153777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionScrollLeft() { 153877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return null; 153977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 154077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 154177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 154277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionScrollRight() { 154377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return null; 154477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 154577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 154677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 154777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionContextClick() { 154877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return null; 154977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 155077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 155177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 155277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public int getCollectionInfoSelectionMode(Object info) { 155377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return 0; 155477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 155577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 155677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 1557cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public int getDrawingOrder(Object info) { 1558cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return 0; 1559cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 1560cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1561cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 1562cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setDrawingOrder(Object info, int drawingOrderInParent) { 1563cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 1564cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1565cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 1566cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public boolean isImportantForAccessibility(Object info) { 1567cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return true; 1568cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 1569cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1570cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 1571cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setImportantForAccessibility(Object info, boolean importantForAccessibility) { 1572cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 15739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoIcsImpl extends AccessibilityNodeInfoStubImpl { 15769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 15779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 15789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(); 15799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 15829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 15839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(source); 15849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 15879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 15889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(info); 15899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 15929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 15939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addAction(info, action); 15949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 15979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 15989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addChild(info, child); 15999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 16039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.findAccessibilityNodeInfosByText(info, text); 16049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 16089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getActions(info); 16099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 16139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInParent(info, outBounds); 16149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 16189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInScreen(info, outBounds); 16199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 162270e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 162370e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getChild(info, index); 16249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 16289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getChildCount(info); 16299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 16339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getClassName(info); 16349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 16389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getContentDescription(info); 16399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 16439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getPackageName(info); 16449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 164770e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 164870e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getParent(info); 16499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 16539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getText(info); 16549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 16589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getWindowId(info); 16599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 16639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isCheckable(info); 16649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 16689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isChecked(info); 16699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 16739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isClickable(info); 16749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 16789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isEnabled(info); 16799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 16839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocusable(info); 16849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 16889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocused(info); 16899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 16939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isLongClickable(info); 16949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 16979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 16989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isPassword(info); 16999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 17039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isScrollable(info); 17049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 17089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isSelected(info); 17099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 17139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.performAction(info, action); 17149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 17189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInParent(info, bounds); 17199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 17239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInScreen(info, bounds); 17249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 17289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setCheckable(info, checkable); 17299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 17339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setChecked(info, checked); 17349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 17389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClassName(info, className); 17399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 17439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClickable(info, clickable); 17449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 17489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setContentDescription(info, contentDescription); 17499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 17539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setEnabled(info, enabled); 17549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 17589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocusable(info, focusable); 17599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 17639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocused(info, focused); 17649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 17689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setLongClickable(info, longClickable); 17699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 17739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPackageName(info, packageName); 17749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 17789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setParent(info, parent); 17799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 17839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPassword(info, password); 17849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 17889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setScrollable(info, scrollable); 17899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 17939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSelected(info, selected); 17949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 17989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSource(info, source); 17999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 18029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 18039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setText(info, text); 18049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 18079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 18089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.recycle(info); 18099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18123a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov static class AccessibilityNodeInfoJellybeanImpl extends AccessibilityNodeInfoIcsImpl { 18133a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 181470e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 181570e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.obtain(root, virtualDescendantId); 181670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 181770e96ebf69f91da84681a6263b3862c63d53ab11alanv 181870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 181970e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 182070e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.findFocus(info, focus); 182170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 182270e96ebf69f91da84681a6263b3862c63d53ab11alanv 182370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 182470e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 182570e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.focusSearch(info, direction); 182670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 182770e96ebf69f91da84681a6263b3862c63d53ab11alanv 182870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 18293a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 18303a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.addChild(info, child, virtualDescendantId); 18313a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 18323a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 18333a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 18343a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 18353a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.setSource(info, root, virtualDescendantId); 18363a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 183770e96ebf69f91da84681a6263b3862c63d53ab11alanv 183870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 183970e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 184070e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isVisibleToUser(info); 184170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 184270e96ebf69f91da84681a6263b3862c63d53ab11alanv 184370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 184470e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 184570e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setVisibleToUser(info, visibleToUser); 184670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 184770e96ebf69f91da84681a6263b3862c63d53ab11alanv 184870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 184970e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 185070e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isAccessibilityFocused(info); 185170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 185270e96ebf69f91da84681a6263b3862c63d53ab11alanv 185370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 185470e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 185570e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setAccesibilityFocused(info, focused); 185670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 185770e96ebf69f91da84681a6263b3862c63d53ab11alanv 185870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 185970e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 186070e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.performAction(info, action, arguments); 186170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 186270e96ebf69f91da84681a6263b3862c63d53ab11alanv 186370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 186470e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 186570e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setMovementGranularities(info, granularities); 186670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 186770e96ebf69f91da84681a6263b3862c63d53ab11alanv 186870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 186970e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 187070e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.getMovementGranularities(info); 187170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 187270e96ebf69f91da84681a6263b3862c63d53ab11alanv 187370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 187470e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 187570e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setParent(info, root, virtualDescendantId); 187670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 18773a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 18783a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 18798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov static class AccessibilityNodeInfoJellybeanMr1Impl extends AccessibilityNodeInfoJellybeanImpl { 18808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 18818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 18828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabelFor(Object info, View labeled) { 18838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr1.setLabelFor(info, labeled); 18848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 18858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 18868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 18878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabelFor(Object info, View root, int virtualDescendantId) { 18888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr1.setLabelFor(info, root, virtualDescendantId); 18898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 18908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 18918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 18928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getLabelFor(Object info) { 18938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr1.getLabelFor(info); 18948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 18958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 18968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 18978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(Object info, View labeled) { 18988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr1.setLabeledBy(info, labeled); 18998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 19008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 19018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 19028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(Object info, View root, int virtualDescendantId) { 19038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr1.setLabeledBy(info, root, virtualDescendantId); 19048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 19058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 19068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 19078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getLabeledBy(Object info) { 19088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr1.getLabeledBy(info); 19098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 19108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 19118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 19128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov static class AccessibilityNodeInfoJellybeanMr2Impl extends 19138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoJellybeanMr1Impl { 19140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 19150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 1916071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info) { 19170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return AccessibilityNodeInfoCompatJellybeanMr2.getViewIdResourceName(info); 19180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 19190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 19200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 1921071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId) { 19220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav AccessibilityNodeInfoCompatJellybeanMr2.setViewIdResourceName(info, viewId); 19230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 19248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 19258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 19268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public List<Object> findAccessibilityNodeInfosByViewId(Object info, String viewId) { 19278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr2.findAccessibilityNodeInfosByViewId(info, 19288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov viewId); 19298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 19308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 19318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 19328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTextSelection(Object info, int start, int end) { 19338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr2.setTextSelection(info, start, end); 19348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 19358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 19368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 19378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionStart(Object info) { 19388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr2.getTextSelectionStart(info); 19398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 19408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 19418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 19428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionEnd(Object info) { 19438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr2.getTextSelectionEnd(info); 19448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 19458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 19468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 19478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isEditable(Object info) { 19488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr2.isEditable(info); 19498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 19508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 19518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 19528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setEditable(Object info, boolean editable) { 19538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr2.setEditable(info, editable); 19548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 19558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 19568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 19578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean refresh(Object info) { 19588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr2.refresh(info); 19598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 19600fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 19610fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 1962086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette static class AccessibilityNodeInfoKitKatImpl extends AccessibilityNodeInfoJellybeanMr2Impl { 1963086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 1964086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion(Object info) { 1965086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return AccessibilityNodeInfoCompatKitKat.getLiveRegion(info); 1966086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 1967086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 1968086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 1969086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(Object info, int mode) { 1970086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette AccessibilityNodeInfoCompatKitKat.setLiveRegion(info, mode); 1971086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 1972fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1973fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 1974fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionInfo(Object info) { 1975fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getCollectionInfo(info); 1976fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 1977fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1978fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 1979a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionInfo(Object info, Object collectionInfo) { 1980a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar AccessibilityNodeInfoCompatKitKat.setCollectionInfo(info, collectionInfo); 1981a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1982a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1983a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1984a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionInfo(int rowCount, int columnCount, 1985a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar boolean hierarchical, int selectionMode) { 1986a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.obtainCollectionInfo(rowCount, columnCount, 1987a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar hierarchical, selectionMode); 1988a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1989a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1990a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 199177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical) { 199277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatKitKat.obtainCollectionInfo(rowCount, columnCount, 199377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid hierarchical); 199477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 199577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 199677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 1997a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 1998a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected) { 1999a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat 2000a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar .obtainCollectionItemInfo(rowIndex, rowSpan, columnIndex, columnSpan, heading); 2001a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2002a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2003a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 200477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 200577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid int columnSpan, boolean heading) { 200677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatKitKat 200777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid .obtainCollectionItemInfo(rowIndex, rowSpan, columnIndex, columnSpan, heading); 200877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 200977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 201077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 2011a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoColumnCount(Object info) { 2012a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionInfo.getColumnCount(info); 2013a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2014a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2015a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 2016a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoRowCount(Object info) { 2017a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionInfo.getRowCount(info); 2018a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2019a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2020a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 2021a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionInfoHierarchical(Object info) { 2022a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionInfo.isHierarchical(info); 2023a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2024a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2025a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 2026fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionItemInfo(Object info) { 2027fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getCollectionItemInfo(info); 2028fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 2029fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 2030fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 2031fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getRangeInfo(Object info) { 2032fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getRangeInfo(info); 2033fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 2034a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2035a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 20368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setRangeInfo(Object info, Object rangeInfo) { 20378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatKitKat.setRangeInfo(info, rangeInfo); 20388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 20398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 20408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 2041a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnIndex(Object info) { 2042a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getColumnIndex(info); 2043a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2044a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2045a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 2046a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnSpan(Object info) { 2047a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getColumnSpan(info); 2048a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2049a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2050a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 2051a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowIndex(Object info) { 2052a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getRowIndex(info); 2053a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2054a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2055a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 2056a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowSpan(Object info) { 2057a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getRowSpan(info); 2058a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2059a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2060a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 2061a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemHeading(Object info) { 2062a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.isHeading(info); 2063a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2064a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2065a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 2066a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionItemInfo(Object info, Object collectionItemInfo) { 2067a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar AccessibilityNodeInfoCompatKitKat.setCollectionItemInfo(info, collectionItemInfo); 2068a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2069c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 2070c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 207177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object obtainRangeInfo(int type, float min, float max, float current) { 207277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatKitKat.obtainRangeInfo(type, min, max, current); 207377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 207477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 207577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 2076c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setContentInvalid(Object info, boolean contentInvalid) { 2077c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes AccessibilityNodeInfoCompatKitKat.setContentInvalid(info, contentInvalid); 2078c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 2079c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 2080c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 2081c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public boolean isContentInvalid(Object info) { 2082c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return AccessibilityNodeInfoCompatKitKat.isContentInvalid(info); 2083c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 20848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 20858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 20868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean canOpenPopup(Object info) { 20878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatKitKat.canOpenPopup(info); 20888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 20898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 20908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 20918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setCanOpenPopup(Object info, boolean opensPopup) { 20928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatKitKat.setCanOpenPopup(info, opensPopup); 20938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 20948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 20958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 20968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Bundle getExtras(Object info) { 20978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatKitKat.getExtras(info); 20988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 20998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 21008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 21018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getInputType(Object info) { 21028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatKitKat.getInputType(info); 21038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 21048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 21058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 21068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setInputType(Object info, int inputType) { 21078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatKitKat.setInputType(info, inputType); 21088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 21098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 21108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 21118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isDismissable(Object info) { 21128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatKitKat.isDismissable(info); 21138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 21148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 21158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 21168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setDismissable(Object info, boolean dismissable) { 21178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatKitKat.setDismissable(info, dismissable); 21188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 21198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 21208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 21218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isMultiLine(Object info) { 21228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatKitKat.isMultiLine(info); 21238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 21248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 21258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 21268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMultiLine(Object info, boolean multiLine) { 21278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatKitKat.setMultiLine(info, multiLine); 21288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 2129f0d984600125413628899bfc849bab102bc2228eSteven Dao 2130f0d984600125413628899bfc849bab102bc2228eSteven Dao @Override 2131f0d984600125413628899bfc849bab102bc2228eSteven Dao public CharSequence getRoleDescription(Object info) { 2132f0d984600125413628899bfc849bab102bc2228eSteven Dao return AccessibilityNodeInfoCompatKitKat.getRoleDescription(info); 2133f0d984600125413628899bfc849bab102bc2228eSteven Dao } 2134f0d984600125413628899bfc849bab102bc2228eSteven Dao 2135f0d984600125413628899bfc849bab102bc2228eSteven Dao @Override 2136f0d984600125413628899bfc849bab102bc2228eSteven Dao public void setRoleDescription(Object info, CharSequence roleDescription) { 2137f0d984600125413628899bfc849bab102bc2228eSteven Dao AccessibilityNodeInfoCompatKitKat.setRoleDescription(info, roleDescription); 2138f0d984600125413628899bfc849bab102bc2228eSteven Dao } 2139086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 2140086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 2141389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen static class AccessibilityNodeInfoApi21Impl extends AccessibilityNodeInfoKitKatImpl { 2142389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 214384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public Object newAccessibilityAction(int actionId, CharSequence label) { 214484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return AccessibilityNodeInfoCompatApi21.newAccessibilityAction(actionId, label); 214584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 214684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 214784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 2148389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<Object> getActionList(Object info) { 2149389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen return AccessibilityNodeInfoCompatApi21.getActionList(info); 2150389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 2151389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 2152389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 2153a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical, 2154a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int selectionMode) { 2155a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatApi21.obtainCollectionInfo(rowCount, columnCount, 2156a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar hierarchical, selectionMode); 2157a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2158a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2159a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 216084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public void addAction(Object info, Object action) { 216184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav AccessibilityNodeInfoCompatApi21.addAction(info, action); 216284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 216384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 216484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 21658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeAction(Object info, Object action) { 21668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi21.removeAction(info, action); 21678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 21688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 21698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 217084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public int getAccessibilityActionId(Object action) { 217184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return AccessibilityNodeInfoCompatApi21.getAccessibilityActionId(action); 217284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 217384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 217484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 217584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public CharSequence getAccessibilityActionLabel(Object action) { 217684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return AccessibilityNodeInfoCompatApi21.getAccessibilityActionLabel(action); 2177389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 2178a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2179a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 2180a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 2181a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected) { 2182a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatApi21.obtainCollectionItemInfo(rowIndex, rowSpan, 2183a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar columnIndex, columnSpan, heading, selected); 2184a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2185a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2186a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 2187a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemSelected(Object info) { 2188a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatApi21.CollectionItemInfo.isSelected(info); 2189a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2190c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 2191c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 2192c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public CharSequence getError(Object info) { 2193c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return AccessibilityNodeInfoCompatApi21.getError(info); 2194c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 2195c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 2196c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 2197c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setError(Object info, CharSequence error) { 2198c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes AccessibilityNodeInfoCompatApi21.setError(info, error); 2199c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 2200c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 2201c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 22028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMaxTextLength(Object info, int max) { 22038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatApi21.setMaxTextLength(info, max); 2204c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 2205c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 2206c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 22078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getMaxTextLength(Object info) { 22088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi21.getMaxTextLength(info); 22098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 22108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 22118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 22128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getWindow(Object info) { 22138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi21.getWindow(info); 22148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 22158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 22168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 22178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(Object info, View child) { 22188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi21.removeChild(info, child); 22198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 22208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 22218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 22228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(Object info, View root, int virtualDescendantId) { 22238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi21.removeChild(info, root, virtualDescendantId); 2224c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 222577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 222677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 222777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public int getCollectionInfoSelectionMode(Object info) { 222877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatApi21.CollectionInfo.getSelectionMode(info); 222977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 2230389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 2231389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 2232acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov static class AccessibilityNodeInfoApi22Impl extends AccessibilityNodeInfoApi21Impl { 2233acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 22348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getTraversalBefore(Object info) { 22358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi22.getTraversalBefore(info); 2236acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 2237acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 2238acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 2239acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View view) { 2240acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalBefore(info, view); 2241acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 2242acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 2243acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 2244acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View root, int virtualDescendantId) { 2245acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalBefore(info, root, virtualDescendantId); 2246acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 2247acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 2248acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 22498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getTraversalAfter(Object info) { 22508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi22.getTraversalAfter(info); 2251acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 2252acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 2253acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 2254acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View view) { 2255acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalAfter(info, view); 2256acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 2257acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 2258acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 2259acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View root, int virtualDescendantId) { 2260acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalAfter(info, root, virtualDescendantId); 2261acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 2262acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 2263acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 226477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid static class AccessibilityNodeInfoApi23Impl extends AccessibilityNodeInfoApi22Impl { 226577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 226677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionScrollToPosition() { 226777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatApi23.getActionScrollToPosition(); 226877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 226977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 227077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 227177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionShowOnScreen() { 227277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatApi23.getActionShowOnScreen(); 227377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 227477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 227577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 227677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionScrollUp() { 227777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatApi23.getActionScrollUp(); 227877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 227977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 228077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 228177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionScrollDown() { 228277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatApi23.getActionScrollDown(); 228377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 228477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 228577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 228677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionScrollLeft() { 228777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatApi23.getActionScrollLeft(); 228877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 228977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 229077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 229177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionScrollRight() { 229277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatApi23.getActionScrollRight(); 229377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 229477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 229577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 229677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionContextClick() { 229777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatApi23.getActionContextClick(); 229877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 229977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 230077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 230177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public boolean isContextClickable(Object info) { 230277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatApi23.isContextClickable(info); 230377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 230477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 230577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 230677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public void setContextClickable(Object info, boolean contextClickable) { 230777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid AccessibilityNodeInfoCompatApi23.setContextClickable(info, contextClickable); 230877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 230977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 231077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 231177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid static class AccessibilityNodeInfoApi24Impl extends AccessibilityNodeInfoApi23Impl { 231277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid @Override 231377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public Object getActionSetProgress() { 231477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return AccessibilityNodeInfoCompatApi24.getActionSetProgress(); 231577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 231677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 2317cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 2318cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public int getDrawingOrder(Object info) { 2319cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return AccessibilityNodeInfoCompatApi24.getDrawingOrder(info); 2320cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 2321cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 2322cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 2323cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setDrawingOrder(Object info, int drawingOrderInParent) { 2324cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver AccessibilityNodeInfoCompatApi24.setDrawingOrder(info, drawingOrderInParent); 2325cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 2326cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 2327cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 2328cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public boolean isImportantForAccessibility(Object info) { 2329cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return AccessibilityNodeInfoCompatApi24.isImportantForAccessibility(info); 2330cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 2331cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 2332cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 2333cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setImportantForAccessibility(Object info, boolean importantForAccessibility) { 2334cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver AccessibilityNodeInfoCompatApi24.setImportantForAccessibility( 2335cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver info, importantForAccessibility); 2336cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 2337cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 2338cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 2339cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 23409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static { 2341cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver if (Build.VERSION.SDK_INT >= 24) { 2342cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver IMPL = new AccessibilityNodeInfoApi24Impl(); 234377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } else if (Build.VERSION.SDK_INT >= 23) { 234477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid IMPL = new AccessibilityNodeInfoApi23Impl(); 2345cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } else if (Build.VERSION.SDK_INT >= 22) { 2346acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov IMPL = new AccessibilityNodeInfoApi22Impl(); 2347acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } else if (Build.VERSION.SDK_INT >= 21) { 2348389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen IMPL = new AccessibilityNodeInfoApi21Impl(); 2349389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } else if (Build.VERSION.SDK_INT >= 19) { // KitKat 2350086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette IMPL = new AccessibilityNodeInfoKitKatImpl(); 2351086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } else if (Build.VERSION.SDK_INT >= 18) { // JellyBean MR2 23520fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav IMPL = new AccessibilityNodeInfoJellybeanMr2Impl(); 23538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } else if (Build.VERSION.SDK_INT >= 17) { // JellyBean MR1 23548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL = new AccessibilityNodeInfoJellybeanMr1Impl(); 23550fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } else if (Build.VERSION.SDK_INT >= 16) { // JellyBean 23563a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL = new AccessibilityNodeInfoJellybeanImpl(); 23573a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } else if (Build.VERSION.SDK_INT >= 14) { // ICS 23589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoIcsImpl(); 23599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else { 23609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoStubImpl(); 23619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2364552766fa685c63ad760c92239faaba12e6ad51f1Aurimas Liutikas static final AccessibilityNodeInfoImpl IMPL; 23659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private final Object mInfo; 23679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23680fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in IceCreamSandwich 23699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that focuses the node. 23729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_FOCUS = 0x00000001; 23749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unfocuses the node. 23779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_FOCUS = 0x00000002; 23799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that selects the node. 23829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_SELECT = 0x00000004; 23849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unselects the node. 23879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_SELECTION = 0x00000008; 23899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2390c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov /** 239170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clicks on the node info. 239270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 239370e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLICK = 0x00000010; 239470e96ebf69f91da84681a6263b3862c63d53ab11alanv 239570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 239670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that long clicks on the node. 239770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 239870e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_LONG_CLICK = 0x00000020; 239970e96ebf69f91da84681a6263b3862c63d53ab11alanv 24000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in JellyBean 24010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 240270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 240370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that gives accessibility focus to the node. 240470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 240570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_ACCESSIBILITY_FOCUS = 0x00000040; 240670e96ebf69f91da84681a6263b3862c63d53ab11alanv 240770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 240870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clears accessibility focus of the node. 240970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 241070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080; 241170e96ebf69f91da84681a6263b3862c63d53ab11alanv 241270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 241370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the next entity in this node's text 241470e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 241570e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 241670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 24170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<, 24180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 24190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> Move to the previous character and do not extend selection. 242070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 242170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 242270e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 242370e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 24240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, 24250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * false); 242670e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments); 242770e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 242870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 242970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 24300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 24310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 24320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 243370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 243470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 243570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 243670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 243770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 243870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 243970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 244070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 244170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 244270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 0x00000100; 244370e96ebf69f91da84681a6263b3862c63d53ab11alanv 244470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 244570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the previous entity in this node's text 244670e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 244770e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 244870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 24490fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<, 24500fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 24510fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> Move to the next character and do not extend selection. 245270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 245370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 245470e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 245570e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 24560fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, 24570fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * false); 245870e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, 245970e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments); 246070e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 246170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 246270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 24630fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 24640fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 24650fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 246670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 246770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 246870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 246970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 247070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 247170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 247270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 247370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 247470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 247570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 0x00000200; 247670e96ebf69f91da84681a6263b3862c63d53ab11alanv 247770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 247870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the next HTML element of a given type. For example, move 247970e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 248070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 248170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 248270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 248370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 248470e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 248570e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 248670e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT, arguments); 248770e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 248870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 248970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 249070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_HTML_ELEMENT = 0x00000400; 249170e96ebf69f91da84681a6263b3862c63d53ab11alanv 249270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 249370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the previous HTML element of a given type. For example, move 249470e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 249570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 249670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 249770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 249870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 249970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 250070e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 250170e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT, arguments); 250270e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 250370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 250470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 250570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_HTML_ELEMENT = 0x00000800; 250670e96ebf69f91da84681a6263b3862c63d53ab11alanv 250770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 250870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content forward. 250970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 251070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_FORWARD = 0x00001000; 251170e96ebf69f91da84681a6263b3862c63d53ab11alanv 251270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 251370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content backward. 251470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 251570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_BACKWARD = 0x00002000; 251670e96ebf69f91da84681a6263b3862c63d53ab11alanv 25170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in JellyBeanMr2 25180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 25200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to copy the current selection to the clipboard. 25210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 25220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_COPY = 0x00004000; 25230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 25250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to paste the current clipboard content. 25260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 25270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_PASTE = 0x00008000; 25280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 25300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to cut the current selection and place it to the clipboard. 25310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 25320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_CUT = 0x00010000; 25330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 25350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to set the selection. Performing this action with no arguments 25360fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * clears the selection. 25370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 25380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_SELECTION_START_INT}, 25390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_SELECTION_END_INT}<br> 25400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> 25410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <code><pre><p> 25420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Bundle arguments = new Bundle(); 25430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 1); 25440fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 2); 25450fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * info.performAction(AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments); 25460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </code></pre></p> 25470fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 25480fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 25490fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_SELECTION_START_INT 25500fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_SELECTION_END_INT 25510fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 25520fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_SET_SELECTION = 0x00020000; 25530fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25548d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu /** 255587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to expand an expandable node. 255687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 255787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final int ACTION_EXPAND = 0x00040000; 255887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 255987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 256087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to collapse an expandable node. 256187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 256287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final int ACTION_COLLAPSE = 0x00080000; 256387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 256487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 256587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to dismiss a dismissable node. 256687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 256787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final int ACTION_DISMISS = 0x00100000; 256887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 256987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 25708d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Action that sets the text of the node. Performing the action without argument, using <code> 25718d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * null</code> or empty {@link CharSequence} will clear the text. This action will also put the 25728d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * cursor at the end of text. 25738d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <p> 25748d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE}<br> 25758d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Example:</strong> 25768d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <code><pre><p> 25778d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Bundle arguments = new Bundle(); 25788d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * arguments.putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, 25798d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * "android"); 25808d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * info.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments); 25818d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * </code></pre></p> 25828d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu */ 25838d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu public static final int ACTION_SET_TEXT = 0x00200000; 25848d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu 25850fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Action arguments 25860fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 258770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 258870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which movement granularity to be used when traversing the node text. 258970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 259070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> int<br> 259170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 259270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 259370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 259470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 259570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = 259670e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT"; 259770e96ebf69f91da84681a6263b3862c63d53ab11alanv 259870e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 259970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which HTML element to get moving to the next/previous HTML element. 260070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 260170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> String<br> 260270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_HTML_ELEMENT}, 260370e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_HTML_ELEMENT} 260470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 260570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 260670e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = 260770e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_HTML_ELEMENT_STRING"; 260870e96ebf69f91da84681a6263b3862c63d53ab11alanv 260970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 26100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for whether when moving at granularity to extend the selection 26110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * or to move it otherwise. 26120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 26130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> boolean<br> 26140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 26150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 26160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 26170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 26180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_NEXT_AT_MOVEMENT_GRANULARITY 26190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY 26200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 26210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN = 26220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN"; 26230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 26240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 26250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for specifying the selection start. 26260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 26270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> int<br> 26280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_SET_SELECTION} 26290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 26300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 26310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_SET_SELECTION 26320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 26330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_SELECTION_START_INT = 26340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_SELECTION_START_INT"; 26350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 26360fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 26370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for specifying the selection end. 26380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 26390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> int<br> 26400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_SET_SELECTION} 26410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 26420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 26430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_SET_SELECTION 26440fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 26450fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_SELECTION_END_INT = 26460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_SELECTION_END_INT"; 26470fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 26488d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu /** 26498d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Argument for specifying the text content to set 26508d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <p> 26518d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Type:</strong> CharSequence<br> 26528d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Actions:</strong> {@link #ACTION_SET_TEXT} 26538d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * </p> 26548d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * 26558d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * @see #ACTION_SET_TEXT 26568d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu */ 26578d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu public static final String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE = 26588d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE"; 26598d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu 266077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 266177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Argument for specifying the collection row to make visible on screen. 266277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <p> 266377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <strong>Type:</strong> int<br> 266477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <strong>Actions:</strong> 266577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <ul> 266677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <li>{@link AccessibilityActionCompat#ACTION_SCROLL_TO_POSITION}</li> 266777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * </ul> 266877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * 266977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * @see AccessibilityActionCompat#ACTION_SCROLL_TO_POSITION 267077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 267177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static final String ACTION_ARGUMENT_ROW_INT = 267277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid "android.view.accessibility.action.ARGUMENT_ROW_INT"; 267377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 267477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 267577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Argument for specifying the collection column to make visible on screen. 267677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <p> 267777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <strong>Type:</strong> int<br> 267877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <strong>Actions:</strong> 267977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <ul> 268077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <li>{@link AccessibilityActionCompat#ACTION_SCROLL_TO_POSITION}</li> 268177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * </ul> 268277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * 268377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * @see AccessibilityActionCompat#ACTION_SCROLL_TO_POSITION 268477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 268577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static final String ACTION_ARGUMENT_COLUMN_INT = 268677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid "android.view.accessibility.action.ARGUMENT_COLUMN_INT"; 268777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 268877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 268977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Argument for specifying the progress value to set. 269077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <p> 269177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <strong>Type:</strong> float<br> 269277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <strong>Actions:</strong> 269377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <ul> 269477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <li>{@link AccessibilityActionCompat#ACTION_SET_PROGRESS}</li> 269577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * </ul> 269677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * 269777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * @see AccessibilityActionCompat#ACTION_SET_PROGRESS 269877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 269977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public static final String ACTION_ARGUMENT_PROGRESS_VALUE = 270077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE"; 270177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 27020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Focus types 27030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 27040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 270570e96ebf69f91da84681a6263b3862c63d53ab11alanv * The input focus. 270670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 270770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_INPUT = 1; 270870e96ebf69f91da84681a6263b3862c63d53ab11alanv 270970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 271070e96ebf69f91da84681a6263b3862c63d53ab11alanv * The accessibility focus. 271170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 271270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_ACCESSIBILITY = 2; 271370e96ebf69f91da84681a6263b3862c63d53ab11alanv 271470e96ebf69f91da84681a6263b3862c63d53ab11alanv // Movement granularities 271570e96ebf69f91da84681a6263b3862c63d53ab11alanv 271670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 271770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by character. 271870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 271970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_CHARACTER = 0x00000001; 272070e96ebf69f91da84681a6263b3862c63d53ab11alanv 272170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 272270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by word. 272370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 272470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_WORD = 0x00000002; 272570e96ebf69f91da84681a6263b3862c63d53ab11alanv 272670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 272770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by line. 272870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 272970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_LINE = 0x00000004; 273070e96ebf69f91da84681a6263b3862c63d53ab11alanv 273170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 273270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by paragraph. 273370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 273470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 0x00000008; 273570e96ebf69f91da84681a6263b3862c63d53ab11alanv 273670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 273770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by page. 273870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 273970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PAGE = 0x00000010; 274070e96ebf69f91da84681a6263b3862c63d53ab11alanv 274170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 2742c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * Creates a wrapper for info implementation. 2743c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * 2744c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @param object The info to wrap. 2745c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @return A wrapper for if the object is not null, null otherwise. 2746c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov */ 2747c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov static AccessibilityNodeInfoCompat wrapNonNullInstance(Object object) { 2748c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov if (object != null) { 2749c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return new AccessibilityNodeInfoCompat(object); 2750c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 2751c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return null; 2752c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 2753c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov 2754956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov /** 2755956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * Creates a new instance wrapping an 2756956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * {@link android.view.accessibility.AccessibilityNodeInfo}. 2757956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * 2758956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @param info The info. 27599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 27609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat(Object info) { 27619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov mInfo = info; 27629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 27639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 2765956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @return The wrapped {@link android.view.accessibility.AccessibilityNodeInfo}. 27669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 2767956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov public Object getInfo() { 27689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return mInfo; 27699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 27709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 27729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one and 27739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * sets the source. 27749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 27759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 27769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see #setSource(View) 27779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 27789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(View source) { 277970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(source)); 278070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 278170e96ebf69f91da84681a6263b3862c63d53ab11alanv 278270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 278370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Returns a cached instance if such is available otherwise a new one 278470e96ebf69f91da84681a6263b3862c63d53ab11alanv * and sets the source. 278570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 278670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 278770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 278870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return An instance. 278970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 279070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setSource(View, int) 279170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 279270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static AccessibilityNodeInfoCompat obtain(View root, int virtualDescendantId) { 279370e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance( 279470e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.obtain(root, virtualDescendantId)); 27959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 27969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 27989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one. 27999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 28019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain() { 280370e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain()); 28049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 28079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available or a new one is create. 28089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * The returned instance is initialized from the given <code>info</code>. 28099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param info The other info. 28119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 28129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(AccessibilityNodeInfoCompat info) { 281470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(info.mInfo)); 28159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 28189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the source. 28199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param source The info source. 28219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(View source) { 28239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSource(mInfo, source); 28249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 28273a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Sets the source to be a virtual descendant of the given <code>root</code>. 28283a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 28293a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is set as the source. 28303a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 28313a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 28323a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 28333a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report themselves as a tree of virtual views, thus conveying their 28343a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 28353a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 28363a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 28373a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 28383a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. 28393a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * This class is made immutable before being delivered to an AccessibilityService. 28403a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 28413a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 28423a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 28433a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual descendant. 28443a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 28453a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(View root, int virtualDescendantId) { 28463a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setSource(mInfo, root, virtualDescendantId); 28473a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 28483a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 28493a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 285070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Find the view that has the specified focus type. The search starts from 285170e96ebf69f91da84681a6263b3862c63d53ab11alanv * the view represented by this node info. 285270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 285370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focus The focus to find. One of {@link #FOCUS_INPUT} or 285470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #FOCUS_ACCESSIBILITY}. 285570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info of the focused view or null. 285670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 285770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_INPUT 285870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_ACCESSIBILITY 285970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 286070e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat findFocus(int focus) { 286170e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.findFocus(mInfo, focus)); 286270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 286370e96ebf69f91da84681a6263b3862c63d53ab11alanv 286470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 286570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Searches for the nearest view in the specified direction that can take 286676ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * input focus. 286770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 286870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param direction The direction. Can be one of: 286970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_DOWN}, 287070e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_UP}, 287170e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_LEFT}, 287270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_RIGHT}, 287370e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_FORWARD}, 287476ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * {@link View#FOCUS_BACKWARD}. 287570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 287670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info for the view that can take accessibility focus. 287770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 287870e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat focusSearch(int direction) { 287970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.focusSearch(mInfo, direction)); 288070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 288170e96ebf69f91da84681a6263b3862c63d53ab11alanv 288270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 28839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the id of the window from which the info comes from. 28849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The window id. 28869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId() { 28889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getWindowId(mInfo); 28899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 28929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the number of children. 28939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child count. 28959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount() { 28979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getChildCount(mInfo); 28989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 29019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Get the child at given index. 29029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 29039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 29049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} to 29059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * avoid creating of multiple instances. 29069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 29079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 29089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param index The child index. 29099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child node. 29109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 29119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 29129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 29139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getChild(int index) { 291470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getChild(mInfo, index)); 29159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 29169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 29189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds a child. 29199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 29209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 29219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 29229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 29239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 29249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 29259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param child The child. 29269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 29279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 29289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(View child) { 29299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addChild(mInfo, child); 29309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 29319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 29333a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Adds a virtual child which is a descendant of the given <code>root</code>. 29343a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 29353a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is added as a child. 29363a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 29373a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 29383a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 29393a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report them selves as a tree of virtual views, thus conveying their 29403a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 29413a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 29423a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 29433a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 29443a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual child. 29453a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 29463a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(View root, int virtualDescendantId) { 29473a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.addChild(mInfo, root, virtualDescendantId); 29483a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 29493a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 29503a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 29518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Removes a child. If the child was not previously added to the node, 29528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * calling this method has no effect. 29538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 29548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 29558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 29568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 29578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 29588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 29598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param child The child. 29608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return true if the child was present 29618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 29628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 29638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 29648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(View child) { 29658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.removeChild(mInfo, child); 29668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 29678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 29688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 29698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Removes a virtual child which is a descendant of the given 29708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <code>root</code>. If the child was not previously added to the node, 29718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * calling this method has no effect. 29728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 29738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param root The root of the virtual subtree. 29748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param virtualDescendantId The id of the virtual child. 29758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return true if the child was present 29768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #addChild(View, int) 29778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 29788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(View root, int virtualDescendantId) { 29798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.removeChild(mInfo, root, virtualDescendantId); 29808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 29818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 29828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 29839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the actions that can be performed on the node. 29849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 29859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The bit mask of with actions. 29869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_FOCUS 29879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_FOCUS 29889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_SELECT 29899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_SELECTION 29909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 29919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions() { 29929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getActions(mInfo); 29939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 29949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 29969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds an action that can be performed on the node. 29979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 29989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 29999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 30009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 30019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 30029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 30039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action. 30049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 30059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 30069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(int action) { 30079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addAction(mInfo, action); 30089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 30099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 301184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * Adds an action that can be performed on the node. 301284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * <p> 301384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * <strong>Note:</strong> Cannot be called from an 301484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * {@link android.accessibilityservice.AccessibilityService}. This class is 301584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * made immutable before being delivered to an AccessibilityService. 301684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * </p> 301784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * 301884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @param action The action. 301984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @throws IllegalStateException If called from an AccessibilityService. 302084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav */ 302184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public void addAction(AccessibilityActionCompat action) { 302284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav IMPL.addAction(mInfo, action.mAction); 302384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 302484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 302584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav /** 30268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Removes an action that can be performed on the node. If the action was 30278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * not already added to the node, calling this method has no effect. 30288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 30298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 30308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 30318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 30328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 30338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 30348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param action The action to be removed. 30358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The action removed from the list of actions. 30368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 30378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 30388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 30398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeAction(AccessibilityActionCompat action) { 30408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.removeAction(mInfo, action.mAction); 30418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 30428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 30438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 30449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Performs an action on the node. 30459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 30469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> An action can be performed only if the request is 30479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made from an {@link android.accessibilityservice.AccessibilityService}. 30489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 30499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 30509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action to perform. 30519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the action was performed. 30529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 30539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 30549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 30559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(int action) { 30569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.performAction(mInfo, action); 30579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 30589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 306070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Performs an action on the node. 306170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 306270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> An action can be performed only if the request is made 306370e96ebf69f91da84681a6263b3862c63d53ab11alanv * from an {@link android.accessibilityservice.AccessibilityService}. 306470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 306570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 306670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param action The action to perform. 306770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param arguments A bundle with additional arguments. 306870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the action was performed. 306970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 307070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called outside of an AccessibilityService. 307170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 307270e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(int action, Bundle arguments) { 307370e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.performAction(mInfo, action, arguments); 307470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 307570e96ebf69f91da84681a6263b3862c63d53ab11alanv 307670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 307770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the movement granularities for traversing the text of this node. 307870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 307970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 308070e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 308170e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 308270e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 308370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 308470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param granularities The bit mask with granularities. 308570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 308670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 308770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 308870e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(int granularities) { 308970e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setMovementGranularities(mInfo, granularities); 309070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 309170e96ebf69f91da84681a6263b3862c63d53ab11alanv 309270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 309370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets the movement granularities for traversing the text of this node. 309470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 309570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The bit mask with granularities. 309670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 309770e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities() { 309870e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.getMovementGranularities(mInfo); 309970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 310070e96ebf69f91da84681a6263b3862c63d53ab11alanv 310170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 31029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Finds {@link android.view.accessibility.AccessibilityNodeInfo}s by text. The match 31039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * is case insensitive containment. The search is relative to this info i.e. this 31049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * info is the root of the traversed tree. 31059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 31069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 31079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 31089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 31099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 31109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The searched text. 31129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return A list of node info. 31139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<AccessibilityNodeInfoCompat> findAccessibilityNodeInfosByText(String text) { 31159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<AccessibilityNodeInfoCompat> result = new ArrayList<AccessibilityNodeInfoCompat>(); 31169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<Object> infos = IMPL.findAccessibilityNodeInfosByText(mInfo, text); 31179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov final int infoCount = infos.size(); 31189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov for (int i = 0; i < infoCount; i++) { 31199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov Object info = infos.get(i); 31209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov result.add(new AccessibilityNodeInfoCompat(info)); 31219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return result; 31239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 31269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the parent. 31279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 31289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 31299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 31309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 31319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 31329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The parent. 31349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getParent() { 313670e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getParent(mInfo)); 31379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 31409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the parent. 31419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 31429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 31439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 31449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 31459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 31469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param parent The parent. 31489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 31499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(View parent) { 31519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setParent(mInfo, parent); 31529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 315570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the parent to be a virtual descendant of the given <code>root</code>. 315670e96ebf69f91da84681a6263b3862c63d53ab11alanv * If <code>virtualDescendantId</code> equals to {@link View#NO_ID} the root 315770e96ebf69f91da84681a6263b3862c63d53ab11alanv * is set as the parent. 315870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 315970e96ebf69f91da84681a6263b3862c63d53ab11alanv * A virtual descendant is an imaginary View that is reported as a part of the view 316070e96ebf69f91da84681a6263b3862c63d53ab11alanv * hierarchy for accessibility purposes. This enables custom views that draw complex 316170e96ebf69f91da84681a6263b3862c63d53ab11alanv * content to report them selves as a tree of virtual views, thus conveying their 316270e96ebf69f91da84681a6263b3862c63d53ab11alanv * logical structure. 316370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 316470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 316570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 316670e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 316770e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 316870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 316970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 317070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 317170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 317270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 317370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(View root, int virtualDescendantId) { 317470e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setParent(mInfo, root, virtualDescendantId); 317570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 317670e96ebf69f91da84681a6263b3862c63d53ab11alanv 317770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 31789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in parent coordinates. 31799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 31819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Rect outBounds) { 31839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInParent(mInfo, outBounds); 31849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 31879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in parent coordinates. 31889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 31899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 31909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 31919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 31929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 31939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 31959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *@throws IllegalStateException If called from an AccessibilityService. 31969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Rect bounds) { 31989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setBoundsInParent(mInfo, bounds); 31999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 32009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 32029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in screen coordinates. 32039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 32049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 32059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 32069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Rect outBounds) { 32079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInScreen(mInfo, outBounds); 32089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 32099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 32119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in screen coordinates. 32129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 32139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 32149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 32159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 32169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 32179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 32189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 32199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 32209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 32219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Rect bounds) { 32223a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setBoundsInScreen(mInfo, bounds); 32239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 32249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 32269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checkable. 32279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 32289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checkable. 32299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 32309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable() { 32319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isCheckable(mInfo); 32329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 32339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 32359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checkable. 32369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 32379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 32389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 32399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 32409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 32419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 32429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checkable True if the node is checkable. 32439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 32449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 32459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(boolean checkable) { 32469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setCheckable(mInfo, checkable); 32479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 32489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 32509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checked. 32519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 32529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checked. 32539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 32549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked() { 32559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isChecked(mInfo); 32569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 32579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 32599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checked. 32609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 32619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 32629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 32639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 32649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 32659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 32669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checked True if the node is checked. 32679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 32689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 32699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(boolean checked) { 32709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setChecked(mInfo, checked); 32719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 32729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 32749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focusable. 32759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 32769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focusable. 32779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 32789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable() { 32799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocusable(mInfo); 32809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 32819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 32839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focusable. 32849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 32859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 32869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 32879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 32889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 32899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 32909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focusable True if the node is focusable. 32919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 32929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 32939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(boolean focusable) { 32949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocusable(mInfo, focusable); 32959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 32969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 32989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focused. 32999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 33009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focused. 33019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 33029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused() { 33039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocused(mInfo); 33049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 33059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 33069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 33079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focused. 33089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 33099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 33109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 33119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 33129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 33139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 33149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focused True if the node is focused. 33159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 33169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 33179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(boolean focused) { 33189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocused(mInfo, focused); 33199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 33209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 33219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 332270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 332370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 332470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return Whether the node is visible to the user. 332570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 332670e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser() { 332770e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isVisibleToUser(mInfo); 332870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 332970e96ebf69f91da84681a6263b3862c63d53ab11alanv 333070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 333170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 333270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 333370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 333470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 333570e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 333670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 333770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 333870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param visibleToUser Whether the node is visible to the user. 333970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 334070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 334170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 334270e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(boolean visibleToUser) { 334370e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setVisibleToUser(mInfo, visibleToUser); 334470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 334570e96ebf69f91da84681a6263b3862c63d53ab11alanv 334670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 334770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets whether this node is accessibility focused. 334870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 334970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the node is accessibility focused. 335070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 335170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused() { 335270e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isAccessibilityFocused(mInfo); 335370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 335470e96ebf69f91da84681a6263b3862c63d53ab11alanv 335570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 335670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is accessibility focused. 335770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 335870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 335970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 336070e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 336170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 336270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 336370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focused True if the node is accessibility focused. 336470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 336570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 336670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 336770e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(boolean focused) { 336870e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setAccessibilityFocused(mInfo, focused); 336970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 337070e96ebf69f91da84681a6263b3862c63d53ab11alanv 337170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 33729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is selected. 33739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 33749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is selected. 33759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 33769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected() { 33779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isSelected(mInfo); 33789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 33799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 33809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 33819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is selected. 33829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 33839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 33849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 33859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 33869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 33879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 33889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param selected True if the node is selected. 33899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 33909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 33919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(boolean selected) { 33929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSelected(mInfo, selected); 33939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 33949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 33959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 33969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is clickable. 33979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 33989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is clickable. 33999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 34009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable() { 34019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isClickable(mInfo); 34029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 34039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 34059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is clickable. 34069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 34079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 34089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 34099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 34109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 34119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 34129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param clickable True if the node is clickable. 34139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 34149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 34159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(boolean clickable) { 34169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClickable(mInfo, clickable); 34179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 34189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 34209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is long clickable. 34219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 34229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is long clickable. 34239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 34249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable() { 34259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isLongClickable(mInfo); 34269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 34279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 34299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is long clickable. 34309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 34319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 34329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 34339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 34349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 34359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 34369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param longClickable True if the node is long clickable. 34379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 34389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 34399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(boolean longClickable) { 34409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setLongClickable(mInfo, longClickable); 34419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 34429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 34449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is enabled. 34459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 34469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is enabled. 34479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 34489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled() { 34499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isEnabled(mInfo); 34509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 34519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 34539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is enabled. 34549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 34559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 34569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 34579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 34589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 34599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 34609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param enabled True if the node is enabled. 34619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 34629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 34639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(boolean enabled) { 34649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setEnabled(mInfo, enabled); 34659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 34669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 34689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is a password. 34699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 34709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is a password. 34719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 34729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword() { 34739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isPassword(mInfo); 34749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 34759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 34779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is a password. 34789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 34799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 34809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 34819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 34829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 34839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 34849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param password True if the node is a password. 34859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 34869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 34879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(boolean password) { 34889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPassword(mInfo, password); 34899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 34909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 34929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets if the node is scrollable. 34939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 34949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is scrollable, false otherwise. 34959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 34969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable() { 34979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isScrollable(mInfo); 34989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 34999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 35019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets if the node is scrollable. 35029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 35039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 35049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 35059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 35069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 35079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 35089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param scrollable True if the node is scrollable, false otherwise. 35099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 35109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 35119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(boolean scrollable) { 35129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setScrollable(mInfo, scrollable); 35139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 35149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 3516cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * Returns whether the node originates from a view considered important for accessibility. 3517cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * 3518cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @return {@code true} if the node originates from a view considered important for 3519cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * accessibility, {@code false} otherwise 3520cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * 3521cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @see View#isImportantForAccessibility() 3522cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver */ 3523cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public boolean isImportantForAccessibility() { 3524cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return IMPL.isImportantForAccessibility(mInfo); 3525cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 3526cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 3527cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver /** 3528cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * Sets whether the node is considered important for accessibility. 3529cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <p> 3530cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <strong>Note:</strong> Cannot be called from an 3531cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * {@link android.accessibilityservice.AccessibilityService}. 3532cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * This class is made immutable before being delivered to an AccessibilityService. 3533cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * </p> 3534cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * 3535cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @param important {@code true} if the node is considered important for accessibility, 3536cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * {@code false} otherwise 3537cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver */ 3538cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setImportantForAccessibility(boolean important) { 3539cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver IMPL.setImportantForAccessibility(mInfo, important); 3540cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 3541cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 3542cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver /** 35439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the package this node comes from. 35449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 35459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The package name. 35469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 35479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName() { 35489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getPackageName(mInfo); 35499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 35509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 35529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the package this node comes from. 35539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 35549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 35559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 35569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 35579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 35589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 35599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param packageName The package name. 35609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 35619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 35629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(CharSequence packageName) { 35639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPackageName(mInfo, packageName); 35649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 35659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 35679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the class this node comes from. 35689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 35699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The class name. 35709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 35719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName() { 35729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getClassName(mInfo); 35739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 35749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 35769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the class this node comes from. 35779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 35789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 35799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 35809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 35819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 35829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 35839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param className The class name. 35849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 35859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 35869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(CharSequence className) { 35879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClassName(mInfo, className); 35889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 35899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 35919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the text of this node. 35929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 35939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The text. 35949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 35959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText() { 35969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getText(mInfo); 35979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 35989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 36009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the text of this node. 36019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 36029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 36039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 36049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 36059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 36069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 36079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The text. 36089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 36099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 36109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(CharSequence text) { 36119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setText(mInfo, text); 36129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 36139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 36159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the content description of this node. 36169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 36179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The content description. 36189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 36199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription() { 36209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getContentDescription(mInfo); 36219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 36229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 36249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the content description of this node. 36259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 36269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 36279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 36289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 36299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 36309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 36319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param contentDescription The content description. 36329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 36339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 36349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(CharSequence contentDescription) { 36359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setContentDescription(mInfo, contentDescription); 36369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 36379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 36399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Return an instance back to be reused. 36409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 36419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> You must not touch the object after calling this function. 36429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 36439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If the info is already recycled. 36449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 36459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle() { 36469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.recycle(mInfo); 36479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 36489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36490fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 36500fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Sets the fully qualified resource name of the source view's id. 36510fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 36520fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 36530fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Note:</strong> Cannot be called from an 36540fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link android.accessibilityservice.AccessibilityService}. 36550fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * This class is made immutable before being delivered to an AccessibilityService. 36560fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 36570fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 36580fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @param viewId The id resource name. 36590fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 3660071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(String viewId) { 36610fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav IMPL.setViewIdResourceName(mInfo, viewId); 36620fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 36630fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 36640fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 36650fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Gets the fully qualified resource name of the source view's id. 36660fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 36670fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 36680fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Note:</strong> The primary usage of this API is for UI test automation 36690fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * and in order to report the source view id of an {@link AccessibilityNodeInfoCompat} 36700fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * the client has to set the {@link AccessibilityServiceInfoCompat#FLAG_REPORT_VIEW_IDS} 36710fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * flag when configuring his {@link android.accessibilityservice.AccessibilityService}. 36720fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 36730fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 36740fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @return The id resource name. 36750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 3676071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName() { 36770fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return IMPL.getViewIdResourceName(mInfo); 36780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 36790fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 3680086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette /** 3681086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * Gets the node's live region mode. 3682086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 3683086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * A live region is a node that contains information that is important for 3684086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * the user and when it changes the user should be notified. For example, 3685086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * in a login screen with a TextView that displays an "incorrect password" 3686086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * notification, that view should be marked as a live region with mode 3687086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_POLITE}. 3688086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 3689086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * It is the responsibility of the accessibility service to monitor 3690086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link AccessibilityEventCompat#TYPE_WINDOW_CONTENT_CHANGED} events 3691086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * indicating changes to live region nodes and their children. 3692086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * 3693086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @return The live region mode, or 3694086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_NONE} if the view is 3695086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * not a live region. 3696086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @see ViewCompat#getAccessibilityLiveRegion(View) 3697086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette */ 3698086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion() { 3699086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return IMPL.getLiveRegion(mInfo); 3700086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 3701086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 3702086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette /** 3703086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * Sets the node's live region mode. 3704086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 3705086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <strong>Note:</strong> Cannot be called from an 3706086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link android.accessibilityservice.AccessibilityService}. This class is 3707086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * made immutable before being delivered to an AccessibilityService. 3708086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * 3709086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @param mode The live region mode, or 3710086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_NONE} if the view is 3711086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * not a live region. 3712086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @see ViewCompat#setAccessibilityLiveRegion(View, int) 3713086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette */ 3714086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(int mode) { 3715086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette IMPL.setLiveRegion(mInfo, mode); 3716086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 3717086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 3718fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 3719cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * Get the drawing order of the view corresponding it this node. 3720cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <p> 3721cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * Drawing order is determined only within the node's parent, so this index is only relative 3722cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * to its siblings. 3723cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <p> 3724cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * In some cases, the drawing order is essentially simultaneous, so it is possible for two 3725cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * siblings to return the same value. It is also possible that values will be skipped. 3726cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * 3727cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @return The drawing position of the view corresponding to this node relative to its siblings. 3728cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver */ 3729cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public int getDrawingOrder() { 3730cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return IMPL.getDrawingOrder(mInfo); 3731cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 3732cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 3733cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver /** 3734cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * Set the drawing order of the view corresponding it this node. 3735cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * 3736cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <p> 3737cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <strong>Note:</strong> Cannot be called from an 3738cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * {@link android.accessibilityservice.AccessibilityService}. 3739cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * This class is made immutable before being delivered to an AccessibilityService. 3740cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * </p> 3741cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @param drawingOrderInParent 3742cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @throws IllegalStateException If called from an AccessibilityService. 3743cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver */ 3744cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setDrawingOrder(int drawingOrderInParent) { 3745cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver IMPL.setDrawingOrder(mInfo, drawingOrderInParent); 3746cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 3747cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 3748cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver /** 3749fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the collection info if the node is a collection. A collection 3750fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * child is always a collection item. 3751fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 3752fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The collection info. 3753fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 3754fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public CollectionInfoCompat getCollectionInfo() { 3755fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getCollectionInfo(mInfo); 3756fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 3757fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new CollectionInfoCompat(info); 3758fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 3759fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 3760a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionInfo(Object collectionInfo) { 3761a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar IMPL.setCollectionInfo(mInfo, ((CollectionInfoCompat) collectionInfo).mInfo); 3762a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 3763a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 3764a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionItemInfo(Object collectionItemInfo) { 3765a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar IMPL.setCollectionItemInfo(mInfo, ((CollectionItemInfoCompat) collectionItemInfo).mInfo); 3766a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 3767a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 3768fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 3769fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the collection item info if the node is a collection item. A collection 3770fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * item is always a child of a collection. 3771fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 3772fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The collection item info. 3773fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 3774fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public CollectionItemInfoCompat getCollectionItemInfo() { 3775fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getCollectionItemInfo(mInfo); 3776fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 3777fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new CollectionItemInfoCompat(info); 3778fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 3779fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 3780fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 3781fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the range info if this node is a range. 3782fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 3783fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The range. 3784fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 3785fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public RangeInfoCompat getRangeInfo() { 3786fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getRangeInfo(mInfo); 3787fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 3788fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new RangeInfoCompat(info); 3789fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 3790fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 3791389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 37928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the range info if this node is a range. 37938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 37948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 37958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 37968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 37978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 37988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 37998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param rangeInfo The range info. 38008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 38018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setRangeInfo(RangeInfoCompat rangeInfo) { 38028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setRangeInfo(mInfo, rangeInfo.mInfo); 38038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 38048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 38058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 3806389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the actions that can be performed on the node. 3807389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 3808389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return A list of AccessibilityActions. 3809389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 3810389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<AccessibilityActionCompat> getActionList() { 3811389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen List<Object> actions = IMPL.getActionList(mInfo); 3812cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen if (actions != null) { 3813cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen List<AccessibilityActionCompat> result = new ArrayList<AccessibilityActionCompat>(); 3814cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen final int actionCount = actions.size(); 3815cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen for (int i = 0; i < actionCount; i++) { 3816cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen Object action = actions.get(i); 3817cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen result.add(new AccessibilityActionCompat(action)); 3818cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen } 3819cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen return result; 3820cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen } else { 3821cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen return Collections.<AccessibilityActionCompat>emptyList(); 3822389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 3823389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 3824389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 3825c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 3826c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Sets if the content of this node is invalid. For example, 3827c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * a date is not well-formed. 3828c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * <p> 3829c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * <strong>Note:</strong> Cannot be called from an 3830c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * {@link android.accessibilityservice.AccessibilityService}. 3831c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * This class is made immutable before being delivered to an AccessibilityService. 3832c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * </p> 3833c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3834c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @param contentInvalid If the node content is invalid. 3835c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3836c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setContentInvalid(boolean contentInvalid) { 3837c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes IMPL.setContentInvalid(mInfo, contentInvalid); 3838c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3839c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 3840c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 3841c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Gets if the content of this node is invalid. For example, 3842c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * a date is not well-formed. 3843c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3844c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @return If the node content is invalid. 3845c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3846c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public boolean isContentInvalid() { 3847c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return IMPL.isContentInvalid(mInfo); 3848c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3849c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 3850c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 385177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Gets whether this node is context clickable. 385277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * 385377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * @return True if the node is context clickable. 385477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 385577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public boolean isContextClickable() { 385677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid return IMPL.isContextClickable(mInfo); 385777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 385877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 385977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 386077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * Sets whether this node is context clickable. 386177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <p> 386277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * <strong>Note:</strong> Cannot be called from an 386377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * {@link android.accessibilityservice.AccessibilityService}. This class is made immutable 386477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * before being delivered to an AccessibilityService. 386577df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * </p> 386677df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * 386777df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * @param contextClickable True if the node is context clickable. 386877df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid * @throws IllegalStateException If called from an AccessibilityService. 386977df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid */ 387077df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid public void setContextClickable(boolean contextClickable) { 387177df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid IMPL.setContextClickable(mInfo, contextClickable); 387277df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid } 387377df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid 387477df76ce4466b7a3739fbbe53c2ac99d976b113eAbhinav Baid /** 3875c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Sets the error text of this node. 3876c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * <p> 3877c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * <strong>Note:</strong> Cannot be called from an 3878c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * {@link android.accessibilityservice.AccessibilityService}. 3879c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * This class is made immutable before being delivered to an AccessibilityService. 3880c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * </p> 3881c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3882c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @param error The error text. 3883c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3884c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @throws IllegalStateException If called from an AccessibilityService. 3885c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3886c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setError(CharSequence error) { 3887c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes IMPL.setError(mInfo, error); 3888c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3889c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 3890c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 3891c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Gets the error text of this node. 3892c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3893c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @return The error text. 3894c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3895c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public CharSequence getError() { 3896c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return IMPL.getError(mInfo); 3897c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3898c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 3899c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 3900c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Sets the view for which the view represented by this info serves as a 3901c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * label for accessibility purposes. 3902c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3903c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @param labeled The view for which this info serves as a label. 3904c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3905c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setLabelFor(View labeled) { 3906c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes IMPL.setLabelFor(mInfo, labeled); 3907c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3908c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 3909c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 3910c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Sets the view for which the view represented by this info serves as a 3911c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * label for accessibility purposes. If <code>virtualDescendantId</code> 3912c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * is {@link View#NO_ID} the root is set as the labeled. 3913c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * <p> 3914c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * A virtual descendant is an imaginary View that is reported as a part of the view 3915c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * hierarchy for accessibility purposes. This enables custom views that draw complex 3916c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * content to report themselves as a tree of virtual views, thus conveying their 3917c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * logical structure. 3918c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * </p> 3919c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3920c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @param root The root whose virtual descendant serves as a label. 3921c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @param virtualDescendantId The id of the virtual descendant. 3922c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3923c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setLabelFor(View root, int virtualDescendantId) { 3924c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes IMPL.setLabelFor(mInfo, root, virtualDescendantId); 3925c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3926389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 39278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 39288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the node info for which the view represented by this info serves as 39298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * a label for accessibility purposes. 39308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 39318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> It is a client responsibility to recycle the 39328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} 39338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * to avoid creating of multiple instances. 39348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 39358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 39368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The labeled info. 39378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 39388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public AccessibilityNodeInfoCompat getLabelFor() { 39398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getLabelFor(mInfo)); 39408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 39418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 39428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 39438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the view which serves as the label of the view represented by 39448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * this info for accessibility purposes. 39458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 39468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param label The view that labels this node's source. 39478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 39488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(View label) { 39498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setLabeledBy(mInfo, label); 39508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 39518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 39528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 39538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the view which serves as the label of the view represented by 39548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * this info for accessibility purposes. If <code>virtualDescendantId</code> 39558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * is {@link View#NO_ID} the root is set as the label. 39568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 39578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A virtual descendant is an imaginary View that is reported as a part of the view 39588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * hierarchy for accessibility purposes. This enables custom views that draw complex 39598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * content to report themselves as a tree of virtual views, thus conveying their 39608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * logical structure. 39618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 39628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 39638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 39648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 39658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 39668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 39678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 39688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param root The root whose virtual descendant labels this node's source. 39698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param virtualDescendantId The id of the virtual descendant. 39708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 39718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(View root, int virtualDescendantId) { 39728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setLabeledBy(mInfo, root, virtualDescendantId); 39738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 39748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 39758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 39768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the node info which serves as the label of the view represented by 39778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * this info for accessibility purposes. 39788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 39798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> It is a client responsibility to recycle the 39808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} 39818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * to avoid creating of multiple instances. 39828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 39838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 39848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The label. 39858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 39868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public AccessibilityNodeInfoCompat getLabeledBy() { 39878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getLabeledBy(mInfo)); 39888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 39898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 39908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 39918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets if this node opens a popup or a dialog. 39928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 39938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return If the the node opens a popup. 39948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 39958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean canOpenPopup() { 39968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.canOpenPopup(mInfo); 39978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 39988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 39998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 40008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets if this node opens a popup or a dialog. 40018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 40028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 40038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 40048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 40058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 40068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 40078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param opensPopup If the the node opens a popup. 40088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 40098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setCanOpenPopup(boolean opensPopup) { 40108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setCanOpenPopup(mInfo, opensPopup); 40118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 40128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 40138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 40148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Finds {@link AccessibilityNodeInfoCompat}s by the fully qualified view id's resource 40158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * name where a fully qualified id is of the from "package:id/id_resource_name". 40168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * For example, if the target application's package is "foo.bar" and the id 40178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * resource name is "baz", the fully qualified resource id is "foo.bar:id/baz". 40188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 40198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 40208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> It is a client responsibility to recycle the 40218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} 40228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * to avoid creating of multiple instances. 40238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 40248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 40258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> The primary usage of this API is for UI test automation 40268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * and in order to report the fully qualified view id if an 40278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link AccessibilityNodeInfoCompat} the client has to set the 40288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityServiceInfo#FLAG_REPORT_VIEW_IDS} 40298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * flag when configuring his {@link android.accessibilityservice.AccessibilityService}. 40308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 40318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 40328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param viewId The fully qualified resource name of the view id to find. 40338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return A list of node info. 40348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 40358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public List<AccessibilityNodeInfoCompat> findAccessibilityNodeInfosByViewId(String viewId) { 40368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov List<Object> nodes = IMPL.findAccessibilityNodeInfosByViewId(mInfo, viewId); 40378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov if (nodes != null) { 40388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov List<AccessibilityNodeInfoCompat> result = new ArrayList<AccessibilityNodeInfoCompat>(); 40398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov for (Object node : nodes) { 40408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov result.add(new AccessibilityNodeInfoCompat(node)); 40418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 40428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return result; 40438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } else { 40448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return Collections.emptyList(); 40458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 40468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 40478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 40488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 40498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets an optional bundle with extra data. The bundle 40508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * is lazily created and never <code>null</code>. 40518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 40528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> It is recommended to use the package 40538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * name of your application as a prefix for the keys to avoid 40548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * collisions which may confuse an accessibility service if the 40558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * same key has different meaning when emitted from different 40568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * applications. 40578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 40588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 40598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The bundle. 40608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 40618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Bundle getExtras() { 40628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.getExtras(mInfo); 40638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 40648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 40658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 40668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the input type of the source as defined by {@link InputType}. 40678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 40688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The input type. 40698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 40708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getInputType() { 40718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.getInputType(mInfo); 40728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 40738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 40748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 40758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the input type of the source as defined by {@link InputType}. 40768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 40778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 40788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 40798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an 40808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * AccessibilityService. 40818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 40828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 40838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param inputType The input type. 40848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 40858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 40868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 40878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setInputType(int inputType) { 40888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setInputType(mInfo, inputType); 40898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 40908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 40918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 40928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the maximum text length, or -1 for no limit. 40938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 40948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Typically used to indicate that an editable text field has a limit on 40958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * the number of characters entered. 40968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 40978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 40988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 40998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 41008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 41018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param max The maximum text length. 41028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #getMaxTextLength() 41038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 41048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 41058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 41068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMaxTextLength(int max) { 41078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setMaxTextLength(mInfo, max); 41088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 41098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 41108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 41118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Returns the maximum text length for this node. 41128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 41138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The maximum text length, or -1 for no limit. 41148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #setMaxTextLength(int) 41158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 41168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getMaxTextLength() { 41178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.getMaxTextLength(mInfo); 41188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 41198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 41208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 41218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the text selection start and end. 41228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 41238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 41248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 41258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 41268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 41278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 41288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param start The text selection start. 41298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param end The text selection end. 41308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 41318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 41328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 41338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTextSelection(int start, int end) { 41348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setTextSelection(mInfo, start, end); 41358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 41368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 41378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 41388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the text selection start. 41398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 41408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The text selection start if there is selection or -1. 41418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 41428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionStart() { 41438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.getTextSelectionStart(mInfo); 41448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 41458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 41468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 41478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the text selection end. 41488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 41498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The text selection end if there is selection or -1. 41508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 41518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionEnd() { 41528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.getTextSelectionEnd(mInfo); 41538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 41548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 41558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 41568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the node before which this one is visited during traversal. A screen-reader 41578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * must visit the content of this node before the content of the one it precedes. 41588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 41598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The succeeding node if such or <code>null</code>. 41608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 41618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #setTraversalBefore(android.view.View) 41628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #setTraversalBefore(android.view.View, int) 41638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 41648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public AccessibilityNodeInfoCompat getTraversalBefore() { 41658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getTraversalBefore(mInfo)); 41668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 41678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 41688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 41698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the view before whose node this one should be visited during traversal. A 41708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * screen-reader must visit the content of this node before the content of the one 41718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * it precedes. 41728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 41738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 41748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 41758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 41768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 41778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 41788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param view The view providing the preceding node. 41798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 41808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #getTraversalBefore() 41818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 41828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTraversalBefore(View view) { 41838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setTraversalBefore(mInfo, view); 41848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 41858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 41868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 41878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the node before which this one is visited during traversal. A screen-reader 41888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * must visit the content of this node before the content of the one it precedes. 41898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * The successor is a virtual descendant of the given <code>root</code>. If 41908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <code>virtualDescendantId</code> equals to {@link View#NO_ID} the root is set 41918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * as the successor. 41928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 41938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A virtual descendant is an imaginary View that is reported as a part of the view 41948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * hierarchy for accessibility purposes. This enables custom views that draw complex 41958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * content to report them selves as a tree of virtual views, thus conveying their 41968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * logical structure. 41978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 41988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 41998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 42008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 42018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 42028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 42038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 42048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param root The root of the virtual subtree. 42058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param virtualDescendantId The id of the virtual descendant. 42068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 42078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTraversalBefore(View root, int virtualDescendantId) { 42088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setTraversalBefore(mInfo, root, virtualDescendantId); 42098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 42108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 42118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 42128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the node after which this one is visited in accessibility traversal. 42138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A screen-reader must visit the content of the other node before the content 42148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * of this one. 42158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 42168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The succeeding node if such or <code>null</code>. 42178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 42188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #setTraversalAfter(android.view.View) 42198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #setTraversalAfter(android.view.View, int) 42208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 42218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public AccessibilityNodeInfoCompat getTraversalAfter() { 42228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getTraversalAfter(mInfo)); 42238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 42248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 42258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 42268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the view whose node is visited after this one in accessibility traversal. 42278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A screen-reader must visit the content of the other node before the content 42288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * of this one. 42298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 42308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 42318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 42328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 42338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 42348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 42358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param view The previous view. 42368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 42378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #getTraversalAfter() 42388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 42398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTraversalAfter(View view) { 42408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setTraversalAfter(mInfo, view); 42418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 42428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 42438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 42448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the node after which this one is visited in accessibility traversal. 42458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A screen-reader must visit the content of the other node before the content 42468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * of this one. If <code>virtualDescendantId</code> equals to {@link View#NO_ID} 42478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * the root is set as the predecessor. 42488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 42498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A virtual descendant is an imaginary View that is reported as a part of the view 42508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * hierarchy for accessibility purposes. This enables custom views that draw complex 42518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * content to report them selves as a tree of virtual views, thus conveying their 42528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * logical structure. 42538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 42548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 42558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 42568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 42578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 42588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 42598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 42608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param root The root of the virtual subtree. 42618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param virtualDescendantId The id of the virtual descendant. 42628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 42638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTraversalAfter(View root, int virtualDescendantId) { 42648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setTraversalAfter(mInfo, root, virtualDescendantId); 42658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 42668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 42678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 42688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the window to which this node belongs. 42698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 42708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The window. 42718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 42728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see android.accessibilityservice.AccessibilityService#getWindows() 42738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 42748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public AccessibilityWindowInfoCompat getWindow() { 42758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityWindowInfoCompat.wrapNonNullInstance(IMPL.getWindow(mInfo)); 42768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 42778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 42788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 42798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets if the node can be dismissed. 42808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 42818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return If the node can be dismissed. 42828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 42838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isDismissable() { 42848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.isDismissable(mInfo); 42858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 42868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 42878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 42888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets if the node can be dismissed. 42898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 42908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 42918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 42928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 42938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 42948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 42958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param dismissable If the node can be dismissed. 42968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 42978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setDismissable(boolean dismissable) { 42988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setDismissable(mInfo, dismissable); 42998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 43008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 43018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 43028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets if the node is editable. 43038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 43048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return True if the node is editable, false otherwise. 43058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 43068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isEditable() { 43078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.isEditable(mInfo); 43088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 43098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 43108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 43118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets whether this node is editable. 43128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 43138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 43148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 43158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 43168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 43178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 43188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param editable True if the node is editable. 43198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 43208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 43218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 43228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setEditable(boolean editable) { 43238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setEditable(mInfo, editable); 43248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 43258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 43268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 43278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets if the node is a multi line editable text. 43288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 43298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return True if the node is multi line. 43308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 43318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isMultiLine() { 43328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.isMultiLine(mInfo); 43338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 43348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 43358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 43368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets if the node is a multi line editable text. 43378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 43388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 43398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 43408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 43418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 43428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 43438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param multiLine True if the node is multi line. 43448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 43458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMultiLine(boolean multiLine) { 43468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setMultiLine(mInfo, multiLine); 43478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 43488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 43498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 43508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Refreshes this info with the latest state of the view it represents. 43518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 43528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> If this method returns false this info is obsolete 43538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * since it represents a view that is no longer in the view tree and should 43548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * be recycled. 43558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 43568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return Whether the refresh succeeded. 43578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 43588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean refresh() { 43598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.refresh(mInfo); 43608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 43618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 4362f0d984600125413628899bfc849bab102bc2228eSteven Dao /** 4363f0d984600125413628899bfc849bab102bc2228eSteven Dao * Gets the custom role description. 4364f0d984600125413628899bfc849bab102bc2228eSteven Dao * @return The role description. 4365f0d984600125413628899bfc849bab102bc2228eSteven Dao */ 4366f0d984600125413628899bfc849bab102bc2228eSteven Dao public @Nullable CharSequence getRoleDescription() { 4367f0d984600125413628899bfc849bab102bc2228eSteven Dao return IMPL.getRoleDescription(mInfo); 4368f0d984600125413628899bfc849bab102bc2228eSteven Dao } 4369f0d984600125413628899bfc849bab102bc2228eSteven Dao 4370f0d984600125413628899bfc849bab102bc2228eSteven Dao /** 4371f0d984600125413628899bfc849bab102bc2228eSteven Dao * Sets the custom role description. 4372f0d984600125413628899bfc849bab102bc2228eSteven Dao * 4373f0d984600125413628899bfc849bab102bc2228eSteven Dao * <p> 4374f0d984600125413628899bfc849bab102bc2228eSteven Dao * The role description allows you to customize the name for the view's semantic 4375f0d984600125413628899bfc849bab102bc2228eSteven Dao * role. For example, if you create a custom subclass of {@link android.view.View} 4376f0d984600125413628899bfc849bab102bc2228eSteven Dao * to display a menu bar, you could assign it the role description of "menu bar". 4377f0d984600125413628899bfc849bab102bc2228eSteven Dao * </p> 4378f0d984600125413628899bfc849bab102bc2228eSteven Dao * <p> 4379f0d984600125413628899bfc849bab102bc2228eSteven Dao * <strong>Warning:</strong> For consistency with other applications, you should 4380f0d984600125413628899bfc849bab102bc2228eSteven Dao * not use the role description to force accessibility services to describe 4381f0d984600125413628899bfc849bab102bc2228eSteven Dao * standard views (such as buttons or checkboxes) using specific wording. For 4382f0d984600125413628899bfc849bab102bc2228eSteven Dao * example, you should not set a role description of "check box" or "tick box" for 4383f0d984600125413628899bfc849bab102bc2228eSteven Dao * a standard {@link android.widget.CheckBox}. Instead let accessibility services 4384f0d984600125413628899bfc849bab102bc2228eSteven Dao * decide what feedback to provide. 4385f0d984600125413628899bfc849bab102bc2228eSteven Dao * </p> 4386f0d984600125413628899bfc849bab102bc2228eSteven Dao * <p> 4387f0d984600125413628899bfc849bab102bc2228eSteven Dao * <strong>Note:</strong> Cannot be called from an 4388f0d984600125413628899bfc849bab102bc2228eSteven Dao * {@link android.accessibilityservice.AccessibilityService}. 4389f0d984600125413628899bfc849bab102bc2228eSteven Dao * This class is made immutable before being delivered to an AccessibilityService. 4390f0d984600125413628899bfc849bab102bc2228eSteven Dao * </p> 4391f0d984600125413628899bfc849bab102bc2228eSteven Dao * 4392f0d984600125413628899bfc849bab102bc2228eSteven Dao * @param roleDescription The role description. 4393f0d984600125413628899bfc849bab102bc2228eSteven Dao */ 4394f0d984600125413628899bfc849bab102bc2228eSteven Dao public void setRoleDescription(@Nullable CharSequence roleDescription) { 4395f0d984600125413628899bfc849bab102bc2228eSteven Dao IMPL.setRoleDescription(mInfo, roleDescription); 4396f0d984600125413628899bfc849bab102bc2228eSteven Dao } 4397f0d984600125413628899bfc849bab102bc2228eSteven Dao 43989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 43999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int hashCode() { 44009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return (mInfo == null) ? 0 : mInfo.hashCode(); 44019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 44029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 44039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 44049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean equals(Object obj) { 44059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (this == obj) { 44069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 44079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 44089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (obj == null) { 44099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 44109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 44119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (getClass() != obj.getClass()) { 44129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 44139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 44149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompat other = (AccessibilityNodeInfoCompat) obj; 44159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (mInfo == null) { 44169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (other.mInfo != null) { 44179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 44189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 44199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else if (!mInfo.equals(other.mInfo)) { 44209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 44219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 44229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 44239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 44240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 44250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 44260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public String toString() { 44270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav StringBuilder builder = new StringBuilder(); 44280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(super.toString()); 44290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 44300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav Rect bounds = new Rect(); 44310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 44320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav getBoundsInParent(bounds); 44330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; boundsInParent: " + bounds); 44340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 44350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav getBoundsInScreen(bounds); 44360fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; boundsInScreen: " + bounds); 44370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 44380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; packageName: ").append(getPackageName()); 44390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; className: ").append(getClassName()); 44400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; text: ").append(getText()); 44410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; contentDescription: ").append(getContentDescription()); 44420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; viewId: ").append(getViewIdResourceName()); 44430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 44440fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; checkable: ").append(isCheckable()); 44450fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; checked: ").append(isChecked()); 44460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; focusable: ").append(isFocusable()); 44470fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; focused: ").append(isFocused()); 44480fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; selected: ").append(isSelected()); 44490fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; clickable: ").append(isClickable()); 44500fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; longClickable: ").append(isLongClickable()); 44510fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; enabled: ").append(isEnabled()); 44520fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; password: ").append(isPassword()); 44530fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; scrollable: " + isScrollable()); 44540fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 44550fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; ["); 44560fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav for (int actionBits = getActions(); actionBits != 0;) { 44570fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav final int action = 1 << Integer.numberOfTrailingZeros(actionBits); 44580fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav actionBits &= ~action; 44590fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(getActionSymbolicName(action)); 44600fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav if (actionBits != 0) { 44610fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(", "); 44620fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 44630fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 44640fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("]"); 44650fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 44660fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return builder.toString(); 44670fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 44680fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 44690fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav private static String getActionSymbolicName(int action) { 44700fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav switch (action) { 44710fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_FOCUS: 44720fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_FOCUS"; 44730fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_FOCUS: 44740fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_FOCUS"; 44750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SELECT: 44760fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SELECT"; 44770fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_SELECTION: 44780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_SELECTION"; 44790fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLICK: 44800fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLICK"; 44810fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_LONG_CLICK: 44820fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_LONG_CLICK"; 44830fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_ACCESSIBILITY_FOCUS: 44840fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_ACCESSIBILITY_FOCUS"; 44850fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_ACCESSIBILITY_FOCUS: 44860fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_ACCESSIBILITY_FOCUS"; 44870fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_NEXT_AT_MOVEMENT_GRANULARITY: 44880fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_NEXT_AT_MOVEMENT_GRANULARITY"; 44890fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: 44900fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY"; 44910fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_NEXT_HTML_ELEMENT: 44920fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_NEXT_HTML_ELEMENT"; 44930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PREVIOUS_HTML_ELEMENT: 44940fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PREVIOUS_HTML_ELEMENT"; 44950fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SCROLL_FORWARD: 44960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SCROLL_FORWARD"; 44970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SCROLL_BACKWARD: 44980fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SCROLL_BACKWARD"; 44990fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CUT: 45000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CUT"; 45010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_COPY: 45020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_COPY"; 45030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PASTE: 45040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PASTE"; 45050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SET_SELECTION: 45060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SET_SELECTION"; 45070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav default: 45080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return"ACTION_UNKNOWN"; 45090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 45100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 45119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov} 4512