10fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav/*
20fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Copyright (C) 2013 The Android Open Source Project
30fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav *
40fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Licensed under the Apache License, Version 2.0 (the "License");
50fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * you may not use this file except in compliance with the License.
60fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * You may obtain a copy of the License at
70fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav *
80fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav *      http://www.apache.org/licenses/LICENSE-2.0
90fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav *
100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Unless required by applicable law or agreed to in writing, software
110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * distributed under the License is distributed on an "AS IS" BASIS,
120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * See the License for the specific language governing permissions and
140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * limitations under the License.
150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */
160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav
170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslavpackage android.support.v4.view.accessibility;
180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav
190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslavimport android.view.accessibility.AccessibilityNodeInfo;
200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav
218aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatovimport java.util.List;
228aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov
2384bbe6fe39c63a7e67a3ca937981a463c11ac9edScott Mainclass AccessibilityNodeInfoCompatJellybeanMr2 {
240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav
25071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav    public static void setViewIdResourceName(Object info, String viewId) {
260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav        ((AccessibilityNodeInfo) info).setViewIdResourceName(viewId);
270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav    }
280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav
29071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav    public static String getViewIdResourceName(Object info) {
300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav        return ((AccessibilityNodeInfo) info).getViewIdResourceName();
310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav    }
328aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov
338aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    @SuppressWarnings("unchecked")
348aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    public static List<Object> findAccessibilityNodeInfosByViewId(Object info, String viewId) {
358aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov        Object result = ((AccessibilityNodeInfo) info).findAccessibilityNodeInfosByViewId(viewId);
368aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov        return (List<Object>) result;
378aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    }
388aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov
398aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    public static void setTextSelection(Object info, int start, int end) {
408aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov        ((AccessibilityNodeInfo) info).setTextSelection(start, end);
418aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    }
428aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov
438aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    public static int getTextSelectionStart(Object info) {
448aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov        return ((AccessibilityNodeInfo) info).getTextSelectionStart();
458aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    }
468aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov
478aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    public static int getTextSelectionEnd(Object info) {
488aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov        return ((AccessibilityNodeInfo) info).getTextSelectionEnd();
498aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    }
508aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov
518aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    public static boolean isEditable(Object info) {
528aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov        return ((AccessibilityNodeInfo) info).isEditable();
538aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    }
548aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov
558aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    public static void setEditable(Object info, boolean editable) {
568aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov        ((AccessibilityNodeInfo) info).setEditable(editable);
578aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    }
588aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov
598aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    public static boolean refresh(Object info) {
608aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov        return ((AccessibilityNodeInfo) info).refresh();
618aaf50bd7d713dafc358e6215111e7b0a43ecc82Maxim Bogatov    }
620fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav}
63