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; 220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslavimport android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat; 23086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viveretteimport android.support.v4.view.ViewCompat; 249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.View; 25a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.ArrayList; 27f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganovimport java.util.Collections; 289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.List; 299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/** 310574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * Helper for accessing {@link android.view.accessibility.AccessibilityNodeInfo} 320574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * introduced after API level 4 in a backwards compatible fashion. 339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovpublic class AccessibilityNodeInfoCompat { 359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public static class AccessibilityActionCompat { 37389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen private final Object mAction; 38389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 3984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav /** 4084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * Creates a new instance. 4184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * 4284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @param actionId The action id. 4384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @param label The action label. 4484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav */ 4584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public AccessibilityActionCompat(int actionId, CharSequence label) { 4684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav this(IMPL.newAccessibilityAction(actionId, label)); 4784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 4884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 49389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen private AccessibilityActionCompat(Object action) { 50389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen mAction = action; 51389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 52389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 53389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 54389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the id for this action. 55389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 56389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return The action id. 57389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 58389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public int getId() { 5984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return IMPL.getAccessibilityActionId(mAction); 60389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 61389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 62389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 63389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the label for this action. Its purpose is to describe the 64389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * action to user. 65389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 66389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return The label. 67389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 68389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public CharSequence getLabel() { 6984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return IMPL.getAccessibilityActionLabel(mAction); 70389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 71389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 72389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 73fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class CollectionInfoCompat { 74a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** Selection mode where items are not selectable. */ 75a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static final int SELECTION_MODE_NONE = 0; 76a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 77a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** Selection mode where a single item may be selected. */ 78a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static final int SELECTION_MODE_SINGLE = 1; 79a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 80a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** Selection mode where multiple items may be selected. */ 81a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static final int SELECTION_MODE_MULTIPLE = 2; 82a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 83a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar final Object mInfo; 84a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 85a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** 86a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * Returns a cached instance if such is available otherwise a new one. 87a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * 88a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * @return An instance. 89a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar */ 90a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static CollectionInfoCompat obtain(int rowCount, int columnCount, 91a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar boolean hierarchical, int selectionMode) { 92a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return new CollectionInfoCompat(IMPL.obtainCollectionInfo(rowCount, columnCount, 93a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar hierarchical, selectionMode)); 94a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 95fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 96fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private CollectionInfoCompat(Object info) { 97fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 98fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 99fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 100fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnCount() { 101a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionInfoColumnCount(mInfo); 102fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 103fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 104fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowCount() { 105a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionInfoRowCount(mInfo); 106fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 107fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 108fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public boolean isHierarchical() { 109a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.isCollectionInfoHierarchical(mInfo); 110fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 111fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 112fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 113fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class CollectionItemInfoCompat { 114a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 115fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private final Object mInfo; 116fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 117a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar /** 118a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * Returns a cached instance if such is available otherwise a new one. 119a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * 120a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar * @return An instance. 121a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar */ 122a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public static CollectionItemInfoCompat obtain(int rowIndex, int rowSpan, 123a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnIndex, int columnSpan, boolean heading, boolean selected) { 124a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return new CollectionItemInfoCompat(IMPL.obtainCollectionItemInfo(rowIndex, rowSpan, 125a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar columnIndex, columnSpan, heading, selected)); 126a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 127a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 128fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private CollectionItemInfoCompat(Object info) { 129fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 130fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 131fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 132fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnIndex() { 133a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemColumnIndex(mInfo); 134fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 135fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 136fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnSpan() { 137a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemColumnSpan(mInfo); 138fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 139fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 140fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowIndex() { 141a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemRowIndex(mInfo); 142fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 143fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 144fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowSpan() { 145a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.getCollectionItemRowSpan(mInfo); 146fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 147fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 148fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public boolean isHeading() { 149a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.isCollectionItemHeading(mInfo); 150a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 151a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 152a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isSelected() { 153a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return IMPL.isCollectionItemSelected(mInfo); 154fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 155fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 156fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 157fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class RangeInfoCompat { 158fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: integer. */ 159fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_INT = 0; 160fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: float. */ 161fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_FLOAT = 1; 162fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: percent with values from zero to one.*/ 163fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_PERCENT = 2; 164fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 165fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private final Object mInfo; 166fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 167fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private RangeInfoCompat(Object info) { 168fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 169fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 170fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 171fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getCurrent() { 172fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getCurrent(mInfo); 173fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 174fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 175fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getMax() { 176fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getMax(mInfo); 177fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 178fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 179fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getMin() { 180fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getMin(mInfo); 181fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 182fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 183fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getType() { 184fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getType(mInfo); 185fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 186fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 187fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static interface AccessibilityNodeInfoImpl { 18984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public Object newAccessibilityAction(int actionId, CharSequence label); 1909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(); 1919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source); 1929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info); 19370e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId); 1949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source); 1953a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId); 19670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus); 19770e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction); 1989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info); 1999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info); 20070e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index); 2019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child); 2023a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId); 2039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info); 2049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action); 20584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public void addAction(Object info, Object action); 20684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public int getAccessibilityActionId(Object action); 20784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public CharSequence getAccessibilityActionLabel(Object action); 2089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action); 20970e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments); 21070e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities); 21170e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info); 2129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text); 21370e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info); 21470e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId); 2159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent); 2169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds); 2179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds); 2189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds); 2199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds); 2209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info); 2219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable); 2229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info); 2239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked); 2249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info); 2259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable); 2269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info); 2279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused); 22870e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info); 22970e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser); 23070e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info); 23170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused); 2329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info); 2339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected); 2349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info); 2359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable); 2369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info); 2379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable); 2389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info); 2399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled); 2409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info); 2419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password); 2429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info); 2439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable); 2449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info); 2459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName); 2469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info); 2479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className); 2489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info); 2499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text); 2509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info); 2519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription); 2529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info); 253071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info); 254071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId); 255086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion(Object info); 256086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(Object info, int mode); 257fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionInfo(Object info); 258a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionInfo(Object info, Object collectionInfo); 259fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionItemInfo(Object info); 260a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionItemInfo(Object info, Object collectionItemInfo); 261fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getRangeInfo(Object info); 262389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<Object> getActionList(Object info); 263a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical, 264a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int selectionMode); 265a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoColumnCount(Object info); 266a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoRowCount(Object info); 267a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionInfoHierarchical(Object info); 268a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 269a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected); 270a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnIndex(Object info); 271a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnSpan(Object info); 272a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowIndex(Object info); 273a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowSpan(Object info); 274a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemHeading(Object info); 275a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemSelected(Object info); 276acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public AccessibilityNodeInfoCompat getTraversalBefore(Object info); 277acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View view); 278acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View root, int virtualDescendantId); 279acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public AccessibilityNodeInfoCompat getTraversalAfter(Object info); 280acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View view); 281acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View root, int virtualDescendantId); 2829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoStubImpl implements AccessibilityNodeInfoImpl { 28570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 28684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public Object newAccessibilityAction(int actionId, CharSequence label) { 28784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return null; 28884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 28984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 29084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 2919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 2929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 2939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 2979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 2989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 30170e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 30270e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 30370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 30470e96ebf69f91da84681a6263b3862c63d53ab11alanv 30570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 3079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 3089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 3129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 31684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public void addAction(Object info, Object action) { 31784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 31884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 31984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 32084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 32184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public int getAccessibilityActionId(Object action) { 32284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return 0; 32384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 32484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 32584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 32684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public CharSequence getAccessibilityActionLabel(Object action) { 32784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return null; 32884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 32984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 33084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 3319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 3329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 33570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3363a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 3373a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 3383a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 3393a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 34070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 342f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganov return Collections.emptyList(); 3439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 3479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 3489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 3529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 3579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 36170e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 3629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 3639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 3679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 3689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 37070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 3729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 3739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 37570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 3779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 3789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 38070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 3829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 3839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 38570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 38670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 3879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 3889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 39070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 3929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 3939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 39570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 3979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 3989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 40070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 4029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 4039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 40570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 4079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 4089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 41070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 4129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 4139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 41570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 4179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 4189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 42070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 4229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 4239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 42570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 4279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 4289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 43070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 43170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 43270e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 43370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 43470e96ebf69f91da84681a6263b3862c63d53ab11alanv 43570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 43670e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 43770e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 43870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 43970e96ebf69f91da84681a6263b3862c63d53ab11alanv 44070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 4429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 4439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 44570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 4479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 4489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 45070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 4529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 4539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 45570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 4579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 4589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 46070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 4629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 4639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 46570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 46670e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 46770e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 46870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 46970e96ebf69f91da84681a6263b3862c63d53ab11alanv 47070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 47170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 47270e96ebf69f91da84681a6263b3862c63d53ab11alanv 47370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 47470e96ebf69f91da84681a6263b3862c63d53ab11alanv 47570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 47670e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 47770e96ebf69f91da84681a6263b3862c63d53ab11alanv return 0; 47870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 47970e96ebf69f91da84681a6263b3862c63d53ab11alanv 48070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 4829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 48570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 4879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 49070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 4929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 49570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 4979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 50070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 5029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 50570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 5079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 51070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 5129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 51570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 5179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 52070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 5229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 52570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 5279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 53070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 53170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 53270e96ebf69f91da84681a6263b3862c63d53ab11alanv 53370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 53470e96ebf69f91da84681a6263b3862c63d53ab11alanv 53570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 53670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 53770e96ebf69f91da84681a6263b3862c63d53ab11alanv 53870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 53970e96ebf69f91da84681a6263b3862c63d53ab11alanv 54070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 5429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 54570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 5479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 55070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 5529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 55570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 5579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 56070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 5629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 56570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 5679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 57070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 5729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 57570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5763a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 5773a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 5783a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 5793a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 58070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 58170e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 58270e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 58370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 58470e96ebf69f91da84681a6263b3862c63d53ab11alanv 58570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 58670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 58770e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 58870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 58970e96ebf69f91da84681a6263b3862c63d53ab11alanv 59070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 5929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 59570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 5979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 59970e96ebf69f91da84681a6263b3862c63d53ab11alanv 60070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 60170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 60270e96ebf69f91da84681a6263b3862c63d53ab11alanv 60370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 6040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 6050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 606071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info) { 6070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return null; 6080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 6090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 6100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 611071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId) { 6120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 6130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 614086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 615086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 616086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion(Object info) { 617086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return ViewCompat.ACCESSIBILITY_LIVE_REGION_NONE; 618086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 619086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 620086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 621086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(Object info, int mode) { 622086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette // No-op 623086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 624fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 625fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 626fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionInfo(Object info) { 627fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 628fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 629fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 630fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 631a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionInfo(Object info, Object collectionInfo) { 632a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 633a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 634a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 635fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionItemInfo(Object info) { 636fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 637fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 638fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 639fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 640a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionItemInfo(Object info, Object collectionItemInfo) { 641a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 642a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 643a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 644fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getRangeInfo(Object info) { 645fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 646fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 647389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 648389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 649389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<Object> getActionList(Object info) { 650389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen return null; 651389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 652389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 653389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 654a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical, 655a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int selectionMode) { 656a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return null; 657a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 658a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 659a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 660a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoColumnCount(Object info) { 661a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 662a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 663a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 664a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 665a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoRowCount(Object info) { 666a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 667a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 668a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 669a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 670a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionInfoHierarchical(Object info) { 671a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return false; 672a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 673a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 674a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 675a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 676a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected) { 677a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return null; 678a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 679a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 680a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 681a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnIndex(Object info) { 682a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 683a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 684a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 685a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 686a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnSpan(Object info) { 687a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 688a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 689a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 690a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 691a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowIndex(Object info) { 692a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 693a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 694a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 695a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 696a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowSpan(Object info) { 697a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return 0; 698a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 699a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 700a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 701a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemHeading(Object info) { 702a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return false; 703a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 704a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 705a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 706a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemSelected(Object info) { 707a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return false; 708a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 709acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 710acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 711acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public AccessibilityNodeInfoCompat getTraversalBefore(Object info) { 712acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov return null; 713acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 714acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 715acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 716acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View view) { 717acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 718acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 719acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 720acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View root, int virtualDescendantId) { 721acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 722acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 723acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 724acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public AccessibilityNodeInfoCompat getTraversalAfter(Object info) { 725acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov return null; 726acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 727acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 728acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 729acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View view) { 730acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 731acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 732acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 733acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View root, int virtualDescendantId) { 734acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 7359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoIcsImpl extends AccessibilityNodeInfoStubImpl { 7389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 7409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(); 7419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 7459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(source); 7469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 7509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(info); 7519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 7559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addAction(info, action); 7569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 7609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addChild(info, child); 7619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 7659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.findAccessibilityNodeInfosByText(info, text); 7669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 7709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getActions(info); 7719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 7759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInParent(info, outBounds); 7769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 7809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInScreen(info, outBounds); 7819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 78470e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 78570e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getChild(info, index); 7869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 7909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getChildCount(info); 7919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 7959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getClassName(info); 7969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 8009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getContentDescription(info); 8019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 8059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getPackageName(info); 8069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 80970e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 81070e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getParent(info); 8119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 8159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getText(info); 8169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 8209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getWindowId(info); 8219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 8259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isCheckable(info); 8269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 8309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isChecked(info); 8319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 8359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isClickable(info); 8369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 8409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isEnabled(info); 8419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 8459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocusable(info); 8469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 8509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocused(info); 8519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 8559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isLongClickable(info); 8569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 8609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isPassword(info); 8619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 8659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isScrollable(info); 8669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 8709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isSelected(info); 8719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 8759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.performAction(info, action); 8769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 8809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInParent(info, bounds); 8819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 8859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInScreen(info, bounds); 8869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 8909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setCheckable(info, checkable); 8919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 8959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setChecked(info, checked); 8969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 8999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 9009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClassName(info, className); 9019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 9059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClickable(info, clickable); 9069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 9109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setContentDescription(info, contentDescription); 9119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 9159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setEnabled(info, enabled); 9169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 9209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocusable(info, focusable); 9219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 9259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocused(info, focused); 9269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 9309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setLongClickable(info, longClickable); 9319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 9359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPackageName(info, packageName); 9369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 9409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setParent(info, parent); 9419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 9459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPassword(info, password); 9469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 9509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setScrollable(info, scrollable); 9519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 9559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSelected(info, selected); 9569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 9609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSource(info, source); 9619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 9659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setText(info, text); 9669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 9699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 9709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.recycle(info); 9719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9743a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov static class AccessibilityNodeInfoJellybeanImpl extends AccessibilityNodeInfoIcsImpl { 9753a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 97670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 97770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.obtain(root, virtualDescendantId); 97870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 97970e96ebf69f91da84681a6263b3862c63d53ab11alanv 98070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 98170e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 98270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.findFocus(info, focus); 98370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 98470e96ebf69f91da84681a6263b3862c63d53ab11alanv 98570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 98670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 98770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.focusSearch(info, direction); 98870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 98970e96ebf69f91da84681a6263b3862c63d53ab11alanv 99070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 9913a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 9923a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.addChild(info, child, virtualDescendantId); 9933a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 9943a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 9953a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 9963a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 9973a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.setSource(info, root, virtualDescendantId); 9983a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 99970e96ebf69f91da84681a6263b3862c63d53ab11alanv 100070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 100170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 100270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isVisibleToUser(info); 100370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 100470e96ebf69f91da84681a6263b3862c63d53ab11alanv 100570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 100670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 100770e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setVisibleToUser(info, visibleToUser); 100870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 100970e96ebf69f91da84681a6263b3862c63d53ab11alanv 101070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 101170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 101270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isAccessibilityFocused(info); 101370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 101470e96ebf69f91da84681a6263b3862c63d53ab11alanv 101570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 101670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 101770e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setAccesibilityFocused(info, focused); 101870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 101970e96ebf69f91da84681a6263b3862c63d53ab11alanv 102070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 102170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 102270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.performAction(info, action, arguments); 102370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 102470e96ebf69f91da84681a6263b3862c63d53ab11alanv 102570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 102670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 102770e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setMovementGranularities(info, granularities); 102870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 102970e96ebf69f91da84681a6263b3862c63d53ab11alanv 103070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 103170e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 103270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.getMovementGranularities(info); 103370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 103470e96ebf69f91da84681a6263b3862c63d53ab11alanv 103570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 103670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 103770e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setParent(info, root, virtualDescendantId); 103870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 10393a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 10403a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 10410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav static class AccessibilityNodeInfoJellybeanMr2Impl extends AccessibilityNodeInfoJellybeanImpl { 10420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 10430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 1044071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info) { 10450fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return AccessibilityNodeInfoCompatJellybeanMr2.getViewIdResourceName(info); 10460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 10470fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 10480fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 1049071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId) { 10500fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav AccessibilityNodeInfoCompatJellybeanMr2.setViewIdResourceName(info, viewId); 10510fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 10520fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 10530fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 1054086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette static class AccessibilityNodeInfoKitKatImpl extends AccessibilityNodeInfoJellybeanMr2Impl { 1055086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 1056086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion(Object info) { 1057086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return AccessibilityNodeInfoCompatKitKat.getLiveRegion(info); 1058086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 1059086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 1060086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 1061086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(Object info, int mode) { 1062086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette AccessibilityNodeInfoCompatKitKat.setLiveRegion(info, mode); 1063086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 1064fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1065fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 1066fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionInfo(Object info) { 1067fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getCollectionInfo(info); 1068fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 1069fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1070fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 1071a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionInfo(Object info, Object collectionInfo) { 1072a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar AccessibilityNodeInfoCompatKitKat.setCollectionInfo(info, collectionInfo); 1073a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1074a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1075a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1076a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionInfo(int rowCount, int columnCount, 1077a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar boolean hierarchical, int selectionMode) { 1078a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.obtainCollectionInfo(rowCount, columnCount, 1079a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar hierarchical, selectionMode); 1080a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1081a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1082a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1083a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 1084a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected) { 1085a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat 1086a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar .obtainCollectionItemInfo(rowIndex, rowSpan, columnIndex, columnSpan, heading); 1087a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1088a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1089a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1090a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoColumnCount(Object info) { 1091a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionInfo.getColumnCount(info); 1092a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1093a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1094a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1095a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionInfoRowCount(Object info) { 1096a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionInfo.getRowCount(info); 1097a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1098a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1099a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1100a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionInfoHierarchical(Object info) { 1101a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionInfo.isHierarchical(info); 1102a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1103a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1104a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1105fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionItemInfo(Object info) { 1106fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getCollectionItemInfo(info); 1107fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 1108fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1109fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 1110fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getRangeInfo(Object info) { 1111fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getRangeInfo(info); 1112fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 1113a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1114a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1115a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnIndex(Object info) { 1116a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getColumnIndex(info); 1117a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1118a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1119a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1120a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemColumnSpan(Object info) { 1121a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getColumnSpan(info); 1122a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1123a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1124a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1125a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowIndex(Object info) { 1126a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getRowIndex(info); 1127a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1128a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1129a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1130a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public int getCollectionItemRowSpan(Object info) { 1131a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getRowSpan(info); 1132a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1133a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1134a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1135a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemHeading(Object info) { 1136a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.isHeading(info); 1137a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1138a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1139a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1140a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionItemInfo(Object info, Object collectionItemInfo) { 1141a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar AccessibilityNodeInfoCompatKitKat.setCollectionItemInfo(info, collectionItemInfo); 1142a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1143086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 1144086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 1145389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen static class AccessibilityNodeInfoApi21Impl extends AccessibilityNodeInfoKitKatImpl { 1146389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 114784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public Object newAccessibilityAction(int actionId, CharSequence label) { 114884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return AccessibilityNodeInfoCompatApi21.newAccessibilityAction(actionId, label); 114984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 115084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 115184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 1152389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<Object> getActionList(Object info) { 1153389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen return AccessibilityNodeInfoCompatApi21.getActionList(info); 1154389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 1155389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 1156389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 1157a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionInfo(int rowCount, int columnCount, boolean hierarchical, 1158a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int selectionMode) { 1159a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatApi21.obtainCollectionInfo(rowCount, columnCount, 1160a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar hierarchical, selectionMode); 1161a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1162a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1163a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 116484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public void addAction(Object info, Object action) { 116584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav AccessibilityNodeInfoCompatApi21.addAction(info, action); 116684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 116784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 116884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 116984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public int getAccessibilityActionId(Object action) { 117084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return AccessibilityNodeInfoCompatApi21.getAccessibilityActionId(action); 117184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 117284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 117384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav @Override 117484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public CharSequence getAccessibilityActionLabel(Object action) { 117584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav return AccessibilityNodeInfoCompatApi21.getAccessibilityActionLabel(action); 1176389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 1177a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1178a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1179a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 1180a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar int columnSpan, boolean heading, boolean selected) { 1181a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatApi21.obtainCollectionItemInfo(rowIndex, rowSpan, 1182a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar columnIndex, columnSpan, heading, selected); 1183a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1184a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 1185a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar @Override 1186a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public boolean isCollectionItemSelected(Object info) { 1187a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar return AccessibilityNodeInfoCompatApi21.CollectionItemInfo.isSelected(info); 1188a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 1189389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 1190389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 1191acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov static class AccessibilityNodeInfoApi22Impl extends AccessibilityNodeInfoApi21Impl { 1192acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1193acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public AccessibilityNodeInfoCompat getTraversalBefore(Object info) { 1194acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov Object nodeInfo = AccessibilityNodeInfoCompatApi22.getTraversalBefore(info); 1195acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov if (nodeInfo == null) { 1196acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov return null; 1197acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1198acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1199acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov return new AccessibilityNodeInfoCompat(nodeInfo); 1200acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1201acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1202acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1203acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View view) { 1204acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalBefore(info, view); 1205acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1206acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1207acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1208acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalBefore(Object info, View root, int virtualDescendantId) { 1209acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalBefore(info, root, virtualDescendantId); 1210acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1211acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1212acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1213acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public AccessibilityNodeInfoCompat getTraversalAfter(Object info) { 1214acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov Object nodeInfo = AccessibilityNodeInfoCompatApi22.getTraversalAfter(info); 1215acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov if (nodeInfo == null) { 1216acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov return null; 1217acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1218acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1219acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov return new AccessibilityNodeInfoCompat(nodeInfo); 1220acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1221acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1222acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1223acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View view) { 1224acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalAfter(info, view); 1225acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1226acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 1227acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov @Override 1228acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov public void setTraversalAfter(Object info, View root, int virtualDescendantId) { 1229acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov AccessibilityNodeInfoCompatApi22.setTraversalAfter(info, root, virtualDescendantId); 1230acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1231acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } 1232acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov 12339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static { 1234acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov if (Build.VERSION.SDK_INT >= 22) { 1235acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov IMPL = new AccessibilityNodeInfoApi22Impl(); 1236acbc0ab18c9acc81e311fbeb31d9849153d54e3cMaxim Bogatov } else if (Build.VERSION.SDK_INT >= 21) { 1237389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen IMPL = new AccessibilityNodeInfoApi21Impl(); 1238389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } else if (Build.VERSION.SDK_INT >= 19) { // KitKat 1239086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette IMPL = new AccessibilityNodeInfoKitKatImpl(); 1240086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } else if (Build.VERSION.SDK_INT >= 18) { // JellyBean MR2 12410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav IMPL = new AccessibilityNodeInfoJellybeanMr2Impl(); 12420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } else if (Build.VERSION.SDK_INT >= 16) { // JellyBean 12433a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL = new AccessibilityNodeInfoJellybeanImpl(); 12443a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } else if (Build.VERSION.SDK_INT >= 14) { // ICS 12459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoIcsImpl(); 12469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else { 12479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoStubImpl(); 12489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private static final AccessibilityNodeInfoImpl IMPL; 12529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private final Object mInfo; 12549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12550fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in IceCreamSandwich 12569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that focuses the node. 12599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_FOCUS = 0x00000001; 12619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unfocuses the node. 12649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_FOCUS = 0x00000002; 12669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that selects the node. 12699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_SELECT = 0x00000004; 12719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unselects the node. 12749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_SELECTION = 0x00000008; 12769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1277c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov /** 127870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clicks on the node info. 127970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 128070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLICK = 0x00000010; 128170e96ebf69f91da84681a6263b3862c63d53ab11alanv 128270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 128370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that long clicks on the node. 128470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 128570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_LONG_CLICK = 0x00000020; 128670e96ebf69f91da84681a6263b3862c63d53ab11alanv 12870fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in JellyBean 12880fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 128970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 129070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that gives accessibility focus to the node. 129170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 129270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_ACCESSIBILITY_FOCUS = 0x00000040; 129370e96ebf69f91da84681a6263b3862c63d53ab11alanv 129470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 129570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clears accessibility focus of the node. 129670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 129770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080; 129870e96ebf69f91da84681a6263b3862c63d53ab11alanv 129970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 130070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the next entity in this node's text 130170e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 130270e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 130370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 13040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<, 13050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 13060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> Move to the previous character and do not extend selection. 130770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 130870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 130970e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 131070e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 13110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, 13120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * false); 131370e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments); 131470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 131570e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 131670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 13170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 13180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 13190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 132070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 132170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 132270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 132370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 132470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 132570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 132670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 132770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 132870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 132970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 0x00000100; 133070e96ebf69f91da84681a6263b3862c63d53ab11alanv 133170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 133270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the previous entity in this node's text 133370e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 133470e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 133570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 13360fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<, 13370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 13380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> Move to the next character and do not extend selection. 133970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 134070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 134170e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 134270e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 13430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, 13440fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * false); 134570e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, 134670e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments); 134770e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 134870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 134970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 13500fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 13510fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 13520fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 135370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 135470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 135570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 135670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 135770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 135870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 135970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 136070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 136170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 136270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 0x00000200; 136370e96ebf69f91da84681a6263b3862c63d53ab11alanv 136470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 136570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the next HTML element of a given type. For example, move 136670e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 136770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 136870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 136970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 137070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 137170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 137270e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 137370e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT, arguments); 137470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 137570e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 137670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 137770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_HTML_ELEMENT = 0x00000400; 137870e96ebf69f91da84681a6263b3862c63d53ab11alanv 137970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 138070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the previous HTML element of a given type. For example, move 138170e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 138270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 138370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 138470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 138570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 138670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 138770e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 138870e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT, arguments); 138970e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 139070e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 139170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 139270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_HTML_ELEMENT = 0x00000800; 139370e96ebf69f91da84681a6263b3862c63d53ab11alanv 139470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 139570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content forward. 139670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 139770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_FORWARD = 0x00001000; 139870e96ebf69f91da84681a6263b3862c63d53ab11alanv 139970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 140070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content backward. 140170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 140270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_BACKWARD = 0x00002000; 140370e96ebf69f91da84681a6263b3862c63d53ab11alanv 14040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in JellyBeanMr2 14050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 14060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 14070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to copy the current selection to the clipboard. 14080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 14090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_COPY = 0x00004000; 14100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 14110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 14120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to paste the current clipboard content. 14130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 14140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_PASTE = 0x00008000; 14150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 14160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 14170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to cut the current selection and place it to the clipboard. 14180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 14190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_CUT = 0x00010000; 14200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 14210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 14220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to set the selection. Performing this action with no arguments 14230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * clears the selection. 14240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 14250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_SELECTION_START_INT}, 14260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_SELECTION_END_INT}<br> 14270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> 14280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <code><pre><p> 14290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Bundle arguments = new Bundle(); 14300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 1); 14310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 2); 14320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * info.performAction(AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments); 14330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </code></pre></p> 14340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 14350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 14360fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_SELECTION_START_INT 14370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_SELECTION_END_INT 14380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 14390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_SET_SELECTION = 0x00020000; 14400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 14418d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu /** 14428d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Action that sets the text of the node. Performing the action without argument, using <code> 14438d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * null</code> or empty {@link CharSequence} will clear the text. This action will also put the 14448d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * cursor at the end of text. 14458d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <p> 14468d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE}<br> 14478d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Example:</strong> 14488d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <code><pre><p> 14498d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Bundle arguments = new Bundle(); 14508d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * arguments.putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, 14518d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * "android"); 14528d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * info.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments); 14538d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * </code></pre></p> 14548d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu */ 14558d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu public static final int ACTION_SET_TEXT = 0x00200000; 14568d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu 14570fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Action arguments 14580fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 145970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 146070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which movement granularity to be used when traversing the node text. 146170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 146270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> int<br> 146370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 146470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 146570e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 146670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 146770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = 146870e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT"; 146970e96ebf69f91da84681a6263b3862c63d53ab11alanv 147070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 147170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which HTML element to get moving to the next/previous HTML element. 147270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 147370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> String<br> 147470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_HTML_ELEMENT}, 147570e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_HTML_ELEMENT} 147670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 147770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 147870e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = 147970e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_HTML_ELEMENT_STRING"; 148070e96ebf69f91da84681a6263b3862c63d53ab11alanv 148170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 14820fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for whether when moving at granularity to extend the selection 14830fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * or to move it otherwise. 14840fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 14850fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> boolean<br> 14860fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 14870fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 14880fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 14890fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 14900fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_NEXT_AT_MOVEMENT_GRANULARITY 14910fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY 14920fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 14930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN = 14940fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN"; 14950fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 14960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 14970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for specifying the selection start. 14980fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 14990fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> int<br> 15000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_SET_SELECTION} 15010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 15020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 15030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_SET_SELECTION 15040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 15050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_SELECTION_START_INT = 15060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_SELECTION_START_INT"; 15070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 15080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 15090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for specifying the selection end. 15100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 15110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> int<br> 15120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_SET_SELECTION} 15130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 15140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 15150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_SET_SELECTION 15160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 15170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_SELECTION_END_INT = 15180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_SELECTION_END_INT"; 15190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 15208d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu /** 15218d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Argument for specifying the text content to set 15228d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <p> 15238d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Type:</strong> CharSequence<br> 15248d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Actions:</strong> {@link #ACTION_SET_TEXT} 15258d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * </p> 15268d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * 15278d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * @see #ACTION_SET_TEXT 15288d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu */ 15298d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu public static final String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE = 15308d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE"; 15318d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu 15320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Focus types 15330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 15340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 153570e96ebf69f91da84681a6263b3862c63d53ab11alanv * The input focus. 153670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 153770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_INPUT = 1; 153870e96ebf69f91da84681a6263b3862c63d53ab11alanv 153970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 154070e96ebf69f91da84681a6263b3862c63d53ab11alanv * The accessibility focus. 154170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 154270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_ACCESSIBILITY = 2; 154370e96ebf69f91da84681a6263b3862c63d53ab11alanv 154470e96ebf69f91da84681a6263b3862c63d53ab11alanv // Movement granularities 154570e96ebf69f91da84681a6263b3862c63d53ab11alanv 154670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 154770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by character. 154870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 154970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_CHARACTER = 0x00000001; 155070e96ebf69f91da84681a6263b3862c63d53ab11alanv 155170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 155270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by word. 155370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 155470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_WORD = 0x00000002; 155570e96ebf69f91da84681a6263b3862c63d53ab11alanv 155670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 155770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by line. 155870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 155970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_LINE = 0x00000004; 156070e96ebf69f91da84681a6263b3862c63d53ab11alanv 156170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 156270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by paragraph. 156370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 156470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 0x00000008; 156570e96ebf69f91da84681a6263b3862c63d53ab11alanv 156670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 156770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by page. 156870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 156970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PAGE = 0x00000010; 157070e96ebf69f91da84681a6263b3862c63d53ab11alanv 157170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 1572c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * Creates a wrapper for info implementation. 1573c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * 1574c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @param object The info to wrap. 1575c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @return A wrapper for if the object is not null, null otherwise. 1576c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov */ 1577c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov static AccessibilityNodeInfoCompat wrapNonNullInstance(Object object) { 1578c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov if (object != null) { 1579c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return new AccessibilityNodeInfoCompat(object); 1580c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 1581c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return null; 1582c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 1583c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov 1584956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov /** 1585956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * Creates a new instance wrapping an 1586956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * {@link android.view.accessibility.AccessibilityNodeInfo}. 1587956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * 1588956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @param info The info. 15899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat(Object info) { 15919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov mInfo = info; 15929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 1595956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @return The wrapped {@link android.view.accessibility.AccessibilityNodeInfo}. 15969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 1597956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov public Object getInfo() { 15989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return mInfo; 15999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one and 16039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * sets the source. 16049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 16069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see #setSource(View) 16079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(View source) { 160970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(source)); 161070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 161170e96ebf69f91da84681a6263b3862c63d53ab11alanv 161270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 161370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Returns a cached instance if such is available otherwise a new one 161470e96ebf69f91da84681a6263b3862c63d53ab11alanv * and sets the source. 161570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 161670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 161770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 161870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return An instance. 161970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 162070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setSource(View, int) 162170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 162270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static AccessibilityNodeInfoCompat obtain(View root, int virtualDescendantId) { 162370e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance( 162470e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.obtain(root, virtualDescendantId)); 16259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one. 16299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 16319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain() { 163370e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain()); 16349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available or a new one is create. 16389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * The returned instance is initialized from the given <code>info</code>. 16399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param info The other info. 16419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 16429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(AccessibilityNodeInfoCompat info) { 164470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(info.mInfo)); 16459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the source. 16499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param source The info source. 16519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(View source) { 16539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSource(mInfo, source); 16549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16573a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Sets the source to be a virtual descendant of the given <code>root</code>. 16583a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 16593a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is set as the source. 16603a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 16613a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 16623a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 16633a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report themselves as a tree of virtual views, thus conveying their 16643a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 16653a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 16663a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 16673a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16683a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. 16693a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * This class is made immutable before being delivered to an AccessibilityService. 16703a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 16713a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 16723a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 16733a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual descendant. 16743a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 16753a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(View root, int virtualDescendantId) { 16763a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setSource(mInfo, root, virtualDescendantId); 16773a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 16783a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 16793a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 168070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Find the view that has the specified focus type. The search starts from 168170e96ebf69f91da84681a6263b3862c63d53ab11alanv * the view represented by this node info. 168270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 168370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focus The focus to find. One of {@link #FOCUS_INPUT} or 168470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #FOCUS_ACCESSIBILITY}. 168570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info of the focused view or null. 168670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 168770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_INPUT 168870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_ACCESSIBILITY 168970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 169070e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat findFocus(int focus) { 169170e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.findFocus(mInfo, focus)); 169270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 169370e96ebf69f91da84681a6263b3862c63d53ab11alanv 169470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 169570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Searches for the nearest view in the specified direction that can take 169676ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * input focus. 169770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 169870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param direction The direction. Can be one of: 169970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_DOWN}, 170070e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_UP}, 170170e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_LEFT}, 170270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_RIGHT}, 170370e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_FORWARD}, 170476ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * {@link View#FOCUS_BACKWARD}. 170570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 170670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info for the view that can take accessibility focus. 170770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 170870e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat focusSearch(int direction) { 170970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.focusSearch(mInfo, direction)); 171070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 171170e96ebf69f91da84681a6263b3862c63d53ab11alanv 171270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 17139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the id of the window from which the info comes from. 17149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The window id. 17169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId() { 17189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getWindowId(mInfo); 17199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the number of children. 17239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child count. 17259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount() { 17279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getChildCount(mInfo); 17289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Get the child at given index. 17329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 17349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} to 17359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * avoid creating of multiple instances. 17369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 17379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param index The child index. 17399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child node. 17409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 17419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 17429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getChild(int index) { 174470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getChild(mInfo, index)); 17459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds a child. 17499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 17519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 17529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 17539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 17549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param child The child. 17569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 17579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(View child) { 17599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addChild(mInfo, child); 17609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17633a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Adds a virtual child which is a descendant of the given <code>root</code>. 17643a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 17653a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is added as a child. 17663a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 17673a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 17683a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 17693a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report them selves as a tree of virtual views, thus conveying their 17703a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 17713a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 17723a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 17733a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 17743a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual child. 17753a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 17763a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(View root, int virtualDescendantId) { 17773a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.addChild(mInfo, root, virtualDescendantId); 17783a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 17793a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 17803a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 17819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the actions that can be performed on the node. 17829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The bit mask of with actions. 17849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_FOCUS 17859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_FOCUS 17869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_SELECT 17879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_SELECTION 17889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions() { 17909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getActions(mInfo); 17919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds an action that can be performed on the node. 17959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 17979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 17989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 17999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 18009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action. 18029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 18039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(int action) { 18059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addAction(mInfo, action); 18069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 180984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * Adds an action that can be performed on the node. 181084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * <p> 181184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * <strong>Note:</strong> Cannot be called from an 181284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * {@link android.accessibilityservice.AccessibilityService}. This class is 181384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * made immutable before being delivered to an AccessibilityService. 181484ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * </p> 181584ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * 181684ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @param action The action. 181784ef4490e42b960ea375630f9cc37246af9c571bSvetoslav * @throws IllegalStateException If called from an AccessibilityService. 181884ef4490e42b960ea375630f9cc37246af9c571bSvetoslav */ 181984ef4490e42b960ea375630f9cc37246af9c571bSvetoslav public void addAction(AccessibilityActionCompat action) { 182084ef4490e42b960ea375630f9cc37246af9c571bSvetoslav IMPL.addAction(mInfo, action.mAction); 182184ef4490e42b960ea375630f9cc37246af9c571bSvetoslav } 182284ef4490e42b960ea375630f9cc37246af9c571bSvetoslav 182384ef4490e42b960ea375630f9cc37246af9c571bSvetoslav /** 18249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Performs an action on the node. 18259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 18269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> An action can be performed only if the request is 18279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made from an {@link android.accessibilityservice.AccessibilityService}. 18289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 18299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action to perform. 18319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the action was performed. 18329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 18339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 18349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(int action) { 18369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.performAction(mInfo, action); 18379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 184070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Performs an action on the node. 184170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 184270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> An action can be performed only if the request is made 184370e96ebf69f91da84681a6263b3862c63d53ab11alanv * from an {@link android.accessibilityservice.AccessibilityService}. 184470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 184570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 184670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param action The action to perform. 184770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param arguments A bundle with additional arguments. 184870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the action was performed. 184970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 185070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called outside of an AccessibilityService. 185170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 185270e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(int action, Bundle arguments) { 185370e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.performAction(mInfo, action, arguments); 185470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 185570e96ebf69f91da84681a6263b3862c63d53ab11alanv 185670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 185770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the movement granularities for traversing the text of this node. 185870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 185970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 186070e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 186170e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 186270e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 186370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 186470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param granularities The bit mask with granularities. 186570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 186670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 186770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 186870e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(int granularities) { 186970e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setMovementGranularities(mInfo, granularities); 187070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 187170e96ebf69f91da84681a6263b3862c63d53ab11alanv 187270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 187370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets the movement granularities for traversing the text of this node. 187470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 187570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The bit mask with granularities. 187670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 187770e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities() { 187870e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.getMovementGranularities(mInfo); 187970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 188070e96ebf69f91da84681a6263b3862c63d53ab11alanv 188170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 18829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Finds {@link android.view.accessibility.AccessibilityNodeInfo}s by text. The match 18839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * is case insensitive containment. The search is relative to this info i.e. this 18849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * info is the root of the traversed tree. 18859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 18869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 18879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 18889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 18899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 18909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The searched text. 18929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return A list of node info. 18939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<AccessibilityNodeInfoCompat> findAccessibilityNodeInfosByText(String text) { 18959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<AccessibilityNodeInfoCompat> result = new ArrayList<AccessibilityNodeInfoCompat>(); 18969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<Object> infos = IMPL.findAccessibilityNodeInfosByText(mInfo, text); 18979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov final int infoCount = infos.size(); 18989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov for (int i = 0; i < infoCount; i++) { 18999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov Object info = infos.get(i); 19009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov result.add(new AccessibilityNodeInfoCompat(info)); 19019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return result; 19039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the parent. 19079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 19089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 19099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 19109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 19119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 19129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The parent. 19149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getParent() { 191670e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getParent(mInfo)); 19179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the parent. 19219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 19229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 19239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 19249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 19259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 19269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param parent The parent. 19289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 19299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(View parent) { 19319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setParent(mInfo, parent); 19329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 193570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the parent to be a virtual descendant of the given <code>root</code>. 193670e96ebf69f91da84681a6263b3862c63d53ab11alanv * If <code>virtualDescendantId</code> equals to {@link View#NO_ID} the root 193770e96ebf69f91da84681a6263b3862c63d53ab11alanv * is set as the parent. 193870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 193970e96ebf69f91da84681a6263b3862c63d53ab11alanv * A virtual descendant is an imaginary View that is reported as a part of the view 194070e96ebf69f91da84681a6263b3862c63d53ab11alanv * hierarchy for accessibility purposes. This enables custom views that draw complex 194170e96ebf69f91da84681a6263b3862c63d53ab11alanv * content to report them selves as a tree of virtual views, thus conveying their 194270e96ebf69f91da84681a6263b3862c63d53ab11alanv * logical structure. 194370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 194470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 194570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 194670e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 194770e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 194870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 194970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 195070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 195170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 195270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 195370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(View root, int virtualDescendantId) { 195470e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setParent(mInfo, root, virtualDescendantId); 195570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 195670e96ebf69f91da84681a6263b3862c63d53ab11alanv 195770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 19589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in parent coordinates. 19599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 19619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Rect outBounds) { 19639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInParent(mInfo, outBounds); 19649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in parent coordinates. 19689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 19699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 19709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 19719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 19729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 19739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 19759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *@throws IllegalStateException If called from an AccessibilityService. 19769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Rect bounds) { 19789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setBoundsInParent(mInfo, bounds); 19799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in screen coordinates. 19839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 19859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Rect outBounds) { 19879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInScreen(mInfo, outBounds); 19889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in screen coordinates. 19929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 19939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 19949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 19959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 19969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 19979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 19999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 20009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Rect bounds) { 20023a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setBoundsInScreen(mInfo, bounds); 20039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checkable. 20079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checkable. 20099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable() { 20119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isCheckable(mInfo); 20129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checkable. 20169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 20179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 20189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 20199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 20209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 20219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checkable True if the node is checkable. 20239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 20249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(boolean checkable) { 20269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setCheckable(mInfo, checkable); 20279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checked. 20319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checked. 20339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked() { 20359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isChecked(mInfo); 20369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checked. 20409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 20419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 20429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 20439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 20449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 20459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checked True if the node is checked. 20479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 20489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(boolean checked) { 20509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setChecked(mInfo, checked); 20519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focusable. 20559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focusable. 20579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable() { 20599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocusable(mInfo); 20609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focusable. 20649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 20659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 20669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 20679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 20689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 20699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focusable True if the node is focusable. 20719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 20729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(boolean focusable) { 20749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocusable(mInfo, focusable); 20759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focused. 20799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focused. 20819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused() { 20839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocused(mInfo); 20849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focused. 20889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 20899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 20909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 20919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 20929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 20939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focused True if the node is focused. 20959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 20969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(boolean focused) { 20989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocused(mInfo, focused); 20999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 21009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 21019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 210270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 210370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 210470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return Whether the node is visible to the user. 210570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 210670e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser() { 210770e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isVisibleToUser(mInfo); 210870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 210970e96ebf69f91da84681a6263b3862c63d53ab11alanv 211070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 211170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 211270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 211370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 211470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 211570e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 211670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 211770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 211870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param visibleToUser Whether the node is visible to the user. 211970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 212070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 212170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 212270e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(boolean visibleToUser) { 212370e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setVisibleToUser(mInfo, visibleToUser); 212470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 212570e96ebf69f91da84681a6263b3862c63d53ab11alanv 212670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 212770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets whether this node is accessibility focused. 212870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 212970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the node is accessibility focused. 213070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 213170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused() { 213270e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isAccessibilityFocused(mInfo); 213370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 213470e96ebf69f91da84681a6263b3862c63d53ab11alanv 213570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 213670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is accessibility focused. 213770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 213870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 213970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 214070e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 214170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 214270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 214370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focused True if the node is accessibility focused. 214470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 214570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 214670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 214770e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(boolean focused) { 214870e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setAccessibilityFocused(mInfo, focused); 214970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 215070e96ebf69f91da84681a6263b3862c63d53ab11alanv 215170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 21529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is selected. 21539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 21549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is selected. 21559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 21569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected() { 21579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isSelected(mInfo); 21589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 21599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 21609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 21619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is selected. 21629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 21639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 21649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 21659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 21669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 21679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 21689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param selected True if the node is selected. 21699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 21709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 21719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(boolean selected) { 21729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSelected(mInfo, selected); 21739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 21749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 21759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 21769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is clickable. 21779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 21789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is clickable. 21799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 21809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable() { 21819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isClickable(mInfo); 21829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 21839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 21849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 21859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is clickable. 21869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 21879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 21889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 21899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 21909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 21919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 21929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param clickable True if the node is clickable. 21939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 21949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 21959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(boolean clickable) { 21969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClickable(mInfo, clickable); 21979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 21989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 21999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 22009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is long clickable. 22019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 22029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is long clickable. 22039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 22049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable() { 22059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isLongClickable(mInfo); 22069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 22099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is long clickable. 22109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 22119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 22129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 22139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 22149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 22159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 22169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param longClickable True if the node is long clickable. 22179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 22189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 22199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(boolean longClickable) { 22209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setLongClickable(mInfo, longClickable); 22219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 22249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is enabled. 22259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 22269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is enabled. 22279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 22289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled() { 22299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isEnabled(mInfo); 22309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 22339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is enabled. 22349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 22359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 22369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 22379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 22389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 22399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 22409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param enabled True if the node is enabled. 22419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 22429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 22439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(boolean enabled) { 22449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setEnabled(mInfo, enabled); 22459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 22489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is a password. 22499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 22509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is a password. 22519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 22529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword() { 22539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isPassword(mInfo); 22549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 22579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is a password. 22589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 22599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 22609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 22619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 22629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 22639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 22649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param password True if the node is a password. 22659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 22669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 22679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(boolean password) { 22689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPassword(mInfo, password); 22699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 22729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets if the node is scrollable. 22739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 22749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is scrollable, false otherwise. 22759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 22769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable() { 22779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isScrollable(mInfo); 22789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 22819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets if the node is scrollable. 22829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 22839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 22849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 22859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 22869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 22879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 22889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param scrollable True if the node is scrollable, false otherwise. 22899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 22909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 22919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(boolean scrollable) { 22929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setScrollable(mInfo, scrollable); 22939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 22969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the package this node comes from. 22979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 22989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The package name. 22999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName() { 23019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getPackageName(mInfo); 23029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the package this node comes from. 23069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 23079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 23089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 23099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 23109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 23119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param packageName The package name. 23139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 23149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(CharSequence packageName) { 23169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPackageName(mInfo, packageName); 23179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the class this node comes from. 23219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The class name. 23239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName() { 23259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getClassName(mInfo); 23269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the class this node comes from. 23309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 23319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 23329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 23339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 23349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 23359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param className The class name. 23379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 23389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(CharSequence className) { 23409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClassName(mInfo, className); 23419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the text of this node. 23459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The text. 23479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText() { 23499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getText(mInfo); 23509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the text of this node. 23549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 23559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 23569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 23579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 23589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 23599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The text. 23619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 23629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(CharSequence text) { 23649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setText(mInfo, text); 23659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the content description of this node. 23699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The content description. 23719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription() { 23739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getContentDescription(mInfo); 23749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the content description of this node. 23789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 23799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 23809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 23819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 23829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 23839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param contentDescription The content description. 23859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 23869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(CharSequence contentDescription) { 23889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setContentDescription(mInfo, contentDescription); 23899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 23909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 23929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Return an instance back to be reused. 23939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 23949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> You must not touch the object after calling this function. 23959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 23969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If the info is already recycled. 23979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 23989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle() { 23999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.recycle(mInfo); 24009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 24019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 24020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 24030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Sets the fully qualified resource name of the source view's id. 24040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 24050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 24060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Note:</strong> Cannot be called from an 24070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link android.accessibilityservice.AccessibilityService}. 24080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * This class is made immutable before being delivered to an AccessibilityService. 24090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 24100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 24110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @param viewId The id resource name. 24120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 2413071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(String viewId) { 24140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav IMPL.setViewIdResourceName(mInfo, viewId); 24150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 24160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 24170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 24180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Gets the fully qualified resource name of the source view's id. 24190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 24200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 24210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Note:</strong> The primary usage of this API is for UI test automation 24220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * and in order to report the source view id of an {@link AccessibilityNodeInfoCompat} 24230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * the client has to set the {@link AccessibilityServiceInfoCompat#FLAG_REPORT_VIEW_IDS} 24240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * flag when configuring his {@link android.accessibilityservice.AccessibilityService}. 24250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 24260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 24270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @return The id resource name. 24280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 2429071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName() { 24300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return IMPL.getViewIdResourceName(mInfo); 24310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 24320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 2433086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette /** 2434086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * Gets the node's live region mode. 2435086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 2436086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * A live region is a node that contains information that is important for 2437086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * the user and when it changes the user should be notified. For example, 2438086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * in a login screen with a TextView that displays an "incorrect password" 2439086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * notification, that view should be marked as a live region with mode 2440086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_POLITE}. 2441086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 2442086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * It is the responsibility of the accessibility service to monitor 2443086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link AccessibilityEventCompat#TYPE_WINDOW_CONTENT_CHANGED} events 2444086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * indicating changes to live region nodes and their children. 2445086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * 2446086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @return The live region mode, or 2447086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_NONE} if the view is 2448086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * not a live region. 2449086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @see ViewCompat#getAccessibilityLiveRegion(View) 2450086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette */ 2451086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion() { 2452086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return IMPL.getLiveRegion(mInfo); 2453086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 2454086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 2455086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette /** 2456086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * Sets the node's live region mode. 2457086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 2458086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <strong>Note:</strong> Cannot be called from an 2459086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link android.accessibilityservice.AccessibilityService}. This class is 2460086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * made immutable before being delivered to an AccessibilityService. 2461086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * 2462086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @param mode The live region mode, or 2463086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_NONE} if the view is 2464086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * not a live region. 2465086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @see ViewCompat#setAccessibilityLiveRegion(View, int) 2466086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette */ 2467086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(int mode) { 2468086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette IMPL.setLiveRegion(mInfo, mode); 2469086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 2470086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 2471fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 2472fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the collection info if the node is a collection. A collection 2473fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * child is always a collection item. 2474fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 2475fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The collection info. 2476fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 2477fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public CollectionInfoCompat getCollectionInfo() { 2478fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getCollectionInfo(mInfo); 2479fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 2480fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new CollectionInfoCompat(info); 2481fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 2482fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 2483a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionInfo(Object collectionInfo) { 2484a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar IMPL.setCollectionInfo(mInfo, ((CollectionInfoCompat) collectionInfo).mInfo); 2485a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2486a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2487a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar public void setCollectionItemInfo(Object collectionItemInfo) { 2488a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar IMPL.setCollectionItemInfo(mInfo, ((CollectionItemInfoCompat) collectionItemInfo).mInfo); 2489a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar } 2490a910619e83d0052e1d81aa5fe532821a2f99d76cYigit Boyar 2491fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 2492fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the collection item info if the node is a collection item. A collection 2493fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * item is always a child of a collection. 2494fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 2495fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The collection item info. 2496fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 2497fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public CollectionItemInfoCompat getCollectionItemInfo() { 2498fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getCollectionItemInfo(mInfo); 2499fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 2500fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new CollectionItemInfoCompat(info); 2501fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 2502fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 2503fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 2504fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the range info if this node is a range. 2505fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 2506fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The range. 2507fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 2508fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public RangeInfoCompat getRangeInfo() { 2509fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getRangeInfo(mInfo); 2510fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 2511fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new RangeInfoCompat(info); 2512fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 2513fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 2514389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 2515389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the actions that can be performed on the node. 2516389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 2517389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return A list of AccessibilityActions. 2518389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 2519389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<AccessibilityActionCompat> getActionList() { 2520389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen List<Object> actions = IMPL.getActionList(mInfo); 2521cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen if (actions != null) { 2522cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen List<AccessibilityActionCompat> result = new ArrayList<AccessibilityActionCompat>(); 2523cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen final int actionCount = actions.size(); 2524cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen for (int i = 0; i < actionCount; i++) { 2525cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen Object action = actions.get(i); 2526cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen result.add(new AccessibilityActionCompat(action)); 2527cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen } 2528cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen return result; 2529cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen } else { 2530cd85b06ae9fe64f4fc360b97a9af8896c193c403Kristian Monsen return Collections.<AccessibilityActionCompat>emptyList(); 2531389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 2532389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 2533389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 2534389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 25359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 25369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int hashCode() { 25379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return (mInfo == null) ? 0 : mInfo.hashCode(); 25389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 25399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 25409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 25419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean equals(Object obj) { 25429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (this == obj) { 25439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 25449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 25459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (obj == null) { 25469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 25479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 25489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (getClass() != obj.getClass()) { 25499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 25509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 25519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompat other = (AccessibilityNodeInfoCompat) obj; 25529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (mInfo == null) { 25539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (other.mInfo != null) { 25549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 25559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 25569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else if (!mInfo.equals(other.mInfo)) { 25579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 25589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 25599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 25609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 25610fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25620fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 25630fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public String toString() { 25640fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav StringBuilder builder = new StringBuilder(); 25650fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(super.toString()); 25660fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25670fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav Rect bounds = new Rect(); 25680fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25690fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav getBoundsInParent(bounds); 25700fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; boundsInParent: " + bounds); 25710fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25720fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav getBoundsInScreen(bounds); 25730fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; boundsInScreen: " + bounds); 25740fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; packageName: ").append(getPackageName()); 25760fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; className: ").append(getClassName()); 25770fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; text: ").append(getText()); 25780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; contentDescription: ").append(getContentDescription()); 25790fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; viewId: ").append(getViewIdResourceName()); 25800fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25810fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; checkable: ").append(isCheckable()); 25820fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; checked: ").append(isChecked()); 25830fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; focusable: ").append(isFocusable()); 25840fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; focused: ").append(isFocused()); 25850fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; selected: ").append(isSelected()); 25860fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; clickable: ").append(isClickable()); 25870fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; longClickable: ").append(isLongClickable()); 25880fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; enabled: ").append(isEnabled()); 25890fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; password: ").append(isPassword()); 25900fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; scrollable: " + isScrollable()); 25910fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 25920fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; ["); 25930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav for (int actionBits = getActions(); actionBits != 0;) { 25940fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav final int action = 1 << Integer.numberOfTrailingZeros(actionBits); 25950fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav actionBits &= ~action; 25960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(getActionSymbolicName(action)); 25970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav if (actionBits != 0) { 25980fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(", "); 25990fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 26000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 26010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("]"); 26020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 26030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return builder.toString(); 26040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 26050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 26060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav private static String getActionSymbolicName(int action) { 26070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav switch (action) { 26080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_FOCUS: 26090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_FOCUS"; 26100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_FOCUS: 26110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_FOCUS"; 26120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SELECT: 26130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SELECT"; 26140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_SELECTION: 26150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_SELECTION"; 26160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLICK: 26170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLICK"; 26180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_LONG_CLICK: 26190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_LONG_CLICK"; 26200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_ACCESSIBILITY_FOCUS: 26210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_ACCESSIBILITY_FOCUS"; 26220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_ACCESSIBILITY_FOCUS: 26230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_ACCESSIBILITY_FOCUS"; 26240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_NEXT_AT_MOVEMENT_GRANULARITY: 26250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_NEXT_AT_MOVEMENT_GRANULARITY"; 26260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: 26270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY"; 26280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_NEXT_HTML_ELEMENT: 26290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_NEXT_HTML_ELEMENT"; 26300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PREVIOUS_HTML_ELEMENT: 26310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PREVIOUS_HTML_ELEMENT"; 26320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SCROLL_FORWARD: 26330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SCROLL_FORWARD"; 26340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SCROLL_BACKWARD: 26350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SCROLL_BACKWARD"; 26360fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CUT: 26370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CUT"; 26380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_COPY: 26390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_COPY"; 26400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PASTE: 26410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PASTE"; 26420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SET_SELECTION: 26430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SET_SELECTION"; 26440fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav default: 26450fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return"ACTION_UNKNOWN"; 26460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 26470fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 26489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov} 2649