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