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.os.Parcelable; 209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.View; 219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.accessibility.AccessibilityRecord; 229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.List; 249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/** 269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * ICS specific AccessibilityRecord API implementation. 279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovclass AccessibilityRecordCompatIcs { 299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static Object obtain() { 319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityRecord.obtain(); 329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static Object obtain(Object record) { 359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityRecord.obtain((AccessibilityRecord) record); 369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getAddedCount(Object record) { 399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getAddedCount(); 409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static CharSequence getBeforeText(Object record) { 439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getBeforeText(); 449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static CharSequence getClassName(Object record) { 479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getClassName(); 489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static CharSequence getContentDescription(Object record) { 519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getContentDescription(); 529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getCurrentItemIndex(Object record) { 559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getCurrentItemIndex(); 569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getFromIndex(Object record) { 599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getFromIndex(); 609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getItemCount(Object record) { 639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getItemCount(); 649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// TODO: Uncomment when these APIs become public 679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// public static int getMaxScrollX(Object record) { 689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// return ((AccessibilityRecord) record).getMaxScrollX(); 699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// } 709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// 719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// public static int getMaxScrollY(Object record) { 729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// return ((AccessibilityRecord) record).getMaxScrollY(); 739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// } 749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static Parcelable getParcelableData(Object record) { 769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getParcelableData(); 779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getRemovedCount(Object record) { 809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getRemovedCount(); 819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getScrollX(Object record) { 849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getScrollX(); 859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getScrollY(Object record) { 889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getScrollY(); 899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static Object getSource(Object record) { 929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getSource(); 939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static List<CharSequence> getText(Object record) { 969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getText(); 979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getToIndex(Object record) { 1009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getToIndex(); 1019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static int getWindowId(Object record) { 1049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).getWindowId(); 1059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isChecked(Object record) { 1089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).isChecked(); 1099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isEnabled(Object record) { 1129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).isEnabled(); 1139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isFullScreen(Object record) { 1169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).isFullScreen(); 1179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isPassword(Object record) { 1209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).isPassword(); 1219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static boolean isScrollable(Object record) { 1249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return ((AccessibilityRecord) record).isScrollable(); 1259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void recycle(Object record) { 1289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).recycle(); 1299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setAddedCount(Object record, int addedCount) { 1329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setAddedCount(addedCount); 1339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setBeforeText(Object record, CharSequence beforeText) { 1369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setBeforeText(beforeText); 1379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setChecked(Object record, boolean isChecked) { 1409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setChecked(isChecked); 1419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setClassName(Object record, CharSequence className) { 1449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setClassName(className); 1459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setContentDescription(Object record, CharSequence contentDescription) { 1489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setContentDescription(contentDescription); 1499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setCurrentItemIndex(Object record, int currentItemIndex) { 1529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setCurrentItemIndex(currentItemIndex); 1539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setEnabled(Object record, boolean isEnabled) { 1569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setEnabled(isEnabled); 1579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setFromIndex(Object record, int fromIndex) { 1609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setFromIndex(fromIndex); 1619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setFullScreen(Object record, boolean isFullScreen) { 1649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setFullScreen(isFullScreen); 1659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setItemCount(Object record, int itemCount) { 1689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setItemCount(itemCount); 1699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// TODO: Uncomment when these APIs become public 1729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// public static void setMaxScrollX(Object record, int maxScrollX) { 1739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// ((AccessibilityRecord) record).setMaxScrollX(maxScrollX); 1749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// } 1759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// 1769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// public static void setMaxScrollY(Object record, int maxScrollY) { 1779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// ((AccessibilityRecord) record).setMaxScrollY(maxScrollY); 1789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov// } 1799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setParcelableData(Object record, Parcelable parcelableData) { 1819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setParcelableData(parcelableData); 1829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setPassword(Object record, boolean isPassword) { 1859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setPassword(isPassword); 1869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setRemovedCount(Object record, int removedCount) { 1899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setRemovedCount(removedCount); 1909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setScrollX(Object record, int scrollX) { 1939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setScrollX(scrollX); 1949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setScrollY(Object record, int scrollY) { 1979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setScrollY(scrollY); 1989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setScrollable(Object record, boolean scrollable) { 2019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setScrollable(scrollable); 2029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setSource(Object record, View source) { 2059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setSource(source); 2069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static void setToIndex(Object record, int toIndex) { 2099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov ((AccessibilityRecord) record).setToIndex(toIndex); 2109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov} 212