1/*
2 * Copyright (C) 2012 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.os.Bundle;
20import android.view.View;
21import android.view.accessibility.AccessibilityNodeInfo;
22
23/**
24 * JellyBean specific AccessibilityNodeInfo API implementation.
25 */
26class AccessibilityNodeInfoCompatJellyBean {
27
28    public static void addChild(Object info, View child, int virtualDescendantId) {
29        ((AccessibilityNodeInfo) info).addChild(child, virtualDescendantId);
30    }
31
32    public static void setSource(Object info, View root, int virtualDescendantId) {
33        ((AccessibilityNodeInfo) info).setSource(root, virtualDescendantId);
34    }
35
36    public static boolean isVisibleToUser(Object info) {
37        return ((AccessibilityNodeInfo) info).isVisibleToUser();
38    }
39
40    public static void setVisibleToUser(Object info, boolean visibleToUser) {
41        ((AccessibilityNodeInfo) info).setVisibleToUser(visibleToUser);
42    }
43
44    public static boolean performAction(Object info, int action, Bundle arguments) {
45        return ((AccessibilityNodeInfo) info).performAction(action, arguments);
46    }
47
48    public static void setMovementGranularities(Object info, int granularities) {
49        ((AccessibilityNodeInfo) info).setMovementGranularities(granularities);
50    }
51
52    public static int getMovementGranularities(Object info) {
53        return ((AccessibilityNodeInfo) info).getMovementGranularities();
54    }
55
56    public static Object obtain(View root, int virtualDescendantId) {
57        return AccessibilityNodeInfo.obtain(root, virtualDescendantId);
58    }
59
60    public static Object findFocus(Object info, int focus) {
61        return ((AccessibilityNodeInfo) info).findFocus(focus);
62    }
63
64    public static Object focusSearch(Object info, int direction) {
65        return ((AccessibilityNodeInfo) info).focusSearch(direction);
66    }
67
68    public static void setParent(Object info, View root, int virtualDescendantId) {
69        ((AccessibilityNodeInfo) info).setParent(root, virtualDescendantId);
70    }
71
72    public static boolean isAccessibilityFocused(Object info) {
73        return ((AccessibilityNodeInfo) info).isAccessibilityFocused();
74    }
75
76    public static void setAccesibilityFocused(Object info, boolean focused) {
77        ((AccessibilityNodeInfo) info).setAccessibilityFocused(focused);
78    }
79}
80