blob: a3428f478b1e2f8bc358cb8ba9d1c07eed766870 [file] [log] [blame]
/*
* 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();
}
}