AccessibilityNodeInfoCompat.java revision 956b013dfda37760b0232ed6d448900a546d2903
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; 219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.View; 229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.ArrayList; 24f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganovimport java.util.Collections; 259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.List; 269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/** 280574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * Helper for accessing {@link android.view.accessibility.AccessibilityNodeInfo} 290574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * introduced after API level 4 in a backwards compatible fashion. 309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovpublic class AccessibilityNodeInfoCompat { 329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static interface AccessibilityNodeInfoImpl { 349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(); 359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source); 369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info); 379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source); 389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info); 399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info); 40c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov public AccessibilityNodeInfoCompat getChild(Object info, int index); 419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child); 429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info); 439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action); 449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action); 459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text); 46c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov public AccessibilityNodeInfoCompat getParent(Object info); 479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent); 489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds); 499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds); 509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds); 519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds); 529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info); 539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable); 549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info); 559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked); 569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info); 579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable); 589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info); 599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused); 609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info); 619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected); 629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info); 639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable); 649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info); 659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable); 669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info); 679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled); 689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info); 699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password); 709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info); 719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable); 729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info); 739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName); 749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info); 759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className); 769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info); 779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text); 789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info); 799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription); 809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info); 819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoStubImpl implements AccessibilityNodeInfoImpl { 849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 1019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 105f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganov return Collections.emptyList(); 1069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 1099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 1109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 1139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 1179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 120c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov public AccessibilityNodeInfoCompat getChild(Object info, int index) { 1219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 1259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 1269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 1299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 1339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 1379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getParent(Object info) { 1419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 1459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 1499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 1509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 1539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 1579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 1619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 1659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 1699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 1739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 1779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 1819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 1859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 1899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 1939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 1979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 2019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 2059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 2099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 2139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 2179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 2219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 2259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 2299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 2339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 2379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 2419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 2459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 2499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 2539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 2579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 2619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 2659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 2699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoIcsImpl extends AccessibilityNodeInfoStubImpl { 2749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 2759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 2769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(); 2779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 2809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 2819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(source); 2829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 2859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 2869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(info); 2879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 2909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 2919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addAction(info, action); 2929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 2959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 2969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addChild(info, child); 2979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 3019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.findAccessibilityNodeInfosByText(info, text); 3029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 3069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getActions(info); 3079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 3119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInParent(info, outBounds); 3129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 3169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInScreen(info, outBounds); 3179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getChild(Object info, int index) { 321c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return AccessibilityNodeInfoCompat.wrapNonNullInstance( 322c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getChild(info, index)); 3239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 3279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getChildCount(info); 3289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 3329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getClassName(info); 3339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 3379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getContentDescription(info); 3389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 3429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getPackageName(info); 3439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getParent(Object info) { 347c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return AccessibilityNodeInfoCompat.wrapNonNullInstance( 348c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getParent(info)); 3499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 3539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getText(info); 3549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 3589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getWindowId(info); 3599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 3639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isCheckable(info); 3649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 3689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isChecked(info); 3699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 3739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isClickable(info); 3749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 3789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isEnabled(info); 3799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 3839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocusable(info); 3849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 3889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocused(info); 3899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 3939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isLongClickable(info); 3949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 3979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 3989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isPassword(info); 3999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 4039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isScrollable(info); 4049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 4089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isSelected(info); 4099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 4139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.performAction(info, action); 4149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 4189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInParent(info, bounds); 4199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 4239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInScreen(info, bounds); 4249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 4289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setCheckable(info, checkable); 4299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 4339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setChecked(info, checked); 4349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 4389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClassName(info, className); 4399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 4439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClickable(info, clickable); 4449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 4489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setContentDescription(info, contentDescription); 4499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 4539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setEnabled(info, enabled); 4549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 4589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocusable(info, focusable); 4599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 4639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocused(info, focused); 4649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 4689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setLongClickable(info, longClickable); 4699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 4739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPackageName(info, packageName); 4749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 4789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setParent(info, parent); 4799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 4839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPassword(info, password); 4849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 4889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setScrollable(info, scrollable); 4899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 4939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSelected(info, selected); 4949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 4989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSource(info, source); 4999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 5039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setText(info, text); 5049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 5089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.recycle(info); 5099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static { 5139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (Build.VERSION.SDK_INT >= 14) { // ICS 5149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoIcsImpl(); 5159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else { 5169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoStubImpl(); 5179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private static final AccessibilityNodeInfoImpl IMPL; 5219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private final Object mInfo; 5239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov // Actions. 5259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 5279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that focuses the node. 5289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 5299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_FOCUS = 0x00000001; 5309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 5329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unfocuses the node. 5339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 5349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_FOCUS = 0x00000002; 5359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 5379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that selects the node. 5389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 5399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_SELECT = 0x00000004; 5409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 5429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unselects the node. 5439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 5449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_SELECTION = 0x00000008; 5459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 546c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov /** 547c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * Creates a wrapper for info implementation. 548c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * 549c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @param object The info to wrap. 550c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @return A wrapper for if the object is not null, null otherwise. 551c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov */ 552c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov static AccessibilityNodeInfoCompat wrapNonNullInstance(Object object) { 553c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov if (object != null) { 554c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return new AccessibilityNodeInfoCompat(object); 555c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 556c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return null; 557c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 558c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov 559956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov /** 560956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * Creates a new instance wrapping an 561956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * {@link android.view.accessibility.AccessibilityNodeInfo}. 562956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * 563956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @param info The info. 5649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 5659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat(Object info) { 5669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov mInfo = info; 5679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 570956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @return The wrapped {@link android.view.accessibility.AccessibilityNodeInfo}. 5719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 572956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov public Object getInfo() { 5739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return mInfo; 5749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 5779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one and 5789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * sets the source. 5799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 5809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 5819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see #setSource(View) 5829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 5839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(View source) { 5849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return new AccessibilityNodeInfoCompat(IMPL.obtain(source)); 5859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 5889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one. 5899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 5909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 5919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 5929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain() { 5939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return new AccessibilityNodeInfoCompat(IMPL.obtain()); 5949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 5979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available or a new one is create. 5989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * The returned instance is initialized from the given <code>info</code>. 5999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 6009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param info The other info. 6019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 6029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 6039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(AccessibilityNodeInfoCompat info) { 6049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return new AccessibilityNodeInfoCompat(IMPL.obtain(info.mInfo)); 6059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 6089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the source. 6099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 6109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param source The info source. 6119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 6129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(View source) { 6139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSource(mInfo, source); 6149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 6179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the id of the window from which the info comes from. 6189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 6199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The window id. 6209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 6219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId() { 6229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getWindowId(mInfo); 6239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 6269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the number of children. 6279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 6289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child count. 6299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 6309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount() { 6319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getChildCount(mInfo); 6329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 6359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Get the child at given index. 6369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 6379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 6389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} to 6399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * avoid creating of multiple instances. 6409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 6419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 6429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param index The child index. 6439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child node. 6449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 6459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 6469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 6479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getChild(int index) { 648c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return IMPL.getChild(mInfo, index); 6499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 6529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds a child. 6539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 6549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 6559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 6569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 6579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 6589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 6599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param child The child. 6609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 6619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 6629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(View child) { 6639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addChild(mInfo, child); 6649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 6679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the actions that can be performed on the node. 6689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 6699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The bit mask of with actions. 6709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_FOCUS 6719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_FOCUS 6729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_SELECT 6739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_SELECTION 6749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 6759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions() { 6769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getActions(mInfo); 6779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 6809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds an action that can be performed on the node. 6819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 6829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 6839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 6849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 6859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 6869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 6879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action. 6889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 6899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 6909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(int action) { 6919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addAction(mInfo, action); 6929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 6959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Performs an action on the node. 6969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 6979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> An action can be performed only if the request is 6989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made from an {@link android.accessibilityservice.AccessibilityService}. 6999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 7009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 7019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action to perform. 7029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the action was performed. 7039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 7049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 7059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(int action) { 7079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.performAction(mInfo, action); 7089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Finds {@link android.view.accessibility.AccessibilityNodeInfo}s by text. The match 7129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * is case insensitive containment. The search is relative to this info i.e. this 7139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * info is the root of the traversed tree. 7149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 7159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 7169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 7179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 7189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 7199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 7209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The searched text. 7219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return A list of node info. 7229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<AccessibilityNodeInfoCompat> findAccessibilityNodeInfosByText(String text) { 7249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<AccessibilityNodeInfoCompat> result = new ArrayList<AccessibilityNodeInfoCompat>(); 7259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<Object> infos = IMPL.findAccessibilityNodeInfosByText(mInfo, text); 7269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov final int infoCount = infos.size(); 7279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov for (int i = 0; i < infoCount; i++) { 7289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov Object info = infos.get(i); 7299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov result.add(new AccessibilityNodeInfoCompat(info)); 7309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return result; 7329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the parent. 7369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 7379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 7389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 7399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 7409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 7419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 7429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The parent. 7439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getParent() { 745c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return IMPL.getParent(mInfo); 7469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the parent. 7509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 7519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 7529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 7539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 7549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 7559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 7569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param parent The parent. 7579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 7589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(View parent) { 7609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setParent(mInfo, parent); 7619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in parent coordinates. 7659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 7669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 7679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Rect outBounds) { 7699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInParent(mInfo, outBounds); 7709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in parent coordinates. 7749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 7759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 7769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 7779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 7789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 7799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 7809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 7819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *@throws IllegalStateException If called from an AccessibilityService. 7829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Rect bounds) { 7849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setBoundsInParent(mInfo, bounds); 7859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in screen coordinates. 7899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 7909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 7919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Rect outBounds) { 7939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInScreen(mInfo, outBounds); 7949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in screen coordinates. 7989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 7999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 8009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 8019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 8029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 8039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 8049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 8059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 8069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 8079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Rect bounds) { 8089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setBoundsInParent(mInfo, bounds); 8099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 8129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checkable. 8139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 8149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checkable. 8159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 8169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable() { 8179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isCheckable(mInfo); 8189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 8219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checkable. 8229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 8239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 8249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 8259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 8269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 8279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 8289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checkable True if the node is checkable. 8299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 8309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 8319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(boolean checkable) { 8329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setCheckable(mInfo, checkable); 8339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 8369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checked. 8379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 8389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checked. 8399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 8409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked() { 8419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isChecked(mInfo); 8429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 8459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checked. 8469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 8479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 8489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 8499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 8509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 8519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 8529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checked True if the node is checked. 8539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 8549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 8559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(boolean checked) { 8569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setChecked(mInfo, checked); 8579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 8609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focusable. 8619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 8629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focusable. 8639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 8649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable() { 8659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocusable(mInfo); 8669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 8699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focusable. 8709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 8719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 8729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 8739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 8749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 8759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 8769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focusable True if the node is focusable. 8779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 8789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 8799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(boolean focusable) { 8809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocusable(mInfo, focusable); 8819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 8849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focused. 8859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 8869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focused. 8879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 8889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused() { 8899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocused(mInfo); 8909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 8939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focused. 8949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 8959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 8969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 8979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 8989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 8999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focused True if the node is focused. 9019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 9029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(boolean focused) { 9049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocused(mInfo, focused); 9059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is selected. 9099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is selected. 9119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected() { 9139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isSelected(mInfo); 9149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is selected. 9189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 9199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 9209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 9219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 9229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 9239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param selected True if the node is selected. 9259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 9269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(boolean selected) { 9289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSelected(mInfo, selected); 9299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is clickable. 9339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is clickable. 9359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable() { 9379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isClickable(mInfo); 9389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is clickable. 9429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 9439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 9449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 9459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 9469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 9479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param clickable True if the node is clickable. 9499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 9509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(boolean clickable) { 9529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClickable(mInfo, clickable); 9539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is long clickable. 9579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is long clickable. 9599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable() { 9619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isLongClickable(mInfo); 9629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is long clickable. 9669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 9679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 9689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 9699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 9709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 9719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param longClickable True if the node is long clickable. 9739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 9749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(boolean longClickable) { 9769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setLongClickable(mInfo, longClickable); 9779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is enabled. 9819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is enabled. 9839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled() { 9859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isEnabled(mInfo); 9869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is enabled. 9909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 9919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 9929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 9939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 9949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 9959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param enabled True if the node is enabled. 9979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 9989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(boolean enabled) { 10009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setEnabled(mInfo, enabled); 10019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is a password. 10059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is a password. 10079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword() { 10099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isPassword(mInfo); 10109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is a password. 10149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 10159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 10169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 10179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 10189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 10199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param password True if the node is a password. 10219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 10229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(boolean password) { 10249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPassword(mInfo, password); 10259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets if the node is scrollable. 10299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is scrollable, false otherwise. 10319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable() { 10339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isScrollable(mInfo); 10349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets if the node is scrollable. 10389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 10399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 10409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 10419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 10429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 10439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param scrollable True if the node is scrollable, false otherwise. 10459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 10469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(boolean scrollable) { 10489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setScrollable(mInfo, scrollable); 10499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the package this node comes from. 10539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The package name. 10559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName() { 10579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getPackageName(mInfo); 10589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the package this node comes from. 10629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 10639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 10649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 10659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 10669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 10679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param packageName The package name. 10699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 10709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(CharSequence packageName) { 10729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPackageName(mInfo, packageName); 10739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the class this node comes from. 10779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The class name. 10799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName() { 10819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getClassName(mInfo); 10829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the class this node comes from. 10869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 10879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 10889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 10899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 10909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 10919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param className The class name. 10939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 10949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(CharSequence className) { 10969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClassName(mInfo, className); 10979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the text of this node. 11019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The text. 11039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText() { 11059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getText(mInfo); 11069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the text of this node. 11109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 11119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 11129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 11139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 11149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 11159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The text. 11179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 11189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(CharSequence text) { 11209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setText(mInfo, text); 11219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the content description of this node. 11259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The content description. 11279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription() { 11299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getContentDescription(mInfo); 11309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the content description of this node. 11349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 11359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 11369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 11379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 11389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 11399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param contentDescription The content description. 11419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 11429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(CharSequence contentDescription) { 11449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setContentDescription(mInfo, contentDescription); 11459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Return an instance back to be reused. 11499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 11509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> You must not touch the object after calling this function. 11519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If the info is already recycled. 11539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle() { 11559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.recycle(mInfo); 11569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 11599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int hashCode() { 11609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return (mInfo == null) ? 0 : mInfo.hashCode(); 11619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 11649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean equals(Object obj) { 11659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (this == obj) { 11669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 11679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (obj == null) { 11699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 11709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (getClass() != obj.getClass()) { 11729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 11739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompat other = (AccessibilityNodeInfoCompat) obj; 11759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (mInfo == null) { 11769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (other.mInfo != null) { 11779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 11789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else if (!mInfo.equals(other.mInfo)) { 11809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 11819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 11839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov} 1185