| /* |
| * Copyright (C) 2011 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.support.v4.view.accessibility; |
| |
| import android.graphics.Rect; |
| import android.text.TextUtils; |
| import android.view.View; |
| import android.view.accessibility.AccessibilityNodeInfo; |
| |
| import java.util.HashMap; |
| import java.util.List; |
| |
| /** |
| * ICS specific AccessibilityNodeInfo API implementation. |
| */ |
| class AccessibilityNodeInfoCompatIcs { |
| public static Object obtain() { |
| return AccessibilityNodeInfo.obtain(); |
| } |
| |
| public static Object obtain(View source) { |
| return AccessibilityNodeInfo.obtain(source); |
| } |
| |
| public static Object obtain(Object info) { |
| return AccessibilityNodeInfo.obtain((AccessibilityNodeInfo) info); |
| } |
| |
| public static void addAction(Object info, int action) { |
| ((AccessibilityNodeInfo) info).addAction(action); |
| } |
| |
| public static void addChild(Object info, View child) { |
| ((AccessibilityNodeInfo) info).addChild(child); |
| } |
| |
| @SuppressWarnings("unchecked") |
| public static List<Object> findAccessibilityNodeInfosByText(Object info, String text) { |
| Object result = ((AccessibilityNodeInfo) info).findAccessibilityNodeInfosByText(text); |
| return (List<Object>) result; |
| } |
| |
| public static int getActions(Object info) { |
| return ((AccessibilityNodeInfo) info).getActions(); |
| } |
| |
| public static void getBoundsInParent(Object info, Rect outBounds) { |
| ((AccessibilityNodeInfo) info).getBoundsInParent(outBounds); |
| } |
| |
| public static void getBoundsInScreen(Object info, Rect outBounds) { |
| ((AccessibilityNodeInfo) info).getBoundsInScreen(outBounds); |
| } |
| |
| public static Object getChild(Object info, int index) { |
| return ((AccessibilityNodeInfo) info).getChild(index); |
| } |
| |
| public static int getChildCount(Object info) { |
| return ((AccessibilityNodeInfo) info).getChildCount(); |
| } |
| |
| public static CharSequence getClassName(Object info) { |
| return ((AccessibilityNodeInfo) info).getClassName(); |
| } |
| |
| public static CharSequence getContentDescription(Object info) { |
| return ((AccessibilityNodeInfo) info).getContentDescription(); |
| } |
| |
| public static CharSequence getPackageName(Object info) { |
| return ((AccessibilityNodeInfo) info).getPackageName(); |
| } |
| |
| public static Object getParent(Object info) { |
| return ((AccessibilityNodeInfo) info).getParent(); |
| } |
| |
| public static CharSequence getText(Object info) { |
| return ((AccessibilityNodeInfo) info).getText(); |
| } |
| |
| public static int getWindowId(Object info) { |
| return ((AccessibilityNodeInfo) info).getWindowId(); |
| } |
| |
| public static boolean hasImage(Object info) { |
| CharSequence className = getClassName(info); |
| return (!TextUtils.isEmpty(className) && |
| (className.equals("android.widget.ImageButton") || |
| className.equals("android.widget.ImageView"))); |
| } |
| |
| public static boolean isCheckable(Object info) { |
| return ((AccessibilityNodeInfo) info).isCheckable(); |
| } |
| |
| public static boolean isChecked(Object info) { |
| return ((AccessibilityNodeInfo) info).isChecked(); |
| } |
| |
| public static boolean isClickable(Object info) { |
| return ((AccessibilityNodeInfo) info).isClickable(); |
| } |
| |
| public static boolean isEnabled(Object info) { |
| return ((AccessibilityNodeInfo) info).isEnabled(); |
| } |
| |
| public static boolean isFocusable(Object info) { |
| return ((AccessibilityNodeInfo) info).isFocusable(); |
| } |
| |
| public static boolean isFocused(Object info) { |
| return ((AccessibilityNodeInfo) info).isFocused(); |
| } |
| |
| public static boolean isLongClickable(Object info) { |
| return ((AccessibilityNodeInfo) info).isLongClickable(); |
| } |
| |
| public static boolean isPassword(Object info) { |
| return ((AccessibilityNodeInfo) info).isPassword(); |
| } |
| |
| public static boolean isScrollable(Object info) { |
| return ((AccessibilityNodeInfo) info).isScrollable(); |
| } |
| |
| public static boolean isSelected(Object info) { |
| return ((AccessibilityNodeInfo) info).isSelected(); |
| } |
| |
| public static boolean performAction(Object info, int action) { |
| return ((AccessibilityNodeInfo) info).performAction(action); |
| } |
| |
| public static void setBoundsInParent(Object info, Rect bounds) { |
| ((AccessibilityNodeInfo) info).setBoundsInParent(bounds); |
| } |
| |
| public static void setBoundsInScreen(Object info, Rect bounds) { |
| ((AccessibilityNodeInfo) info).setBoundsInScreen(bounds); |
| } |
| |
| public static void setCheckable(Object info, boolean checkable) { |
| ((AccessibilityNodeInfo) info).setCheckable(checkable); |
| } |
| |
| public static void setChecked(Object info, boolean checked) { |
| ((AccessibilityNodeInfo) info).setChecked(checked); |
| } |
| |
| public static void setClassName(Object info, CharSequence className) { |
| ((AccessibilityNodeInfo) info).setClassName(className); |
| } |
| |
| public static void setClickable(Object info, boolean clickable) { |
| ((AccessibilityNodeInfo) info).setClickable(clickable); |
| } |
| |
| public static void setContentDescription(Object info, CharSequence contentDescription) { |
| ((AccessibilityNodeInfo) info).setContentDescription(contentDescription); |
| } |
| |
| public static void setEnabled(Object info, boolean enabled) { |
| ((AccessibilityNodeInfo) info).setEnabled(enabled); |
| } |
| |
| public static void setFocusable(Object info, boolean focusable) { |
| ((AccessibilityNodeInfo) info).setFocusable(focusable); |
| } |
| |
| public static void setFocused(Object info, boolean focused) { |
| ((AccessibilityNodeInfo) info).setFocused(focused); |
| } |
| |
| public static void setLongClickable(Object info, boolean longClickable) { |
| ((AccessibilityNodeInfo) info).setLongClickable(longClickable); |
| } |
| |
| public static void setPackageName(Object info, CharSequence packageName) { |
| ((AccessibilityNodeInfo) info).setPackageName(packageName); |
| } |
| |
| public static void setParent(Object info, View parent) { |
| ((AccessibilityNodeInfo) info).setParent(parent); |
| } |
| |
| public static void setPassword(Object info, boolean password) { |
| ((AccessibilityNodeInfo) info).setPassword(password); |
| } |
| |
| public static void setScrollable(Object info, boolean scrollable) { |
| ((AccessibilityNodeInfo) info).setScrollable(scrollable); |
| } |
| |
| public static void setSelected(Object info, boolean selected) { |
| ((AccessibilityNodeInfo) info).setSelected(selected); |
| } |
| |
| public static void setSource(Object info, View source) { |
| ((AccessibilityNodeInfo) info).setSource(source); |
| } |
| |
| public static void setText(Object info, CharSequence text) { |
| ((AccessibilityNodeInfo) info).setText(text); |
| } |
| |
| public static void recycle(Object info) { |
| ((AccessibilityNodeInfo) info).recycle(); |
| } |
| |
| } |