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 337389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen private final Object mAction; 338389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 33984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav /** 34084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * Creates a new instance. 34184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * 34284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @param actionId The action id. 34384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @param label The action label. 34484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav */ 34584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public AccessibilityActionCompat(int actionId, CharSequence label) { 34684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav this(IMPL.newAccessibilityAction(actionId, label)); 34784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 34884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 349389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen private AccessibilityActionCompat(Object action) { 350389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen mAction = action; 351389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 352389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 353389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 354389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the id for this action. 355389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 356389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return The action id. 357389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 358389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public int getId() { 35984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return IMPL.getAccessibilityActionId(mAction); 360389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 361389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 362389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 363389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the label for this action. Its purpose is to describe the 364389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * action to user. 365389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 366389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return The label. 367389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 368389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public CharSequence getLabel() { 36984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return IMPL.getAccessibilityActionLabel(mAction); 370389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 371389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 372389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 373fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class CollectionInfoCompat { 374a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** Selection mode where items are not selectable. */ 375a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static final int SELECTION_MODE_NONE = 0; 376a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 377a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** Selection mode where a single item may be selected. */ 378a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static final int SELECTION_MODE_SINGLE = 1; 379a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 380a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** Selection mode where multiple items may be selected. */ 381a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static final int SELECTION_MODE_MULTIPLE = 2; 382a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 383a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar final Object mInfo; 384a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 385a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** 386a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * Returns a cached instance if such is available otherwise a new one. 387a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * 388a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * @return An instance. 389a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar */ 390a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static CollectionInfoCompat obtain(int rowCount, int columnCount, 391a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar boolean hierarchical, int selectionMode) { 392a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return new CollectionInfoCompat(IMPL.obtainCollectionInfo(rowCount, columnCount, 393a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar hierarchical, selectionMode)); 394a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 395fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 396fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private CollectionInfoCompat(Object info) { 397fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 398fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 399fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 400fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnCount() { 401a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionInfoColumnCount(mInfo); 402fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 403fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 404fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowCount() { 405a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionInfoRowCount(mInfo); 406fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 407fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 408fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public boolean isHierarchical() { 409a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.isCollectionInfoHierarchical(mInfo); 410fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 411fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 412fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 413fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class CollectionItemInfoCompat { 414a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 415fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private final Object mInfo; 416fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 417a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** 418a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * Returns a cached instance if such is available otherwise a new one. 419a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * 420a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * @return An instance. 421a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar */ 422a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static CollectionItemInfoCompat obtain(int rowIndex, int rowSpan, 423a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnIndex, int columnSpan, boolean heading, boolean selected) { 424a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return new CollectionItemInfoCompat(IMPL.obtainCollectionItemInfo(rowIndex, rowSpan, 425a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar columnIndex, columnSpan, heading, selected)); 426a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 427a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 428fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private CollectionItemInfoCompat(Object info) { 429fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 430fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 431fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 432fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnIndex() { 433a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemColumnIndex(mInfo); 434fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 435fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 436fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnSpan() { 437a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemColumnSpan(mInfo); 438fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 439fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 440fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowIndex() { 441a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemRowIndex(mInfo); 442fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 443fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 444fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowSpan() { 445a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemRowSpan(mInfo); 446fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 447fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 448fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public boolean isHeading() { 449a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.isCollectionItemHeading(mInfo); 450a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 451a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 452a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isSelected() { 453a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.isCollectionItemSelected(mInfo); 454fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 455fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 456fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 457fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class RangeInfoCompat { 458fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: integer. */ 459fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_INT = 0; 460fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: float. */ 461fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_FLOAT = 1; 462fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: percent with values from zero to one.*/ 463fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_PERCENT = 2; 464fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 465fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private final Object mInfo; 466fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 467fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private RangeInfoCompat(Object info) { 468fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 469fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 470fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 471fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getCurrent() { 472fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getCurrent(mInfo); 473fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 474fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 475fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getMax() { 476fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getMax(mInfo); 477fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 478fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 479fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getMin() { 480fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getMin(mInfo); 481fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 482fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 483fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getType() { 484fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getType(mInfo); 485fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 486fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 487fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 4889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static interface AccessibilityNodeInfoImpl { 48984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public Object newAccessibilityAction(int actionId, CharSequence label); 4909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(); 4919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source); 4929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info); 49370e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId); 4949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source); 4953a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId); 49670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus); 49770e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction); 4989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info); 4999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info); 50070e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index); 5019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child); 5023a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId); 5038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(Object info, View child); 5048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(Object info, View root, int virtualDescendantId); 5059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info); 5069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action); 50784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public void addAction(Object info, Object action); 5088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeAction(Object info, Object action); 50984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public int getAccessibilityActionId(Object action); 51084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public CharSequence getAccessibilityActionLabel(Object action); 5119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action); 51270e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments); 51370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities); 51470e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info); 5159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text); 51670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info); 51770e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId); 5189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent); 5199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds); 5209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds); 5219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds); 5229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds); 5239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info); 5249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable); 5259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info); 5269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked); 5279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info); 5289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable); 5299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info); 5309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused); 53170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info); 53270e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser); 53370e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info); 53470e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused); 5359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info); 5369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected); 5379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info); 5389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable); 5399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info); 5409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable); 5419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info); 5429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled); 5439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info); 5449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password); 5459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info); 5469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable); 5479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info); 5489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName); 5499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info); 5509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className); 5519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info); 5529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text); 5539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info); 5549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription); 5559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info); 556071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info); 557071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId); 558086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion(Object info); 559086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(Object info, int mode); 560fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionInfo(Object info); 561a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionInfo(Object info, Object collectionInfo); 562fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionItemInfo(Object info); 563a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionItemInfo(Object info, Object collectionItemInfo); 564fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getRangeInfo(Object info); 5658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setRangeInfo(Object info, Object rangeInfo); 566389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<Object> getActionList(Object info); 567a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical, 568a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int selectionMode); 569a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoColumnCount(Object info); 570a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoRowCount(Object info); 571a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionInfoHierarchical(Object info); 572a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 573a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected); 574a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnIndex(Object info); 575a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnSpan(Object info); 576a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowIndex(Object info); 577a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowSpan(Object info); 578a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemHeading(Object info); 579a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemSelected(Object info); 5808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getTraversalBefore(Object info); 581acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View view); 582acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View root, int virtualDescendantId); 5838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getTraversalAfter(Object info); 584acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View view); 585acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View root, int virtualDescendantId); 586c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setContentInvalid(Object info, boolean contentInvalid); 587c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public boolean isContentInvalid(Object info); 588c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setError(Object info, CharSequence error); 589c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public CharSequence getError(Object info); 590c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setLabelFor(Object info, View labeled); 591c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setLabelFor(Object info, View root, int virtualDescendantId); 5928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getLabelFor(Object info); 5938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(Object info, View labeled); 5948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(Object info, View root, int virtualDescendantId); 5958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getLabeledBy(Object info); 5968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean canOpenPopup(Object info); 5978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setCanOpenPopup(Object info, boolean opensPopup); 5988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public List<Object> findAccessibilityNodeInfosByViewId(Object info, String viewId); 5998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Bundle getExtras(Object info); 6008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getInputType(Object info); 6018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setInputType(Object info, int inputType); 6028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMaxTextLength(Object info, int max); 6038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getMaxTextLength(Object info); 6048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTextSelection(Object info, int start, int end); 6058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionStart(Object info); 6068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionEnd(Object info); 6078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getWindow(Object info); 6088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isDismissable(Object info); 6098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setDismissable(Object info, boolean dismissable); 6108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isEditable(Object info); 6118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setEditable(Object info, boolean editable); 612cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public int getDrawingOrder(Object info); 613cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setDrawingOrder(Object info, int drawingOrderInParent); 614cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public boolean isImportantForAccessibility(Object info); 615cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setImportantForAccessibility(Object info, boolean importantForAccessibility); 6168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isMultiLine(Object info); 6178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMultiLine(Object info, boolean multiLine); 6188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean refresh(Object info); 619f0d984600125413628899bfc849bab102bc2228eSteven Dao public CharSequence getRoleDescription(Object info); 620f0d984600125413628899bfc849bab102bc2228eSteven Dao public void setRoleDescription(Object info, CharSequence roleDescription); 6219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoStubImpl implements AccessibilityNodeInfoImpl { 62470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 62584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public Object newAccessibilityAction(int actionId, CharSequence label) { 62684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return null; 62784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 62884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 62984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 6309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 6319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 6329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 63470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 6359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 6369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 6379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 63970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 64070e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 64170e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 64270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 64370e96ebf69f91da84681a6263b3862c63d53ab11alanv 64470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 6459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 6469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 6479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 64970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 6509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 6519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 65470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 65584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public void addAction(Object info, Object action) { 65684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 65784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 65884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 65984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 6608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeAction(Object info, Object action) { 6618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 6628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 6638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 6648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 66584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public int getAccessibilityActionId(Object action) { 66684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return 0; 66784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 66884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 66984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 67084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public CharSequence getAccessibilityActionLabel(Object action) { 67184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return null; 67284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 67384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 67484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 6759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 6769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 67970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 6803a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 6813a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 6823a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 6833a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 68470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 6858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(Object info, View child) { 6868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 6878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 6888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 6898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 6908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(Object info, View root, int virtualDescendantId) { 6918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 6928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 6938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 6948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 6959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 696f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganov return Collections.emptyList(); 6979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 69970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 7019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 7029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 70470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 7069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 70970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 7119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 71470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 71570e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 7169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 7179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 71970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 7219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 7229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 72470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 7269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 7279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 72970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 7319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 7329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 73470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 7369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 7379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 73970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 74070e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 7419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 7429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 74470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 7469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 7479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 74970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 7519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 7529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 75470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 7569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 7579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 75970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 7619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 7629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 76470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 7669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 7679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 76970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 7719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 7729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 77470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 7769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 7779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 77970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 7819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 7829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 78470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 78570e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 78670e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 78770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 78870e96ebf69f91da84681a6263b3862c63d53ab11alanv 78970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 79070e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 79170e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 79270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 79370e96ebf69f91da84681a6263b3862c63d53ab11alanv 79470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 7959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 7969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 7979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 79970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 8019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 8029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 80470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 8069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 8079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 80970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 8119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 8129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 81470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 8169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 8179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 81970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 82070e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 82170e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 82270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 82370e96ebf69f91da84681a6263b3862c63d53ab11alanv 82470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 82570e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 82670e96ebf69f91da84681a6263b3862c63d53ab11alanv 82770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 82870e96ebf69f91da84681a6263b3862c63d53ab11alanv 82970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 83070e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 83170e96ebf69f91da84681a6263b3862c63d53ab11alanv return 0; 83270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 83370e96ebf69f91da84681a6263b3862c63d53ab11alanv 83470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 8369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 83970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 8419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 84470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 8469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 84970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 8519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 85470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 8569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 85970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 8619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 86470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 8669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 86970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 8719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 87470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 8769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 87970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 8819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 88470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 88570e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 88670e96ebf69f91da84681a6263b3862c63d53ab11alanv 88770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 88870e96ebf69f91da84681a6263b3862c63d53ab11alanv 88970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 89070e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 89170e96ebf69f91da84681a6263b3862c63d53ab11alanv 89270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 89370e96ebf69f91da84681a6263b3862c63d53ab11alanv 89470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 8969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 89970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 9019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 90470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 9069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 90970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 9119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 91470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 9169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 91970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 9219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 92470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 9269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 92970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9303a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 9313a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 9323a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 9333a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 93470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 93570e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 93670e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 93770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 93870e96ebf69f91da84681a6263b3862c63d53ab11alanv 93970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 94070e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 94170e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 94270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 94370e96ebf69f91da84681a6263b3862c63d53ab11alanv 94470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 9469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 94970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 9519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 95370e96ebf69f91da84681a6263b3862c63d53ab11alanv 95470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 95570e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 95670e96ebf69f91da84681a6263b3862c63d53ab11alanv 95770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 9580fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 9590fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 960071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info) { 9610fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return null; 9620fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 9630fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 9640fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 965071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId) { 9660fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 9670fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 968086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 969086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 970086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion(Object info) { 971086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return ViewCompat.ACCESSIBILITY_LIVE_REGION_NONE; 972086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 973086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 974086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 975086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(Object info, int mode) { 976086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette // No-op 977086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 978fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 979fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 980fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionInfo(Object info) { 981fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 982fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 983fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 984fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 985a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionInfo(Object info, Object collectionInfo) { 986a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 987a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 988a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 989fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionItemInfo(Object info) { 990fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 991fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 992fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 993fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 994a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionItemInfo(Object info, Object collectionItemInfo) { 995a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 996a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 997a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 998fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getRangeInfo(Object info) { 999fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 1000fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 1001389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 1002389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 10038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setRangeInfo(Object info, Object rangeInfo) { 10048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 10058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 10068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 1007389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<Object> getActionList(Object info) { 1008389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen return null; 1009389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 1010389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 1011389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 1012a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical, 1013a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int selectionMode) { 1014a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return null; 1015a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1016a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1017a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1018a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoColumnCount(Object info) { 1019a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1020a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1021a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1022a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1023a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoRowCount(Object info) { 1024a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1025a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1026a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1027a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1028a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionInfoHierarchical(Object info) { 1029a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return false; 1030a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1031a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1032a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1033a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 1034a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected) { 1035a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return null; 1036a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1037a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1038a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1039a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnIndex(Object info) { 1040a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1041a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1042a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1043a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1044a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnSpan(Object info) { 1045a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1046a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1047a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1048a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1049a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowIndex(Object info) { 1050a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1051a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1052a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1053a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1054a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowSpan(Object info) { 1055a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 1056a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1057a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1058a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1059a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemHeading(Object info) { 1060a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return false; 1061a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1062a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1063a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1064a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemSelected(Object info) { 1065a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return false; 1066a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1067acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1068acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 10698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getTraversalBefore(Object info) { 1070acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov return null; 1071acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1072acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1073acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1074acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View view) { 1075acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1076acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1077acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1078acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View root, int virtualDescendantId) { 1079acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1080acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1081acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 10828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getTraversalAfter(Object info) { 1083acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov return null; 1084acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1085acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1086acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1087acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View view) { 1088acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1089acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1090acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1091acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View root, int virtualDescendantId) { 1092acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1093c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1094c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1095c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setContentInvalid(Object info, boolean contentInvalid) { 1096c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1097c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1098c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1099c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public boolean isContentInvalid(Object info) { 1100c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return false; 1101c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1102c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1103c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1104c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setError(Object info, CharSequence error) { 1105c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1106c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1107c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1108c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public CharSequence getError(Object info) { 1109c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return null; 1110c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1111c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1112c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1113c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setLabelFor(Object info, View labeled) { 1114c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1115c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1116c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1117c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setLabelFor(Object info, View root, int virtualDescendantId) { 1118c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 11198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getLabelFor(Object info) { 11228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return null; 11238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(Object info, View labeled) { 11278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(Object info, View root, int virtualDescendantId) { 11318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getLabeledBy(Object info){ 11358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return null; 11368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean canOpenPopup(Object info) { 11408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 11418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setCanOpenPopup(Object info, boolean opensPopup) { 11458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public List<Object> findAccessibilityNodeInfosByViewId(Object info, String viewId) { 11498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return Collections.emptyList(); 11508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Bundle getExtras(Object info) { 11548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return new Bundle(); 11558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getInputType(Object info) { 11598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return InputType.TYPE_NULL; 11608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setInputType(Object info, int inputType) { 11648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMaxTextLength(Object info, int max) { 11688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getMaxTextLength(Object info) { 11728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return -1; 11738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTextSelection(Object info, int start, int end) { 11778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionStart(Object info) { 11818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return -1; 11828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionEnd(Object info) { 11868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return -1; 11878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getWindow(Object info) { 11918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return null; 11928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 11958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isDismissable(Object info) { 11968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 11978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 11988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 11998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 12008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setDismissable(Object info, boolean dismissable) { 12018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 12028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 12038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 12048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isEditable(Object info) { 12058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 12068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 12078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 12088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 12098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setEditable(Object info, boolean editable) { 12108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 12118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 12128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 12138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isMultiLine(Object info) { 12148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 12158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 12168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 12178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 12188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMultiLine(Object info, boolean multiLine) { 12198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 12208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 12218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 12228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean refresh(Object info) { 12238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return false; 12248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 1225f0d984600125413628899bfc849bab102bc2228eSteven Dao 1226f0d984600125413628899bfc849bab102bc2228eSteven Dao @Override 1227f0d984600125413628899bfc849bab102bc2228eSteven Dao public CharSequence getRoleDescription(Object info) { 1228f0d984600125413628899bfc849bab102bc2228eSteven Dao return null; 1229f0d984600125413628899bfc849bab102bc2228eSteven Dao } 1230f0d984600125413628899bfc849bab102bc2228eSteven Dao 1231f0d984600125413628899bfc849bab102bc2228eSteven Dao @Override 1232f0d984600125413628899bfc849bab102bc2228eSteven Dao public void setRoleDescription(Object info, CharSequence roleDescription) { 1233f0d984600125413628899bfc849bab102bc2228eSteven Dao } 1234cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1235cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 1236cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public int getDrawingOrder(Object info) { 1237cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return 0; 1238cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 1239cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1240cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 1241cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setDrawingOrder(Object info, int drawingOrderInParent) { 1242cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 1243cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1244cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 1245cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public boolean isImportantForAccessibility(Object info) { 1246cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return true; 1247cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 1248cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1249cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 1250cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setImportantForAccessibility(Object info, boolean importantForAccessibility) { 1251cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 12529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoIcsImpl extends AccessibilityNodeInfoStubImpl { 12559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 12569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 12579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(); 12589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 12619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 12629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(source); 12639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 12669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 12679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(info); 12689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 12719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 12729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addAction(info, action); 12739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 12769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 12779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addChild(info, child); 12789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 12819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 12829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.findAccessibilityNodeInfosByText(info, text); 12839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 12869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 12879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getActions(info); 12889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 12919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 12929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInParent(info, outBounds); 12939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 12969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 12979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInScreen(info, outBounds); 12989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 130170e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 130270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getChild(info, index); 13039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 13079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getChildCount(info); 13089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 13129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getClassName(info); 13139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 13179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getContentDescription(info); 13189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 13229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getPackageName(info); 13239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 132670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 132770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getParent(info); 13289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 13329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getText(info); 13339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 13379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getWindowId(info); 13389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 13429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isCheckable(info); 13439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 13479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isChecked(info); 13489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 13529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isClickable(info); 13539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 13579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isEnabled(info); 13589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 13629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocusable(info); 13639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 13679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocused(info); 13689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 13729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isLongClickable(info); 13739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 13779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isPassword(info); 13789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 13829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isScrollable(info); 13839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 13879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isSelected(info); 13889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 13929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.performAction(info, action); 13939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 13969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 13979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInParent(info, bounds); 13989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 14029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInScreen(info, bounds); 14039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 14079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setCheckable(info, checkable); 14089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 14129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setChecked(info, checked); 14139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 14179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClassName(info, className); 14189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 14229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClickable(info, clickable); 14239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 14279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setContentDescription(info, contentDescription); 14289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 14329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setEnabled(info, enabled); 14339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 14379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocusable(info, focusable); 14389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 14429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocused(info, focused); 14439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 14479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setLongClickable(info, longClickable); 14489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 14529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPackageName(info, packageName); 14539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 14579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setParent(info, parent); 14589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 14629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPassword(info, password); 14639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 14679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setScrollable(info, scrollable); 14689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 14729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSelected(info, selected); 14739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 14779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSource(info, source); 14789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 14829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setText(info, text); 14839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 14869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 14879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.recycle(info); 14889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14913a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov static class AccessibilityNodeInfoJellybeanImpl extends AccessibilityNodeInfoIcsImpl { 14923a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 149370e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 149470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.obtain(root, virtualDescendantId); 149570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 149670e96ebf69f91da84681a6263b3862c63d53ab11alanv 149770e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 149870e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 149970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.findFocus(info, focus); 150070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 150170e96ebf69f91da84681a6263b3862c63d53ab11alanv 150270e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 150370e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 150470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.focusSearch(info, direction); 150570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 150670e96ebf69f91da84681a6263b3862c63d53ab11alanv 150770e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 15083a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 15093a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.addChild(info, child, virtualDescendantId); 15103a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 15113a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 15123a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 15133a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 15143a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.setSource(info, root, virtualDescendantId); 15153a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 151670e96ebf69f91da84681a6263b3862c63d53ab11alanv 151770e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 151870e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 151970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isVisibleToUser(info); 152070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 152170e96ebf69f91da84681a6263b3862c63d53ab11alanv 152270e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 152370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 152470e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setVisibleToUser(info, visibleToUser); 152570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 152670e96ebf69f91da84681a6263b3862c63d53ab11alanv 152770e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 152870e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 152970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isAccessibilityFocused(info); 153070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 153170e96ebf69f91da84681a6263b3862c63d53ab11alanv 153270e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 153370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 153470e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setAccesibilityFocused(info, focused); 153570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 153670e96ebf69f91da84681a6263b3862c63d53ab11alanv 153770e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 153870e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 153970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.performAction(info, action, arguments); 154070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 154170e96ebf69f91da84681a6263b3862c63d53ab11alanv 154270e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 154370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 154470e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setMovementGranularities(info, granularities); 154570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 154670e96ebf69f91da84681a6263b3862c63d53ab11alanv 154770e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 154870e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 154970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.getMovementGranularities(info); 155070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 155170e96ebf69f91da84681a6263b3862c63d53ab11alanv 155270e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 155370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 155470e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setParent(info, root, virtualDescendantId); 155570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 15563a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 15573a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 15588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov static class AccessibilityNodeInfoJellybeanMr1Impl extends AccessibilityNodeInfoJellybeanImpl { 15598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 15608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 15618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabelFor(Object info, View labeled) { 15628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr1.setLabelFor(info, labeled); 15638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 15648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 15658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 15668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabelFor(Object info, View root, int virtualDescendantId) { 15678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr1.setLabelFor(info, root, virtualDescendantId); 15688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 15698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 15708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 15718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getLabelFor(Object info) { 15728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr1.getLabelFor(info); 15738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 15748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 15758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 15768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(Object info, View labeled) { 15778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr1.setLabeledBy(info, labeled); 15788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 15798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 15808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 15818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(Object info, View root, int virtualDescendantId) { 15828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr1.setLabeledBy(info, root, virtualDescendantId); 15838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 15848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 15858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 15868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getLabeledBy(Object info) { 15878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr1.getLabeledBy(info); 15888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 15898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 15908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 15918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov static class AccessibilityNodeInfoJellybeanMr2Impl extends 15928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoJellybeanMr1Impl { 15930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 15940fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 1595071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info) { 15960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return AccessibilityNodeInfoCompatJellybeanMr2.getViewIdResourceName(info); 15970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 15980fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 15990fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 1600071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId) { 16010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav AccessibilityNodeInfoCompatJellybeanMr2.setViewIdResourceName(info, viewId); 16020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 16038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 16048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 16058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public List<Object> findAccessibilityNodeInfosByViewId(Object info, String viewId) { 16068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr2.findAccessibilityNodeInfosByViewId(info, 16078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov viewId); 16088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 16098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 16108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 16118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTextSelection(Object info, int start, int end) { 16128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr2.setTextSelection(info, start, end); 16138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 16148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 16158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 16168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionStart(Object info) { 16178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr2.getTextSelectionStart(info); 16188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 16198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 16208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 16218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionEnd(Object info) { 16228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr2.getTextSelectionEnd(info); 16238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 16248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 16258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 16268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isEditable(Object info) { 16278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr2.isEditable(info); 16288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 16298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 16308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 16318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setEditable(Object info, boolean editable) { 16328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatJellybeanMr2.setEditable(info, editable); 16338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 16348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 16358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 16368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean refresh(Object info) { 16378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatJellybeanMr2.refresh(info); 16388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 16390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 16400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 1641086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette static class AccessibilityNodeInfoKitKatImpl extends AccessibilityNodeInfoJellybeanMr2Impl { 1642086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 1643086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion(Object info) { 1644086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return AccessibilityNodeInfoCompatKitKat.getLiveRegion(info); 1645086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 1646086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 1647086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 1648086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(Object info, int mode) { 1649086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette AccessibilityNodeInfoCompatKitKat.setLiveRegion(info, mode); 1650086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 1651fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1652fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 1653fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionInfo(Object info) { 1654fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getCollectionInfo(info); 1655fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 1656fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1657fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 1658a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionInfo(Object info, Object collectionInfo) { 1659a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar AccessibilityNodeInfoCompatKitKat.setCollectionInfo(info, collectionInfo); 1660a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1661a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1662a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1663a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionInfo(int rowCount, int columnCount, 1664a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar boolean hierarchical, int selectionMode) { 1665a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.obtainCollectionInfo(rowCount, columnCount, 1666a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar hierarchical, selectionMode); 1667a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1668a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1669a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1670a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 1671a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected) { 1672a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat 1673a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar .obtainCollectionItemInfo(rowIndex, rowSpan, columnIndex, columnSpan, heading); 1674a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1675a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1676a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1677a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoColumnCount(Object info) { 1678a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionInfo.getColumnCount(info); 1679a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1680a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1681a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1682a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoRowCount(Object info) { 1683a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionInfo.getRowCount(info); 1684a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1685a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1686a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1687a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionInfoHierarchical(Object info) { 1688a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionInfo.isHierarchical(info); 1689a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1690a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1691a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1692fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionItemInfo(Object info) { 1693fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getCollectionItemInfo(info); 1694fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 1695fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1696fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 1697fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getRangeInfo(Object info) { 1698fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getRangeInfo(info); 1699fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 1700a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1701a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 17028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setRangeInfo(Object info, Object rangeInfo) { 17038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatKitKat.setRangeInfo(info, rangeInfo); 17048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 17058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 17068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 1707a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnIndex(Object info) { 1708a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getColumnIndex(info); 1709a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1710a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1711a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1712a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnSpan(Object info) { 1713a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getColumnSpan(info); 1714a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1715a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1716a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1717a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowIndex(Object info) { 1718a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getRowIndex(info); 1719a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1720a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1721a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1722a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowSpan(Object info) { 1723a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getRowSpan(info); 1724a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1725a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1726a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1727a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemHeading(Object info) { 1728a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.isHeading(info); 1729a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1730a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1731a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1732a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionItemInfo(Object info, Object collectionItemInfo) { 1733a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar AccessibilityNodeInfoCompatKitKat.setCollectionItemInfo(info, collectionItemInfo); 1734a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1735c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1736c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1737c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setContentInvalid(Object info, boolean contentInvalid) { 1738c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes AccessibilityNodeInfoCompatKitKat.setContentInvalid(info, contentInvalid); 1739c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1740c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1741c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1742c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public boolean isContentInvalid(Object info) { 1743c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return AccessibilityNodeInfoCompatKitKat.isContentInvalid(info); 1744c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 17458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 17468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 17478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean canOpenPopup(Object info) { 17488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatKitKat.canOpenPopup(info); 17498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 17508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 17518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 17528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setCanOpenPopup(Object info, boolean opensPopup) { 17538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatKitKat.setCanOpenPopup(info, opensPopup); 17548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 17558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 17568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 17578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Bundle getExtras(Object info) { 17588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatKitKat.getExtras(info); 17598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 17608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 17618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 17628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getInputType(Object info) { 17638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatKitKat.getInputType(info); 17648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 17658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 17668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 17678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setInputType(Object info, int inputType) { 17688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatKitKat.setInputType(info, inputType); 17698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 17708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 17718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 17728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isDismissable(Object info) { 17738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatKitKat.isDismissable(info); 17748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 17758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 17768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 17778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setDismissable(Object info, boolean dismissable) { 17788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatKitKat.setDismissable(info, dismissable); 17798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 17808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 17818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 17828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isMultiLine(Object info) { 17838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatKitKat.isMultiLine(info); 17848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 17858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 17868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 17878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMultiLine(Object info, boolean multiLine) { 17888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatKitKat.setMultiLine(info, multiLine); 17898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 1790f0d984600125413628899bfc849bab102bc2228eSteven Dao 1791f0d984600125413628899bfc849bab102bc2228eSteven Dao @Override 1792f0d984600125413628899bfc849bab102bc2228eSteven Dao public CharSequence getRoleDescription(Object info) { 1793f0d984600125413628899bfc849bab102bc2228eSteven Dao return AccessibilityNodeInfoCompatKitKat.getRoleDescription(info); 1794f0d984600125413628899bfc849bab102bc2228eSteven Dao } 1795f0d984600125413628899bfc849bab102bc2228eSteven Dao 1796f0d984600125413628899bfc849bab102bc2228eSteven Dao @Override 1797f0d984600125413628899bfc849bab102bc2228eSteven Dao public void setRoleDescription(Object info, CharSequence roleDescription) { 1798f0d984600125413628899bfc849bab102bc2228eSteven Dao AccessibilityNodeInfoCompatKitKat.setRoleDescription(info, roleDescription); 1799f0d984600125413628899bfc849bab102bc2228eSteven Dao } 1800086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 1801086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 1802389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen static class AccessibilityNodeInfoApi21Impl extends AccessibilityNodeInfoKitKatImpl { 1803389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 180484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public Object newAccessibilityAction(int actionId, CharSequence label) { 180584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return AccessibilityNodeInfoCompatApi21.newAccessibilityAction(actionId, label); 180684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 180784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 180884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 1809389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<Object> getActionList(Object info) { 1810389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen return AccessibilityNodeInfoCompatApi21.getActionList(info); 1811389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 1812389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 1813389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 1814a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical, 1815a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int selectionMode) { 1816a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatApi21.obtainCollectionInfo(rowCount, columnCount, 1817a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar hierarchical, selectionMode); 1818a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1819a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1820a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 182184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public void addAction(Object info, Object action) { 182284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav AccessibilityNodeInfoCompatApi21.addAction(info, action); 182384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 182484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 182584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 18268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeAction(Object info, Object action) { 18278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi21.removeAction(info, action); 18288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 18298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 18308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 183184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public int getAccessibilityActionId(Object action) { 183284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return AccessibilityNodeInfoCompatApi21.getAccessibilityActionId(action); 183384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 183484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 183584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 183684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public CharSequence getAccessibilityActionLabel(Object action) { 183784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return AccessibilityNodeInfoCompatApi21.getAccessibilityActionLabel(action); 1838389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 1839a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1840a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1841a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 1842a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected) { 1843a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatApi21.obtainCollectionItemInfo(rowIndex, rowSpan, 1844a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar columnIndex, columnSpan, heading, selected); 1845a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1846a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1847a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1848a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemSelected(Object info) { 1849a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatApi21.CollectionItemInfo.isSelected(info); 1850a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1851c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1852c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1853c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public CharSequence getError(Object info) { 1854c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return AccessibilityNodeInfoCompatApi21.getError(info); 1855c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1856c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1857c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 1858c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setError(Object info, CharSequence error) { 1859c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes AccessibilityNodeInfoCompatApi21.setError(info, error); 1860c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1861c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1862c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 18638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMaxTextLength(Object info, int max) { 18648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov AccessibilityNodeInfoCompatApi21.setMaxTextLength(info, max); 1865c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1866c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 1867c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes @Override 18688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getMaxTextLength(Object info) { 18698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi21.getMaxTextLength(info); 18708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 18718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 18728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 18738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getWindow(Object info) { 18748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi21.getWindow(info); 18758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 18768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 18778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 18788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(Object info, View child) { 18798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi21.removeChild(info, child); 18808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 18818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 18828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov @Override 18838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(Object info, View root, int virtualDescendantId) { 18848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi21.removeChild(info, root, virtualDescendantId); 1885c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 1886389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 1887389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 1888acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov static class AccessibilityNodeInfoApi22Impl extends AccessibilityNodeInfoApi21Impl { 1889acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 18908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getTraversalBefore(Object info) { 18918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi22.getTraversalBefore(info); 1892acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1893acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1894acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1895acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View view) { 1896acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalBefore(info, view); 1897acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1898acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1899acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1900acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View root, int virtualDescendantId) { 1901acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalBefore(info, root, virtualDescendantId); 1902acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1903acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1904acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 19058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Object getTraversalAfter(Object info) { 19068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompatApi22.getTraversalAfter(info); 1907acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1908acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1909acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1910acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View view) { 1911acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalAfter(info, view); 1912acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1913acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1914acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1915acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View root, int virtualDescendantId) { 1916acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalAfter(info, root, virtualDescendantId); 1917acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1918acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1919acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1920cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver static class AccessibilityNodeInfoApi24Impl extends AccessibilityNodeInfoApi22Impl { 1921cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 1922cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public int getDrawingOrder(Object info) { 1923cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return AccessibilityNodeInfoCompatApi24.getDrawingOrder(info); 1924cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 1925cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1926cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 1927cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setDrawingOrder(Object info, int drawingOrderInParent) { 1928cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver AccessibilityNodeInfoCompatApi24.setDrawingOrder(info, drawingOrderInParent); 1929cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 1930cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1931cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 1932cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public boolean isImportantForAccessibility(Object info) { 1933cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return AccessibilityNodeInfoCompatApi24.isImportantForAccessibility(info); 1934cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 1935cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1936cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver @Override 1937cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setImportantForAccessibility(Object info, boolean importantForAccessibility) { 1938cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver AccessibilityNodeInfoCompatApi24.setImportantForAccessibility( 1939cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver info, importantForAccessibility); 1940cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 1941cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 1942cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 1943cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 19449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static { 1945cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver if (Build.VERSION.SDK_INT >= 24) { 1946cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver IMPL = new AccessibilityNodeInfoApi24Impl(); 1947cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } else if (Build.VERSION.SDK_INT >= 22) { 1948acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov IMPL = new AccessibilityNodeInfoApi22Impl(); 1949acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } else if (Build.VERSION.SDK_INT >= 21) { 1950389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen IMPL = new AccessibilityNodeInfoApi21Impl(); 1951389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } else if (Build.VERSION.SDK_INT >= 19) { // KitKat 1952086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette IMPL = new AccessibilityNodeInfoKitKatImpl(); 1953086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } else if (Build.VERSION.SDK_INT >= 18) { // JellyBean MR2 19540fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav IMPL = new AccessibilityNodeInfoJellybeanMr2Impl(); 19558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } else if (Build.VERSION.SDK_INT >= 17) { // JellyBean MR1 19568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL = new AccessibilityNodeInfoJellybeanMr1Impl(); 19570fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } else if (Build.VERSION.SDK_INT >= 16) { // JellyBean 19583a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL = new AccessibilityNodeInfoJellybeanImpl(); 19593a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } else if (Build.VERSION.SDK_INT >= 14) { // ICS 19609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoIcsImpl(); 19619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else { 19629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoStubImpl(); 19639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private static final AccessibilityNodeInfoImpl IMPL; 19679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private final Object mInfo; 19699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19700fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in IceCreamSandwich 19719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that focuses the node. 19749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_FOCUS = 0x00000001; 19769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unfocuses the node. 19799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_FOCUS = 0x00000002; 19819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that selects the node. 19849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_SELECT = 0x00000004; 19869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unselects the node. 19899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_SELECTION = 0x00000008; 19919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1992c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov /** 199370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clicks on the node info. 199470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 199570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLICK = 0x00000010; 199670e96ebf69f91da84681a6263b3862c63d53ab11alanv 199770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 199870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that long clicks on the node. 199970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 200070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_LONG_CLICK = 0x00000020; 200170e96ebf69f91da84681a6263b3862c63d53ab11alanv 20020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in JellyBean 20030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 200470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 200570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that gives accessibility focus to the node. 200670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 200770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_ACCESSIBILITY_FOCUS = 0x00000040; 200870e96ebf69f91da84681a6263b3862c63d53ab11alanv 200970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 201070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clears accessibility focus of the node. 201170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 201270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080; 201370e96ebf69f91da84681a6263b3862c63d53ab11alanv 201470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 201570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the next entity in this node's text 201670e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 201770e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 201870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 20190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<, 20200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 20210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> Move to the previous character and do not extend selection. 202270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 202370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 202470e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 202570e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 20260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, 20270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * false); 202870e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments); 202970e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 203070e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 203170e96ebf69f91da84681a6263b3862c63d53ab11alanv * 20320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 20330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 20340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 203570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 203670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 203770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 203870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 203970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 204070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 204170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 204270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 204370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 204470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 0x00000100; 204570e96ebf69f91da84681a6263b3862c63d53ab11alanv 204670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 204770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the previous entity in this node's text 204870e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 204970e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 205070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 20510fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<, 20520fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 20530fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> Move to the next character and do not extend selection. 205470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 205570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 205670e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 205770e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 20580fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, 20590fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * false); 206070e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, 206170e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments); 206270e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 206370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 206470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 20650fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 20660fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 20670fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 206870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 206970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 207070e96ebf69f91da84681a6263b3862c63d53ab11alanv * 207170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 207270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 207370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 207470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 207570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 207670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 207770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 0x00000200; 207870e96ebf69f91da84681a6263b3862c63d53ab11alanv 207970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 208070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the next HTML element of a given type. For example, move 208170e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 208270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 208370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 208470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 208570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 208670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 208770e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 208870e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT, arguments); 208970e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 209070e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 209170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 209270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_HTML_ELEMENT = 0x00000400; 209370e96ebf69f91da84681a6263b3862c63d53ab11alanv 209470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 209570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the previous HTML element of a given type. For example, move 209670e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 209770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 209870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 209970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 210070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 210170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 210270e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 210370e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT, arguments); 210470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 210570e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 210670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 210770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_HTML_ELEMENT = 0x00000800; 210870e96ebf69f91da84681a6263b3862c63d53ab11alanv 210970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 211070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content forward. 211170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 211270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_FORWARD = 0x00001000; 211370e96ebf69f91da84681a6263b3862c63d53ab11alanv 211470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 211570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content backward. 211670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 211770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_BACKWARD = 0x00002000; 211870e96ebf69f91da84681a6263b3862c63d53ab11alanv 21190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in JellyBeanMr2 21200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 21210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 21220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to copy the current selection to the clipboard. 21230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 21240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_COPY = 0x00004000; 21250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 21260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 21270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to paste the current clipboard content. 21280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 21290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_PASTE = 0x00008000; 21300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 21310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 21320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to cut the current selection and place it to the clipboard. 21330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 21340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_CUT = 0x00010000; 21350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 21360fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 21370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to set the selection. Performing this action with no arguments 21380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * clears the selection. 21390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 21400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_SELECTION_START_INT}, 21410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_SELECTION_END_INT}<br> 21420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> 21430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <code><pre><p> 21440fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Bundle arguments = new Bundle(); 21450fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 1); 21460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 2); 21470fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * info.performAction(AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments); 21480fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </code></pre></p> 21490fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 21500fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 21510fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_SELECTION_START_INT 21520fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_SELECTION_END_INT 21530fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 21540fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_SET_SELECTION = 0x00020000; 21550fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 21568d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu /** 215787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to expand an expandable node. 215887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 215987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final int ACTION_EXPAND = 0x00040000; 216087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 216187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 216287ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to collapse an expandable node. 216387ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 216487ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final int ACTION_COLLAPSE = 0x00080000; 216587ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 216687ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 216787ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette * Action to dismiss a dismissable node. 216887ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette */ 216987ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette public static final int ACTION_DISMISS = 0x00100000; 217087ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette 217187ffd04b400433d9cda4556544d9c832b9a69685Alan Viverette /** 21728d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Action that sets the text of the node. Performing the action without argument, using <code> 21738d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * null</code> or empty {@link CharSequence} will clear the text. This action will also put the 21748d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * cursor at the end of text. 21758d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <p> 21768d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE}<br> 21778d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Example:</strong> 21788d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <code><pre><p> 21798d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Bundle arguments = new Bundle(); 21808d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * arguments.putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, 21818d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * "android"); 21828d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * info.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments); 21838d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * </code></pre></p> 21848d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu */ 21858d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu public static final int ACTION_SET_TEXT = 0x00200000; 21868d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu 21870fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Action arguments 21880fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 218970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 219070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which movement granularity to be used when traversing the node text. 219170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 219270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> int<br> 219370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 219470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 219570e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 219670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 219770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = 219870e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT"; 219970e96ebf69f91da84681a6263b3862c63d53ab11alanv 220070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 220170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which HTML element to get moving to the next/previous HTML element. 220270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 220370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> String<br> 220470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_HTML_ELEMENT}, 220570e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_HTML_ELEMENT} 220670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 220770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 220870e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = 220970e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_HTML_ELEMENT_STRING"; 221070e96ebf69f91da84681a6263b3862c63d53ab11alanv 221170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 22120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for whether when moving at granularity to extend the selection 22130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * or to move it otherwise. 22140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 22150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> boolean<br> 22160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 22170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 22180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 22190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 22200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_NEXT_AT_MOVEMENT_GRANULARITY 22210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY 22220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 22230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN = 22240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN"; 22250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 22270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for specifying the selection start. 22280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 22290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> int<br> 22300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_SET_SELECTION} 22310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 22320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 22330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_SET_SELECTION 22340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 22350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_SELECTION_START_INT = 22360fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_SELECTION_START_INT"; 22370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 22390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for specifying the selection end. 22400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 22410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> int<br> 22420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_SET_SELECTION} 22430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 22440fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 22450fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_SET_SELECTION 22460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 22470fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_SELECTION_END_INT = 22480fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_SELECTION_END_INT"; 22490fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22508d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu /** 22518d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Argument for specifying the text content to set 22528d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <p> 22538d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Type:</strong> CharSequence<br> 22548d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Actions:</strong> {@link #ACTION_SET_TEXT} 22558d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * </p> 22568d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * 22578d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * @see #ACTION_SET_TEXT 22588d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu */ 22598d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu public static final String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE = 22608d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE"; 22618d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu 22620fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Focus types 22630fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22640fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 226570e96ebf69f91da84681a6263b3862c63d53ab11alanv * The input focus. 226670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 226770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_INPUT = 1; 226870e96ebf69f91da84681a6263b3862c63d53ab11alanv 226970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 227070e96ebf69f91da84681a6263b3862c63d53ab11alanv * The accessibility focus. 227170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 227270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_ACCESSIBILITY = 2; 227370e96ebf69f91da84681a6263b3862c63d53ab11alanv 227470e96ebf69f91da84681a6263b3862c63d53ab11alanv // Movement granularities 227570e96ebf69f91da84681a6263b3862c63d53ab11alanv 227670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 227770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by character. 227870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 227970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_CHARACTER = 0x00000001; 228070e96ebf69f91da84681a6263b3862c63d53ab11alanv 228170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 228270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by word. 228370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 228470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_WORD = 0x00000002; 228570e96ebf69f91da84681a6263b3862c63d53ab11alanv 228670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 228770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by line. 228870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 228970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_LINE = 0x00000004; 229070e96ebf69f91da84681a6263b3862c63d53ab11alanv 229170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 229270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by paragraph. 229370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 229470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 0x00000008; 229570e96ebf69f91da84681a6263b3862c63d53ab11alanv 229670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 229770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by page. 229870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 229970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PAGE = 0x00000010; 230070e96ebf69f91da84681a6263b3862c63d53ab11alanv 230170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 2302c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * Creates a wrapper for info implementation. 2303c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * 2304c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @param object The info to wrap. 2305c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @return A wrapper for if the object is not null, null otherwise. 2306c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov */ 2307c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov static AccessibilityNodeInfoCompat wrapNonNullInstance(Object object) { 2308c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov if (object != null) { 2309c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return new AccessibilityNodeInfoCompat(object); 2310c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 2311c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return null; 2312c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 2313c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov 2314956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov /** 2315956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * Creates a new instance wrapping an 2316956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * {@link android.view.accessibility.AccessibilityNodeInfo}. 2317956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * 2318956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @param info The info. 23199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat(Object info) { 23219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov mInfo = info; 23229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 2325956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @return The wrapped {@link android.view.accessibility.AccessibilityNodeInfo}. 23269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 2327956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov public Object getInfo() { 23289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return mInfo; 23299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one and 23339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * sets the source. 23349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 23369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see #setSource(View) 23379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(View source) { 233970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(source)); 234070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 234170e96ebf69f91da84681a6263b3862c63d53ab11alanv 234270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 234370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Returns a cached instance if such is available otherwise a new one 234470e96ebf69f91da84681a6263b3862c63d53ab11alanv * and sets the source. 234570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 234670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 234770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 234870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return An instance. 234970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 235070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setSource(View, int) 235170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 235270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static AccessibilityNodeInfoCompat obtain(View root, int virtualDescendantId) { 235370e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance( 235470e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.obtain(root, virtualDescendantId)); 23559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one. 23599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 23619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain() { 236370e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain()); 23649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available or a new one is create. 23689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * The returned instance is initialized from the given <code>info</code>. 23699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param info The other info. 23719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 23729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(AccessibilityNodeInfoCompat info) { 237470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(info.mInfo)); 23759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the source. 23799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param source The info source. 23819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(View source) { 23839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSource(mInfo, source); 23849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23873a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Sets the source to be a virtual descendant of the given <code>root</code>. 23883a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 23893a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is set as the source. 23903a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 23913a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 23923a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 23933a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report themselves as a tree of virtual views, thus conveying their 23943a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 23953a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 23963a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 23973a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 23983a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. 23993a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * This class is made immutable before being delivered to an AccessibilityService. 24003a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 24013a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 24023a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 24033a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual descendant. 24043a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 24053a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(View root, int virtualDescendantId) { 24063a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setSource(mInfo, root, virtualDescendantId); 24073a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 24083a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 24093a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 241070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Find the view that has the specified focus type. The search starts from 241170e96ebf69f91da84681a6263b3862c63d53ab11alanv * the view represented by this node info. 241270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 241370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focus The focus to find. One of {@link #FOCUS_INPUT} or 241470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #FOCUS_ACCESSIBILITY}. 241570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info of the focused view or null. 241670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 241770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_INPUT 241870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_ACCESSIBILITY 241970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 242070e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat findFocus(int focus) { 242170e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.findFocus(mInfo, focus)); 242270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 242370e96ebf69f91da84681a6263b3862c63d53ab11alanv 242470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 242570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Searches for the nearest view in the specified direction that can take 242676ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * input focus. 242770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 242870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param direction The direction. Can be one of: 242970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_DOWN}, 243070e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_UP}, 243170e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_LEFT}, 243270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_RIGHT}, 243370e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_FORWARD}, 243476ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * {@link View#FOCUS_BACKWARD}. 243570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 243670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info for the view that can take accessibility focus. 243770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 243870e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat focusSearch(int direction) { 243970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.focusSearch(mInfo, direction)); 244070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 244170e96ebf69f91da84681a6263b3862c63d53ab11alanv 244270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 24439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the id of the window from which the info comes from. 24449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 24459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The window id. 24469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 24479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId() { 24489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getWindowId(mInfo); 24499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 24509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 24519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 24529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the number of children. 24539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 24549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child count. 24559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 24569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount() { 24579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getChildCount(mInfo); 24589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 24599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 24609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 24619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Get the child at given index. 24629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 24639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 24649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} to 24659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * avoid creating of multiple instances. 24669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 24679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 24689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param index The child index. 24699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child node. 24709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 24719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 24729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 24739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getChild(int index) { 247470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getChild(mInfo, index)); 24759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 24769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 24779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 24789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds a child. 24799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 24809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 24819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 24829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 24839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 24849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 24859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param child The child. 24869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 24879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 24889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(View child) { 24899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addChild(mInfo, child); 24909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 24919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 24929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 24933a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Adds a virtual child which is a descendant of the given <code>root</code>. 24943a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 24953a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is added as a child. 24963a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 24973a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 24983a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 24993a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report them selves as a tree of virtual views, thus conveying their 25003a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 25013a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 25023a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 25033a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 25043a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual child. 25053a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 25063a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(View root, int virtualDescendantId) { 25073a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.addChild(mInfo, root, virtualDescendantId); 25083a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 25093a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 25103a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 25118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Removes a child. If the child was not previously added to the node, 25128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * calling this method has no effect. 25138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 25148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 25158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 25168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 25178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 25188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 25198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param child The child. 25208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return true if the child was present 25218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 25228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 25238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 25248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(View child) { 25258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.removeChild(mInfo, child); 25268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 25278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 25288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 25298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Removes a virtual child which is a descendant of the given 25308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <code>root</code>. If the child was not previously added to the node, 25318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * calling this method has no effect. 25328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 25338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param root The root of the virtual subtree. 25348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param virtualDescendantId The id of the virtual child. 25358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return true if the child was present 25368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #addChild(View, int) 25378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 25388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeChild(View root, int virtualDescendantId) { 25398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.removeChild(mInfo, root, virtualDescendantId); 25408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 25418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 25428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 25439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the actions that can be performed on the node. 25449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 25459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The bit mask of with actions. 25469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_FOCUS 25479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_FOCUS 25489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_SELECT 25499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_SELECTION 25509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 25519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions() { 25529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getActions(mInfo); 25539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 25549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 25559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 25569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds an action that can be performed on the node. 25579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 25589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 25599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 25609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 25619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 25629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 25639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action. 25649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 25659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 25669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(int action) { 25679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addAction(mInfo, action); 25689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 25699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 25709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 257184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * Adds an action that can be performed on the node. 257284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * <p> 257384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * <strong>Note:</strong> Cannot be called from an 257484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * {@link android.accessibilityservice.AccessibilityService}. This class is 257584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * made immutable before being delivered to an AccessibilityService. 257684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * </p> 257784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * 257884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @param action The action. 257984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @throws IllegalStateException If called from an AccessibilityService. 258084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav */ 258184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public void addAction(AccessibilityActionCompat action) { 258284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav IMPL.addAction(mInfo, action.mAction); 258384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 258484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 258584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav /** 25868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Removes an action that can be performed on the node. If the action was 25878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * not already added to the node, calling this method has no effect. 25888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 25898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 25908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 25918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 25928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 25938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 25948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param action The action to be removed. 25958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The action removed from the list of actions. 25968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 25978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 25988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 25998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean removeAction(AccessibilityActionCompat action) { 26008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.removeAction(mInfo, action.mAction); 26018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 26028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 26038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 26049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Performs an action on the node. 26059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 26069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> An action can be performed only if the request is 26079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made from an {@link android.accessibilityservice.AccessibilityService}. 26089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 26099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 26109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action to perform. 26119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the action was performed. 26129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 26139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 26149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 26159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(int action) { 26169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.performAction(mInfo, action); 26179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 26189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 26199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 262070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Performs an action on the node. 262170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 262270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> An action can be performed only if the request is made 262370e96ebf69f91da84681a6263b3862c63d53ab11alanv * from an {@link android.accessibilityservice.AccessibilityService}. 262470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 262570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 262670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param action The action to perform. 262770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param arguments A bundle with additional arguments. 262870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the action was performed. 262970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 263070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called outside of an AccessibilityService. 263170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 263270e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(int action, Bundle arguments) { 263370e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.performAction(mInfo, action, arguments); 263470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 263570e96ebf69f91da84681a6263b3862c63d53ab11alanv 263670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 263770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the movement granularities for traversing the text of this node. 263870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 263970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 264070e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 264170e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 264270e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 264370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 264470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param granularities The bit mask with granularities. 264570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 264670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 264770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 264870e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(int granularities) { 264970e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setMovementGranularities(mInfo, granularities); 265070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 265170e96ebf69f91da84681a6263b3862c63d53ab11alanv 265270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 265370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets the movement granularities for traversing the text of this node. 265470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 265570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The bit mask with granularities. 265670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 265770e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities() { 265870e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.getMovementGranularities(mInfo); 265970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 266070e96ebf69f91da84681a6263b3862c63d53ab11alanv 266170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 26629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Finds {@link android.view.accessibility.AccessibilityNodeInfo}s by text. The match 26639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * is case insensitive containment. The search is relative to this info i.e. this 26649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * info is the root of the traversed tree. 26659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 26669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 26679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 26689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 26699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 26709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 26719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The searched text. 26729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return A list of node info. 26739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 26749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<AccessibilityNodeInfoCompat> findAccessibilityNodeInfosByText(String text) { 26759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<AccessibilityNodeInfoCompat> result = new ArrayList<AccessibilityNodeInfoCompat>(); 26769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<Object> infos = IMPL.findAccessibilityNodeInfosByText(mInfo, text); 26779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov final int infoCount = infos.size(); 26789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov for (int i = 0; i < infoCount; i++) { 26799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov Object info = infos.get(i); 26809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov result.add(new AccessibilityNodeInfoCompat(info)); 26819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 26829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return result; 26839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 26849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 26859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 26869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the parent. 26879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 26889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 26899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 26909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 26919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 26929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 26939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The parent. 26949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 26959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getParent() { 269670e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getParent(mInfo)); 26979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 26989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 26999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 27009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the parent. 27019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 27029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 27039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 27049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 27059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 27069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 27079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param parent The parent. 27089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 27099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 27109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(View parent) { 27119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setParent(mInfo, parent); 27129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 27139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 271570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the parent to be a virtual descendant of the given <code>root</code>. 271670e96ebf69f91da84681a6263b3862c63d53ab11alanv * If <code>virtualDescendantId</code> equals to {@link View#NO_ID} the root 271770e96ebf69f91da84681a6263b3862c63d53ab11alanv * is set as the parent. 271870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 271970e96ebf69f91da84681a6263b3862c63d53ab11alanv * A virtual descendant is an imaginary View that is reported as a part of the view 272070e96ebf69f91da84681a6263b3862c63d53ab11alanv * hierarchy for accessibility purposes. This enables custom views that draw complex 272170e96ebf69f91da84681a6263b3862c63d53ab11alanv * content to report them selves as a tree of virtual views, thus conveying their 272270e96ebf69f91da84681a6263b3862c63d53ab11alanv * logical structure. 272370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 272470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 272570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 272670e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 272770e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 272870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 272970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 273070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 273170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 273270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 273370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(View root, int virtualDescendantId) { 273470e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setParent(mInfo, root, virtualDescendantId); 273570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 273670e96ebf69f91da84681a6263b3862c63d53ab11alanv 273770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 27389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in parent coordinates. 27399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 27409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 27419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 27429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Rect outBounds) { 27439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInParent(mInfo, outBounds); 27449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 27459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 27479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in parent coordinates. 27489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 27499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 27509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 27519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 27529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 27539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 27549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 27559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *@throws IllegalStateException If called from an AccessibilityService. 27569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 27579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Rect bounds) { 27589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setBoundsInParent(mInfo, bounds); 27599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 27609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 27629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in screen coordinates. 27639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 27649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 27659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 27669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Rect outBounds) { 27679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInScreen(mInfo, outBounds); 27689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 27699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 27719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in screen coordinates. 27729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 27739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 27749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 27759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 27769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 27779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 27789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 27799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 27809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 27819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Rect bounds) { 27823a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setBoundsInScreen(mInfo, bounds); 27839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 27849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 27869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checkable. 27879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 27889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checkable. 27899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 27909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable() { 27919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isCheckable(mInfo); 27929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 27939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 27959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checkable. 27969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 27979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 27989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 27999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 28009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 28019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checkable True if the node is checkable. 28039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 28049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(boolean checkable) { 28069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setCheckable(mInfo, checkable); 28079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 28109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checked. 28119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checked. 28139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked() { 28159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isChecked(mInfo); 28169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 28199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checked. 28209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 28219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 28229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 28239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 28249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 28259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checked True if the node is checked. 28279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 28289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(boolean checked) { 28309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setChecked(mInfo, checked); 28319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 28349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focusable. 28359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focusable. 28379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable() { 28399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocusable(mInfo); 28409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 28439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focusable. 28449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 28459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 28469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 28479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 28489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 28499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focusable True if the node is focusable. 28519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 28529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(boolean focusable) { 28549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocusable(mInfo, focusable); 28559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 28589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focused. 28599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focused. 28619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused() { 28639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocused(mInfo); 28649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 28679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focused. 28689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 28699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 28709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 28719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 28729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 28739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 28749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focused True if the node is focused. 28759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 28769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 28779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(boolean focused) { 28789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocused(mInfo, focused); 28799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 28809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 288270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 288370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 288470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return Whether the node is visible to the user. 288570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 288670e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser() { 288770e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isVisibleToUser(mInfo); 288870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 288970e96ebf69f91da84681a6263b3862c63d53ab11alanv 289070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 289170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 289270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 289370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 289470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 289570e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 289670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 289770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 289870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param visibleToUser Whether the node is visible to the user. 289970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 290070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 290170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 290270e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(boolean visibleToUser) { 290370e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setVisibleToUser(mInfo, visibleToUser); 290470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 290570e96ebf69f91da84681a6263b3862c63d53ab11alanv 290670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 290770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets whether this node is accessibility focused. 290870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 290970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the node is accessibility focused. 291070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 291170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused() { 291270e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isAccessibilityFocused(mInfo); 291370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 291470e96ebf69f91da84681a6263b3862c63d53ab11alanv 291570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 291670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is accessibility focused. 291770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 291870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 291970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 292070e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 292170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 292270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 292370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focused True if the node is accessibility focused. 292470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 292570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 292670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 292770e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(boolean focused) { 292870e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setAccessibilityFocused(mInfo, focused); 292970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 293070e96ebf69f91da84681a6263b3862c63d53ab11alanv 293170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 29329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is selected. 29339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 29349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is selected. 29359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 29369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected() { 29379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isSelected(mInfo); 29389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 29399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 29419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is selected. 29429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 29439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 29449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 29459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 29469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 29479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 29489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param selected True if the node is selected. 29499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 29509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 29519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(boolean selected) { 29529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSelected(mInfo, selected); 29539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 29549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 29569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is clickable. 29579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 29589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is clickable. 29599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 29609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable() { 29619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isClickable(mInfo); 29629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 29639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 29659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is clickable. 29669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 29679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 29689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 29699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 29709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 29719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 29729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param clickable True if the node is clickable. 29739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 29749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 29759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(boolean clickable) { 29769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClickable(mInfo, clickable); 29779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 29789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 29809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is long clickable. 29819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 29829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is long clickable. 29839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 29849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable() { 29859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isLongClickable(mInfo); 29869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 29879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 29899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is long clickable. 29909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 29919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 29929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 29939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 29949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 29959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 29969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param longClickable True if the node is long clickable. 29979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 29989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 29999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(boolean longClickable) { 30009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setLongClickable(mInfo, longClickable); 30019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 30029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 30049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is enabled. 30059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 30069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is enabled. 30079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 30089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled() { 30099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isEnabled(mInfo); 30109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 30119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 30139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is enabled. 30149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 30159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 30169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 30179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 30189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 30199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 30209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param enabled True if the node is enabled. 30219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 30229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 30239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(boolean enabled) { 30249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setEnabled(mInfo, enabled); 30259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 30269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 30289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is a password. 30299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 30309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is a password. 30319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 30329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword() { 30339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isPassword(mInfo); 30349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 30359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 30379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is a password. 30389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 30399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 30409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 30419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 30429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 30439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 30449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param password True if the node is a password. 30459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 30469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 30479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(boolean password) { 30489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPassword(mInfo, password); 30499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 30509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 30529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets if the node is scrollable. 30539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 30549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is scrollable, false otherwise. 30559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 30569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable() { 30579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isScrollable(mInfo); 30589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 30599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 30619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets if the node is scrollable. 30629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 30639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 30649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 30659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 30669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 30679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 30689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param scrollable True if the node is scrollable, false otherwise. 30699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 30709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 30719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(boolean scrollable) { 30729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setScrollable(mInfo, scrollable); 30739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 30749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 3076cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * Returns whether the node originates from a view considered important for accessibility. 3077cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * 3078cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @return {@code true} if the node originates from a view considered important for 3079cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * accessibility, {@code false} otherwise 3080cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * 3081cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @see View#isImportantForAccessibility() 3082cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver */ 3083cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public boolean isImportantForAccessibility() { 3084cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return IMPL.isImportantForAccessibility(mInfo); 3085cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 3086cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 3087cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver /** 3088cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * Sets whether the node is considered important for accessibility. 3089cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <p> 3090cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <strong>Note:</strong> Cannot be called from an 3091cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * {@link android.accessibilityservice.AccessibilityService}. 3092cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * This class is made immutable before being delivered to an AccessibilityService. 3093cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * </p> 3094cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * 3095cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @param important {@code true} if the node is considered important for accessibility, 3096cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * {@code false} otherwise 3097cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver */ 3098cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setImportantForAccessibility(boolean important) { 3099cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver IMPL.setImportantForAccessibility(mInfo, important); 3100cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 3101cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 3102cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver /** 31039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the package this node comes from. 31049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The package name. 31069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName() { 31089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getPackageName(mInfo); 31099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 31129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the package this node comes from. 31139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 31149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 31159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 31169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 31179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 31189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param packageName The package name. 31209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 31219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(CharSequence packageName) { 31239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPackageName(mInfo, packageName); 31249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 31279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the class this node comes from. 31289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The class name. 31309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName() { 31329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getClassName(mInfo); 31339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 31369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the class this node comes from. 31379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 31389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 31399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 31409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 31419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 31429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param className The class name. 31449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 31459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(CharSequence className) { 31479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClassName(mInfo, className); 31489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 31519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the text of this node. 31529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The text. 31549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText() { 31569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getText(mInfo); 31579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 31609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the text of this node. 31619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 31629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 31639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 31649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 31659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 31669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The text. 31689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 31699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(CharSequence text) { 31719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setText(mInfo, text); 31729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 31759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the content description of this node. 31769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The content description. 31789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription() { 31809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getContentDescription(mInfo); 31819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 31849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the content description of this node. 31859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 31869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 31879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 31889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 31899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 31909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 31919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param contentDescription The content description. 31929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 31939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 31949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(CharSequence contentDescription) { 31959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setContentDescription(mInfo, contentDescription); 31969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 31979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 31999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Return an instance back to be reused. 32009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 32019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> You must not touch the object after calling this function. 32029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 32039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If the info is already recycled. 32049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 32059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle() { 32069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.recycle(mInfo); 32079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 32089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 32100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Sets the fully qualified resource name of the source view's id. 32110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 32120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 32130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Note:</strong> Cannot be called from an 32140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link android.accessibilityservice.AccessibilityService}. 32150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * This class is made immutable before being delivered to an AccessibilityService. 32160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 32170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 32180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @param viewId The id resource name. 32190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 3220071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(String viewId) { 32210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav IMPL.setViewIdResourceName(mInfo, viewId); 32220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 32230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 32240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 32250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Gets the fully qualified resource name of the source view's id. 32260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 32270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 32280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Note:</strong> The primary usage of this API is for UI test automation 32290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * and in order to report the source view id of an {@link AccessibilityNodeInfoCompat} 32300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * the client has to set the {@link AccessibilityServiceInfoCompat#FLAG_REPORT_VIEW_IDS} 32310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * flag when configuring his {@link android.accessibilityservice.AccessibilityService}. 32320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 32330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 32340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @return The id resource name. 32350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 3236071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName() { 32370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return IMPL.getViewIdResourceName(mInfo); 32380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 32390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 3240086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette /** 3241086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * Gets the node's live region mode. 3242086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 3243086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * A live region is a node that contains information that is important for 3244086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * the user and when it changes the user should be notified. For example, 3245086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * in a login screen with a TextView that displays an "incorrect password" 3246086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * notification, that view should be marked as a live region with mode 3247086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_POLITE}. 3248086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 3249086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * It is the responsibility of the accessibility service to monitor 3250086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link AccessibilityEventCompat#TYPE_WINDOW_CONTENT_CHANGED} events 3251086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * indicating changes to live region nodes and their children. 3252086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * 3253086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @return The live region mode, or 3254086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_NONE} if the view is 3255086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * not a live region. 3256086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @see ViewCompat#getAccessibilityLiveRegion(View) 3257086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette */ 3258086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion() { 3259086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return IMPL.getLiveRegion(mInfo); 3260086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 3261086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 3262086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette /** 3263086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * Sets the node's live region mode. 3264086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 3265086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <strong>Note:</strong> Cannot be called from an 3266086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link android.accessibilityservice.AccessibilityService}. This class is 3267086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * made immutable before being delivered to an AccessibilityService. 3268086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * 3269086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @param mode The live region mode, or 3270086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_NONE} if the view is 3271086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * not a live region. 3272086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @see ViewCompat#setAccessibilityLiveRegion(View, int) 3273086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette */ 3274086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(int mode) { 3275086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette IMPL.setLiveRegion(mInfo, mode); 3276086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 3277086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 3278fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 3279cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * Get the drawing order of the view corresponding it this node. 3280cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <p> 3281cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * Drawing order is determined only within the node's parent, so this index is only relative 3282cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * to its siblings. 3283cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <p> 3284cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * In some cases, the drawing order is essentially simultaneous, so it is possible for two 3285cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * siblings to return the same value. It is also possible that values will be skipped. 3286cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * 3287cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @return The drawing position of the view corresponding to this node relative to its siblings. 3288cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver */ 3289cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public int getDrawingOrder() { 3290cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver return IMPL.getDrawingOrder(mInfo); 3291cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 3292cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 3293cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver /** 3294cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * Set the drawing order of the view corresponding it this node. 3295cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * 3296cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <p> 3297cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * <strong>Note:</strong> Cannot be called from an 3298cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * {@link android.accessibilityservice.AccessibilityService}. 3299cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * This class is made immutable before being delivered to an AccessibilityService. 3300cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * </p> 3301cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @param drawingOrderInParent 3302cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver * @throws IllegalStateException If called from an AccessibilityService. 3303cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver */ 3304cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver public void setDrawingOrder(int drawingOrderInParent) { 3305cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver IMPL.setDrawingOrder(mInfo, drawingOrderInParent); 3306cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver } 3307cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver 3308cb9d97140aa503f64fcc8c0da5dcdd5e96e380f1Phil Weaver /** 3309fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the collection info if the node is a collection. A collection 3310fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * child is always a collection item. 3311fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 3312fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The collection info. 3313fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 3314fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public CollectionInfoCompat getCollectionInfo() { 3315fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getCollectionInfo(mInfo); 3316fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 3317fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new CollectionInfoCompat(info); 3318fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 3319fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 3320a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionInfo(Object collectionInfo) { 3321a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar IMPL.setCollectionInfo(mInfo, ((CollectionInfoCompat) collectionInfo).mInfo); 3322a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 3323a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 3324a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionItemInfo(Object collectionItemInfo) { 3325a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar IMPL.setCollectionItemInfo(mInfo, ((CollectionItemInfoCompat) collectionItemInfo).mInfo); 3326a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 3327a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 3328fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 3329fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the collection item info if the node is a collection item. A collection 3330fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * item is always a child of a collection. 3331fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 3332fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The collection item info. 3333fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 3334fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public CollectionItemInfoCompat getCollectionItemInfo() { 3335fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getCollectionItemInfo(mInfo); 3336fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 3337fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new CollectionItemInfoCompat(info); 3338fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 3339fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 3340fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 3341fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the range info if this node is a range. 3342fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 3343fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The range. 3344fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 3345fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public RangeInfoCompat getRangeInfo() { 3346fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getRangeInfo(mInfo); 3347fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 3348fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new RangeInfoCompat(info); 3349fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 3350fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 3351389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 33528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the range info if this node is a range. 33538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 33548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 33558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 33568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 33578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 33588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 33598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param rangeInfo The range info. 33608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 33618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setRangeInfo(RangeInfoCompat rangeInfo) { 33628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setRangeInfo(mInfo, rangeInfo.mInfo); 33638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 33648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 33658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 3366389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the actions that can be performed on the node. 3367389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 3368389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return A list of AccessibilityActions. 3369389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 3370389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<AccessibilityActionCompat> getActionList() { 3371389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen List<Object> actions = IMPL.getActionList(mInfo); 3372cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen if (actions != null) { 3373cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen List<AccessibilityActionCompat> result = new ArrayList<AccessibilityActionCompat>(); 3374cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen final int actionCount = actions.size(); 3375cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen for (int i = 0; i < actionCount; i++) { 3376cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen Object action = actions.get(i); 3377cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen result.add(new AccessibilityActionCompat(action)); 3378cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen } 3379cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen return result; 3380cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen } else { 3381cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen return Collections.<AccessibilityActionCompat>emptyList(); 3382389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 3383389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 3384389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 3385c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 3386c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Sets if the content of this node is invalid. For example, 3387c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * a date is not well-formed. 3388c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * <p> 3389c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * <strong>Note:</strong> Cannot be called from an 3390c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * {@link android.accessibilityservice.AccessibilityService}. 3391c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * This class is made immutable before being delivered to an AccessibilityService. 3392c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * </p> 3393c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3394c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @param contentInvalid If the node content is invalid. 3395c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3396c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setContentInvalid(boolean contentInvalid) { 3397c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes IMPL.setContentInvalid(mInfo, contentInvalid); 3398c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3399c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 3400c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 3401c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Gets if the content of this node is invalid. For example, 3402c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * a date is not well-formed. 3403c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3404c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @return If the node content is invalid. 3405c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3406c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public boolean isContentInvalid() { 3407c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return IMPL.isContentInvalid(mInfo); 3408c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3409c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 3410c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 3411c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Sets the error text of this node. 3412c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * <p> 3413c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * <strong>Note:</strong> Cannot be called from an 3414c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * {@link android.accessibilityservice.AccessibilityService}. 3415c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * This class is made immutable before being delivered to an AccessibilityService. 3416c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * </p> 3417c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3418c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @param error The error text. 3419c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3420c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @throws IllegalStateException If called from an AccessibilityService. 3421c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3422c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setError(CharSequence error) { 3423c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes IMPL.setError(mInfo, error); 3424c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3425c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 3426c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 3427c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Gets the error text of this node. 3428c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3429c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @return The error text. 3430c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3431c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public CharSequence getError() { 3432c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes return IMPL.getError(mInfo); 3433c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3434c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 3435c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 3436c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Sets the view for which the view represented by this info serves as a 3437c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * label for accessibility purposes. 3438c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3439c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @param labeled The view for which this info serves as a label. 3440c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3441c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setLabelFor(View labeled) { 3442c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes IMPL.setLabelFor(mInfo, labeled); 3443c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3444c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes 3445c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes /** 3446c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * Sets the view for which the view represented by this info serves as a 3447c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * label for accessibility purposes. If <code>virtualDescendantId</code> 3448c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * is {@link View#NO_ID} the root is set as the labeled. 3449c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * <p> 3450c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * A virtual descendant is an imaginary View that is reported as a part of the view 3451c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * hierarchy for accessibility purposes. This enables custom views that draw complex 3452c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * content to report themselves as a tree of virtual views, thus conveying their 3453c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * logical structure. 3454c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * </p> 3455c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * 3456c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @param root The root whose virtual descendant serves as a label. 3457c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes * @param virtualDescendantId The id of the virtual descendant. 3458c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes */ 3459c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes public void setLabelFor(View root, int virtualDescendantId) { 3460c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes IMPL.setLabelFor(mInfo, root, virtualDescendantId); 3461c5b63021dfda1dd155775a0b4845c5ca3c70b1b0Chris Banes } 3462389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 34638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 34648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the node info for which the view represented by this info serves as 34658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * a label for accessibility purposes. 34668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 34678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> It is a client responsibility to recycle the 34688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} 34698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * to avoid creating of multiple instances. 34708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 34718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 34728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The labeled info. 34738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 34748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public AccessibilityNodeInfoCompat getLabelFor() { 34758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getLabelFor(mInfo)); 34768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 34778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 34788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 34798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the view which serves as the label of the view represented by 34808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * this info for accessibility purposes. 34818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 34828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param label The view that labels this node's source. 34838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 34848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(View label) { 34858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setLabeledBy(mInfo, label); 34868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 34878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 34888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 34898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the view which serves as the label of the view represented by 34908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * this info for accessibility purposes. If <code>virtualDescendantId</code> 34918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * is {@link View#NO_ID} the root is set as the label. 34928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 34938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A virtual descendant is an imaginary View that is reported as a part of the view 34948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * hierarchy for accessibility purposes. This enables custom views that draw complex 34958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * content to report themselves as a tree of virtual views, thus conveying their 34968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * logical structure. 34978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 34988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 34998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 35008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 35018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 35028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 35038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 35048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param root The root whose virtual descendant labels this node's source. 35058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param virtualDescendantId The id of the virtual descendant. 35068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 35078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setLabeledBy(View root, int virtualDescendantId) { 35088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setLabeledBy(mInfo, root, virtualDescendantId); 35098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 35108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 35118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 35128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the node info which serves as the label of the view represented by 35138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * this info for accessibility purposes. 35148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 35158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> It is a client responsibility to recycle the 35168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} 35178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * to avoid creating of multiple instances. 35188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 35198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 35208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The label. 35218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 35228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public AccessibilityNodeInfoCompat getLabeledBy() { 35238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getLabeledBy(mInfo)); 35248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 35258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 35268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 35278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets if this node opens a popup or a dialog. 35288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 35298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return If the the node opens a popup. 35308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 35318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean canOpenPopup() { 35328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.canOpenPopup(mInfo); 35338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 35348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 35358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 35368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets if this node opens a popup or a dialog. 35378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 35388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 35398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 35408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 35418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 35428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 35438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param opensPopup If the the node opens a popup. 35448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 35458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setCanOpenPopup(boolean opensPopup) { 35468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setCanOpenPopup(mInfo, opensPopup); 35478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 35488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 35498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 35508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Finds {@link AccessibilityNodeInfoCompat}s by the fully qualified view id's resource 35518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * name where a fully qualified id is of the from "package:id/id_resource_name". 35528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * For example, if the target application's package is "foo.bar" and the id 35538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * resource name is "baz", the fully qualified resource id is "foo.bar:id/baz". 35548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 35558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 35568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> It is a client responsibility to recycle the 35578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} 35588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * to avoid creating of multiple instances. 35598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 35608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 35618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> The primary usage of this API is for UI test automation 35628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * and in order to report the fully qualified view id if an 35638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link AccessibilityNodeInfoCompat} the client has to set the 35648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityServiceInfo#FLAG_REPORT_VIEW_IDS} 35658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * flag when configuring his {@link android.accessibilityservice.AccessibilityService}. 35668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 35678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 35688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param viewId The fully qualified resource name of the view id to find. 35698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return A list of node info. 35708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 35718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public List<AccessibilityNodeInfoCompat> findAccessibilityNodeInfosByViewId(String viewId) { 35728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov List<Object> nodes = IMPL.findAccessibilityNodeInfosByViewId(mInfo, viewId); 35738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov if (nodes != null) { 35748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov List<AccessibilityNodeInfoCompat> result = new ArrayList<AccessibilityNodeInfoCompat>(); 35758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov for (Object node : nodes) { 35768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov result.add(new AccessibilityNodeInfoCompat(node)); 35778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 35788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return result; 35798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } else { 35808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return Collections.emptyList(); 35818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 35828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 35838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 35848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 35858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets an optional bundle with extra data. The bundle 35868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * is lazily created and never <code>null</code>. 35878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 35888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> It is recommended to use the package 35898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * name of your application as a prefix for the keys to avoid 35908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * collisions which may confuse an accessibility service if the 35918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * same key has different meaning when emitted from different 35928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * applications. 35938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 35948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 35958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The bundle. 35968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 35978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public Bundle getExtras() { 35988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.getExtras(mInfo); 35998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 36008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 36018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 36028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the input type of the source as defined by {@link InputType}. 36038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The input type. 36058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 36068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getInputType() { 36078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.getInputType(mInfo); 36088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 36098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 36108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 36118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the input type of the source as defined by {@link InputType}. 36128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 36138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 36148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 36158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an 36168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * AccessibilityService. 36178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 36188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param inputType The input type. 36208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 36228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 36238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setInputType(int inputType) { 36248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setInputType(mInfo, inputType); 36258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 36268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 36278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 36288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the maximum text length, or -1 for no limit. 36298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 36308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Typically used to indicate that an editable text field has a limit on 36318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * the number of characters entered. 36328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 36338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 36348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 36358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 36368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param max The maximum text length. 36388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #getMaxTextLength() 36398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 36418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 36428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMaxTextLength(int max) { 36438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setMaxTextLength(mInfo, max); 36448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 36458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 36468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 36478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Returns the maximum text length for this node. 36488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The maximum text length, or -1 for no limit. 36508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #setMaxTextLength(int) 36518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 36528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getMaxTextLength() { 36538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.getMaxTextLength(mInfo); 36548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 36558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 36568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 36578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the text selection start and end. 36588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 36598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 36608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 36618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 36628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 36638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param start The text selection start. 36658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param end The text selection end. 36668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 36688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 36698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTextSelection(int start, int end) { 36708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setTextSelection(mInfo, start, end); 36718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 36728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 36738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 36748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the text selection start. 36758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The text selection start if there is selection or -1. 36778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 36788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionStart() { 36798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.getTextSelectionStart(mInfo); 36808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 36818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 36828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 36838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the text selection end. 36848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The text selection end if there is selection or -1. 36868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 36878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public int getTextSelectionEnd() { 36888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.getTextSelectionEnd(mInfo); 36898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 36908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 36918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 36928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the node before which this one is visited during traversal. A screen-reader 36938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * must visit the content of this node before the content of the one it precedes. 36948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The succeeding node if such or <code>null</code>. 36968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 36978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #setTraversalBefore(android.view.View) 36988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #setTraversalBefore(android.view.View, int) 36998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 37008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public AccessibilityNodeInfoCompat getTraversalBefore() { 37018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getTraversalBefore(mInfo)); 37028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 37038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 37048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 37058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the view before whose node this one should be visited during traversal. A 37068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * screen-reader must visit the content of this node before the content of the one 37078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * it precedes. 37088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 37098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 37108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 37118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 37128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 37138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 37148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param view The view providing the preceding node. 37158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 37168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #getTraversalBefore() 37178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 37188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTraversalBefore(View view) { 37198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setTraversalBefore(mInfo, view); 37208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 37218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 37228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 37238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the node before which this one is visited during traversal. A screen-reader 37248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * must visit the content of this node before the content of the one it precedes. 37258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * The successor is a virtual descendant of the given <code>root</code>. If 37268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <code>virtualDescendantId</code> equals to {@link View#NO_ID} the root is set 37278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * as the successor. 37288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 37298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A virtual descendant is an imaginary View that is reported as a part of the view 37308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * hierarchy for accessibility purposes. This enables custom views that draw complex 37318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * content to report them selves as a tree of virtual views, thus conveying their 37328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * logical structure. 37338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 37348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 37358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 37368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 37378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 37388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 37398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 37408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param root The root of the virtual subtree. 37418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param virtualDescendantId The id of the virtual descendant. 37428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 37438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTraversalBefore(View root, int virtualDescendantId) { 37448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setTraversalBefore(mInfo, root, virtualDescendantId); 37458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 37468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 37478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 37488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the node after which this one is visited in accessibility traversal. 37498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A screen-reader must visit the content of the other node before the content 37508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * of this one. 37518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 37528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The succeeding node if such or <code>null</code>. 37538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 37548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #setTraversalAfter(android.view.View) 37558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #setTraversalAfter(android.view.View, int) 37568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 37578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public AccessibilityNodeInfoCompat getTraversalAfter() { 37588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getTraversalAfter(mInfo)); 37598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 37608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 37618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 37628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the view whose node is visited after this one in accessibility traversal. 37638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A screen-reader must visit the content of the other node before the content 37648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * of this one. 37658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 37668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 37678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 37688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 37698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 37708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 37718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param view The previous view. 37728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 37738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see #getTraversalAfter() 37748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 37758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTraversalAfter(View view) { 37768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setTraversalAfter(mInfo, view); 37778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 37788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 37798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 37808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets the node after which this one is visited in accessibility traversal. 37818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A screen-reader must visit the content of the other node before the content 37828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * of this one. If <code>virtualDescendantId</code> equals to {@link View#NO_ID} 37838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * the root is set as the predecessor. 37848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 37858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * A virtual descendant is an imaginary View that is reported as a part of the view 37868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * hierarchy for accessibility purposes. This enables custom views that draw complex 37878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * content to report them selves as a tree of virtual views, thus conveying their 37888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * logical structure. 37898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 37908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 37918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 37928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 37938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 37948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 37958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 37968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param root The root of the virtual subtree. 37978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param virtualDescendantId The id of the virtual descendant. 37988aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 37998aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setTraversalAfter(View root, int virtualDescendantId) { 38008aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setTraversalAfter(mInfo, root, virtualDescendantId); 38018aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 38028aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 38038aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 38048aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets the window to which this node belongs. 38058aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 38068aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return The window. 38078aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 38088aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @see android.accessibilityservice.AccessibilityService#getWindows() 38098aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 38108aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public AccessibilityWindowInfoCompat getWindow() { 38118aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return AccessibilityWindowInfoCompat.wrapNonNullInstance(IMPL.getWindow(mInfo)); 38128aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 38138aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 38148aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 38158aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets if the node can be dismissed. 38168aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 38178aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return If the node can be dismissed. 38188aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 38198aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isDismissable() { 38208aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.isDismissable(mInfo); 38218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 38228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 38238aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 38248aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets if the node can be dismissed. 38258aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 38268aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 38278aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 38288aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 38298aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 38308aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 38318aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param dismissable If the node can be dismissed. 38328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 38338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setDismissable(boolean dismissable) { 38348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setDismissable(mInfo, dismissable); 38358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 38368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 38378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 38388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets if the node is editable. 38398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 38408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return True if the node is editable, false otherwise. 38418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 38428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isEditable() { 38438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.isEditable(mInfo); 38448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 38458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 38468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 38478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets whether this node is editable. 38488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 38498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 38508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 38518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 38528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 38538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 38548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param editable True if the node is editable. 38558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 38568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @throws IllegalStateException If called from an AccessibilityService. 38578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 38588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setEditable(boolean editable) { 38598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setEditable(mInfo, editable); 38608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 38618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 38628aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 38638aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Gets if the node is a multi line editable text. 38648aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 38658aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return True if the node is multi line. 38668aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 38678aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean isMultiLine() { 38688aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.isMultiLine(mInfo); 38698aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 38708aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 38718aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 38728aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Sets if the node is a multi line editable text. 38738aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 38748aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> Cannot be called from an 38758aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * {@link android.accessibilityservice.AccessibilityService}. 38768aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * This class is made immutable before being delivered to an AccessibilityService. 38778aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 38788aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * 38798aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @param multiLine True if the node is multi line. 38808aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 38818aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public void setMultiLine(boolean multiLine) { 38828aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov IMPL.setMultiLine(mInfo, multiLine); 38838aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 38848aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 38858aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov /** 38868aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * Refreshes this info with the latest state of the view it represents. 38878aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <p> 38888aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * <strong>Note:</strong> If this method returns false this info is obsolete 38898aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * since it represents a view that is no longer in the view tree and should 38908aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * be recycled. 38918aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * </p> 38928aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov * @return Whether the refresh succeeded. 38938aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov */ 38948aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov public boolean refresh() { 38958aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov return IMPL.refresh(mInfo); 38968aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov } 38978aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov 3898f0d984600125413628899bfc849bab102bc2228eSteven Dao /** 3899f0d984600125413628899bfc849bab102bc2228eSteven Dao * Gets the custom role description. 3900f0d984600125413628899bfc849bab102bc2228eSteven Dao * @return The role description. 3901f0d984600125413628899bfc849bab102bc2228eSteven Dao */ 3902f0d984600125413628899bfc849bab102bc2228eSteven Dao public @Nullable CharSequence getRoleDescription() { 3903f0d984600125413628899bfc849bab102bc2228eSteven Dao return IMPL.getRoleDescription(mInfo); 3904f0d984600125413628899bfc849bab102bc2228eSteven Dao } 3905f0d984600125413628899bfc849bab102bc2228eSteven Dao 3906f0d984600125413628899bfc849bab102bc2228eSteven Dao /** 3907f0d984600125413628899bfc849bab102bc2228eSteven Dao * Sets the custom role description. 3908f0d984600125413628899bfc849bab102bc2228eSteven Dao * 3909f0d984600125413628899bfc849bab102bc2228eSteven Dao * <p> 3910f0d984600125413628899bfc849bab102bc2228eSteven Dao * The role description allows you to customize the name for the view's semantic 3911f0d984600125413628899bfc849bab102bc2228eSteven Dao * role. For example, if you create a custom subclass of {@link android.view.View} 3912f0d984600125413628899bfc849bab102bc2228eSteven Dao * to display a menu bar, you could assign it the role description of "menu bar". 3913f0d984600125413628899bfc849bab102bc2228eSteven Dao * </p> 3914f0d984600125413628899bfc849bab102bc2228eSteven Dao * <p> 3915f0d984600125413628899bfc849bab102bc2228eSteven Dao * <strong>Warning:</strong> For consistency with other applications, you should 3916f0d984600125413628899bfc849bab102bc2228eSteven Dao * not use the role description to force accessibility services to describe 3917f0d984600125413628899bfc849bab102bc2228eSteven Dao * standard views (such as buttons or checkboxes) using specific wording. For 3918f0d984600125413628899bfc849bab102bc2228eSteven Dao * example, you should not set a role description of "check box" or "tick box" for 3919f0d984600125413628899bfc849bab102bc2228eSteven Dao * a standard {@link android.widget.CheckBox}. Instead let accessibility services 3920f0d984600125413628899bfc849bab102bc2228eSteven Dao * decide what feedback to provide. 3921f0d984600125413628899bfc849bab102bc2228eSteven Dao * </p> 3922f0d984600125413628899bfc849bab102bc2228eSteven Dao * <p> 3923f0d984600125413628899bfc849bab102bc2228eSteven Dao * <strong>Note:</strong> Cannot be called from an 3924f0d984600125413628899bfc849bab102bc2228eSteven Dao * {@link android.accessibilityservice.AccessibilityService}. 3925f0d984600125413628899bfc849bab102bc2228eSteven Dao * This class is made immutable before being delivered to an AccessibilityService. 3926f0d984600125413628899bfc849bab102bc2228eSteven Dao * </p> 3927f0d984600125413628899bfc849bab102bc2228eSteven Dao * 3928f0d984600125413628899bfc849bab102bc2228eSteven Dao * @param roleDescription The role description. 3929f0d984600125413628899bfc849bab102bc2228eSteven Dao */ 3930f0d984600125413628899bfc849bab102bc2228eSteven Dao public void setRoleDescription(@Nullable CharSequence roleDescription) { 3931f0d984600125413628899bfc849bab102bc2228eSteven Dao IMPL.setRoleDescription(mInfo, roleDescription); 3932f0d984600125413628899bfc849bab102bc2228eSteven Dao } 3933f0d984600125413628899bfc849bab102bc2228eSteven Dao 39349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 39359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int hashCode() { 39369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return (mInfo == null) ? 0 : mInfo.hashCode(); 39379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 39389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 39399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 39409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean equals(Object obj) { 39419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (this == obj) { 39429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 39439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 39449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (obj == null) { 39459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 39469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 39479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (getClass() != obj.getClass()) { 39489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 39499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 39509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompat other = (AccessibilityNodeInfoCompat) obj; 39519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (mInfo == null) { 39529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (other.mInfo != null) { 39539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 39549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 39559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else if (!mInfo.equals(other.mInfo)) { 39569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 39579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 39589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 39599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 39600fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 39610fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 39620fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public String toString() { 39630fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav StringBuilder builder = new StringBuilder(); 39640fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(super.toString()); 39650fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 39660fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav Rect bounds = new Rect(); 39670fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 39680fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav getBoundsInParent(bounds); 39690fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; boundsInParent: " + bounds); 39700fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 39710fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav getBoundsInScreen(bounds); 39720fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; boundsInScreen: " + bounds); 39730fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 39740fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; packageName: ").append(getPackageName()); 39750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; className: ").append(getClassName()); 39760fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; text: ").append(getText()); 39770fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; contentDescription: ").append(getContentDescription()); 39780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; viewId: ").append(getViewIdResourceName()); 39790fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 39800fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; checkable: ").append(isCheckable()); 39810fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; checked: ").append(isChecked()); 39820fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; focusable: ").append(isFocusable()); 39830fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; focused: ").append(isFocused()); 39840fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; selected: ").append(isSelected()); 39850fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; clickable: ").append(isClickable()); 39860fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; longClickable: ").append(isLongClickable()); 39870fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; enabled: ").append(isEnabled()); 39880fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; password: ").append(isPassword()); 39890fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; scrollable: " + isScrollable()); 39900fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 39910fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; ["); 39920fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav for (int actionBits = getActions(); actionBits != 0;) { 39930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav final int action = 1 << Integer.numberOfTrailingZeros(actionBits); 39940fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav actionBits &= ~action; 39950fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(getActionSymbolicName(action)); 39960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav if (actionBits != 0) { 39970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(", "); 39980fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 39990fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 40000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("]"); 40010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 40020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return builder.toString(); 40030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 40040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 40050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav private static String getActionSymbolicName(int action) { 40060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav switch (action) { 40070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_FOCUS: 40080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_FOCUS"; 40090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_FOCUS: 40100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_FOCUS"; 40110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SELECT: 40120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SELECT"; 40130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_SELECTION: 40140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_SELECTION"; 40150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLICK: 40160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLICK"; 40170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_LONG_CLICK: 40180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_LONG_CLICK"; 40190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_ACCESSIBILITY_FOCUS: 40200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_ACCESSIBILITY_FOCUS"; 40210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_ACCESSIBILITY_FOCUS: 40220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_ACCESSIBILITY_FOCUS"; 40230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_NEXT_AT_MOVEMENT_GRANULARITY: 40240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_NEXT_AT_MOVEMENT_GRANULARITY"; 40250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: 40260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY"; 40270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_NEXT_HTML_ELEMENT: 40280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_NEXT_HTML_ELEMENT"; 40290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PREVIOUS_HTML_ELEMENT: 40300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PREVIOUS_HTML_ELEMENT"; 40310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SCROLL_FORWARD: 40320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SCROLL_FORWARD"; 40330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SCROLL_BACKWARD: 40340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SCROLL_BACKWARD"; 40350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CUT: 40360fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CUT"; 40370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_COPY: 40380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_COPY"; 40390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PASTE: 40400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PASTE"; 40410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SET_SELECTION: 40420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SET_SELECTION"; 40430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav default: 40440fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return"ACTION_UNKNOWN"; 40450fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 40460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 40479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov} 4048