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.view.View; 219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.accessibility.AccessibilityNodeInfo; 229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.List; 249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/** 269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * ICS specific AccessibilityNodeInfo API implementation. 279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovclass AccessibilityNodeInfoCompatIcs { 299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static Object obtain() { 319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfo.obtain(); 329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static Object obtain(View source) { 359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfo.obtain(source); 369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static Object obtain(Object info) { 399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfo.obtain((AccessibilityNodeInfo) info); 409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void addAction(Object info, int action) { 439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).addAction(action); 449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void addChild(Object info, View child) { 479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).addChild(child); 489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @SuppressWarnings("unchecked") 519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov Object result = ((AccessibilityNodeInfo) info).findAccessibilityNodeInfosByText(text); 539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return (List<Object>) result; 549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getActions(Object info) { 579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).getActions(); 589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void getBoundsInParent(Object info, Rect outBounds) { 619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).getBoundsInParent(outBounds); 629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void getBoundsInScreen(Object info, Rect outBounds) { 659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).getBoundsInScreen(outBounds); 669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static Object getChild(Object info, int index) { 699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).getChild(index); 709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getChildCount(Object info) { 739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).getChildCount(); 749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static CharSequence getClassName(Object info) { 779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).getClassName(); 789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static CharSequence getContentDescription(Object info) { 819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).getContentDescription(); 829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static CharSequence getPackageName(Object info) { 859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).getPackageName(); 869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static Object getParent(Object info) { 899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).getParent(); 909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static CharSequence getText(Object info) { 939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).getText(); 949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getWindowId(Object info) { 979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).getWindowId(); 989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isCheckable(Object info) { 1019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).isCheckable(); 1029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isChecked(Object info) { 1059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).isChecked(); 1069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isClickable(Object info) { 1099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).isClickable(); 1109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isEnabled(Object info) { 1139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).isEnabled(); 1149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isFocusable(Object info) { 1179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).isFocusable(); 1189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isFocused(Object info) { 1219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).isFocused(); 1229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isLongClickable(Object info) { 1259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).isLongClickable(); 1269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isPassword(Object info) { 1299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).isPassword(); 1309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isScrollable(Object info) { 1339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).isScrollable(); 1349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isSelected(Object info) { 1379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).isSelected(); 1389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean performAction(Object info, int action) { 1419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityNodeInfo) info).performAction(action); 1429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setBoundsInParent(Object info, Rect bounds) { 1459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setBoundsInParent(bounds); 1469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setBoundsInScreen(Object info, Rect bounds) { 1499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setBoundsInScreen(bounds); 1509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setCheckable(Object info, boolean checkable) { 1539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setCheckable(checkable); 1549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setChecked(Object info, boolean checked) { 1579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setChecked(checked); 1589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setClassName(Object info, CharSequence className) { 1619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setClassName(className); 1629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setClickable(Object info, boolean clickable) { 1659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setClickable(clickable); 1669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setContentDescription(Object info, CharSequence contentDescription) { 1699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setContentDescription(contentDescription); 1709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setEnabled(Object info, boolean enabled) { 1739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setEnabled(enabled); 1749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setFocusable(Object info, boolean focusable) { 1779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setFocusable(focusable); 1789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setFocused(Object info, boolean focused) { 1819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setFocused(focused); 1829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setLongClickable(Object info, boolean longClickable) { 1859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setLongClickable(longClickable); 1869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setPackageName(Object info, CharSequence packageName) { 1899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setPackageName(packageName); 1909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setParent(Object info, View parent) { 1939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setParent(parent); 1949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setPassword(Object info, boolean password) { 1979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setPassword(password); 1989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setScrollable(Object info, boolean scrollable) { 2019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setScrollable(scrollable); 2029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setSelected(Object info, boolean selected) { 2059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setSelected(selected); 2069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setSource(Object info, View source) { 2099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setSource(source); 2109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setText(Object info, CharSequence text) { 2139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).setText(text); 2149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void recycle(Object info) { 2179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityNodeInfo) info).recycle(); 2189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov} 220