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