1/* 2 * Copyright (C) 2011 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.support.v4.view.accessibility; 18 19import android.graphics.Rect; 20import android.view.View; 21import android.view.accessibility.AccessibilityNodeInfo; 22 23import java.util.List; 24 25/** 26 * ICS specific AccessibilityNodeInfo API implementation. 27 */ 28class AccessibilityNodeInfoCompatIcs { 29 30 public static Object obtain() { 31 return AccessibilityNodeInfo.obtain(); 32 } 33 34 public static Object obtain(View source) { 35 return AccessibilityNodeInfo.obtain(source); 36 } 37 38 public static Object obtain(Object info) { 39 return AccessibilityNodeInfo.obtain((AccessibilityNodeInfo) info); 40 } 41 42 public static void addAction(Object info, int action) { 43 ((AccessibilityNodeInfo) info).addAction(action); 44 } 45 46 public static void addChild(Object info, View child) { 47 ((AccessibilityNodeInfo) info).addChild(child); 48 } 49 50 @SuppressWarnings("unchecked") 51 public static List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 52 Object result = ((AccessibilityNodeInfo) info).findAccessibilityNodeInfosByText(text); 53 return (List<Object>) result; 54 } 55 56 public static int getActions(Object info) { 57 return ((AccessibilityNodeInfo) info).getActions(); 58 } 59 60 public static void getBoundsInParent(Object info, Rect outBounds) { 61 ((AccessibilityNodeInfo) info).getBoundsInParent(outBounds); 62 } 63 64 public static void getBoundsInScreen(Object info, Rect outBounds) { 65 ((AccessibilityNodeInfo) info).getBoundsInScreen(outBounds); 66 } 67 68 public static Object getChild(Object info, int index) { 69 return ((AccessibilityNodeInfo) info).getChild(index); 70 } 71 72 public static int getChildCount(Object info) { 73 return ((AccessibilityNodeInfo) info).getChildCount(); 74 } 75 76 public static CharSequence getClassName(Object info) { 77 return ((AccessibilityNodeInfo) info).getClassName(); 78 } 79 80 public static CharSequence getContentDescription(Object info) { 81 return ((AccessibilityNodeInfo) info).getContentDescription(); 82 } 83 84 public static CharSequence getPackageName(Object info) { 85 return ((AccessibilityNodeInfo) info).getPackageName(); 86 } 87 88 public static Object getParent(Object info) { 89 return ((AccessibilityNodeInfo) info).getParent(); 90 } 91 92 public static CharSequence getText(Object info) { 93 return ((AccessibilityNodeInfo) info).getText(); 94 } 95 96 public static int getWindowId(Object info) { 97 return ((AccessibilityNodeInfo) info).getWindowId(); 98 } 99 100 public static boolean isCheckable(Object info) { 101 return ((AccessibilityNodeInfo) info).isCheckable(); 102 } 103 104 public static boolean isChecked(Object info) { 105 return ((AccessibilityNodeInfo) info).isChecked(); 106 } 107 108 public static boolean isClickable(Object info) { 109 return ((AccessibilityNodeInfo) info).isClickable(); 110 } 111 112 public static boolean isEnabled(Object info) { 113 return ((AccessibilityNodeInfo) info).isEnabled(); 114 } 115 116 public static boolean isFocusable(Object info) { 117 return ((AccessibilityNodeInfo) info).isFocusable(); 118 } 119 120 public static boolean isFocused(Object info) { 121 return ((AccessibilityNodeInfo) info).isFocused(); 122 } 123 124 public static boolean isLongClickable(Object info) { 125 return ((AccessibilityNodeInfo) info).isLongClickable(); 126 } 127 128 public static boolean isPassword(Object info) { 129 return ((AccessibilityNodeInfo) info).isPassword(); 130 } 131 132 public static boolean isScrollable(Object info) { 133 return ((AccessibilityNodeInfo) info).isScrollable(); 134 } 135 136 public static boolean isSelected(Object info) { 137 return ((AccessibilityNodeInfo) info).isSelected(); 138 } 139 140 public static boolean performAction(Object info, int action) { 141 return ((AccessibilityNodeInfo) info).performAction(action); 142 } 143 144 public static void setBoundsInParent(Object info, Rect bounds) { 145 ((AccessibilityNodeInfo) info).setBoundsInParent(bounds); 146 } 147 148 public static void setBoundsInScreen(Object info, Rect bounds) { 149 ((AccessibilityNodeInfo) info).setBoundsInScreen(bounds); 150 } 151 152 public static void setCheckable(Object info, boolean checkable) { 153 ((AccessibilityNodeInfo) info).setCheckable(checkable); 154 } 155 156 public static void setChecked(Object info, boolean checked) { 157 ((AccessibilityNodeInfo) info).setChecked(checked); 158 } 159 160 public static void setClassName(Object info, CharSequence className) { 161 ((AccessibilityNodeInfo) info).setClassName(className); 162 } 163 164 public static void setClickable(Object info, boolean clickable) { 165 ((AccessibilityNodeInfo) info).setClickable(clickable); 166 } 167 168 public static void setContentDescription(Object info, CharSequence contentDescription) { 169 ((AccessibilityNodeInfo) info).setContentDescription(contentDescription); 170 } 171 172 public static void setEnabled(Object info, boolean enabled) { 173 ((AccessibilityNodeInfo) info).setEnabled(enabled); 174 } 175 176 public static void setFocusable(Object info, boolean focusable) { 177 ((AccessibilityNodeInfo) info).setFocusable(focusable); 178 } 179 180 public static void setFocused(Object info, boolean focused) { 181 ((AccessibilityNodeInfo) info).setFocused(focused); 182 } 183 184 public static void setLongClickable(Object info, boolean longClickable) { 185 ((AccessibilityNodeInfo) info).setLongClickable(longClickable); 186 } 187 188 public static void setPackageName(Object info, CharSequence packageName) { 189 ((AccessibilityNodeInfo) info).setPackageName(packageName); 190 } 191 192 public static void setParent(Object info, View parent) { 193 ((AccessibilityNodeInfo) info).setParent(parent); 194 } 195 196 public static void setPassword(Object info, boolean password) { 197 ((AccessibilityNodeInfo) info).setPassword(password); 198 } 199 200 public static void setScrollable(Object info, boolean scrollable) { 201 ((AccessibilityNodeInfo) info).setScrollable(scrollable); 202 } 203 204 public static void setSelected(Object info, boolean selected) { 205 ((AccessibilityNodeInfo) info).setSelected(selected); 206 } 207 208 public static void setSource(Object info, View source) { 209 ((AccessibilityNodeInfo) info).setSource(source); 210 } 211 212 public static void setText(Object info, CharSequence text) { 213 ((AccessibilityNodeInfo) info).setText(text); 214 } 215 216 public static void recycle(Object info) { 217 ((AccessibilityNodeInfo) info).recycle(); 218 } 219} 220