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