13a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov/* 23a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Copyright (C) 2012 The Android Open Source Project 33a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 43a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Licensed under the Apache License, Version 2.0 (the "License"); 53a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * you may not use this file except in compliance with the License. 63a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * You may obtain a copy of the License at 73a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 83a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * http://www.apache.org/licenses/LICENSE-2.0 93a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 103a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Unless required by applicable law or agreed to in writing, software 113a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * distributed under the License is distributed on an "AS IS" BASIS, 123a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * See the License for the specific language governing permissions and 143a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * limitations under the License. 153a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 163a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 173a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganovpackage android.support.v4.view.accessibility; 183a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 1970e96ebf69f91da84681a6263b3862c63d53ab11alanvimport android.os.Bundle; 203a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganovimport android.view.View; 213a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganovimport android.view.accessibility.AccessibilityNodeInfo; 223a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 233a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov/** 243a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * JellyBean specific AccessibilityNodeInfo API implementation. 253a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 263a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganovclass AccessibilityNodeInfoCompatJellyBean { 273a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 2870e96ebf69f91da84681a6263b3862c63d53ab11alanv public static void addChild(Object info, View child, int virtualDescendantId) { 2970e96ebf69f91da84681a6263b3862c63d53ab11alanv ((AccessibilityNodeInfo) info).addChild(child, virtualDescendantId); 3070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 313a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 3270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static void setSource(Object info, View root, int virtualDescendantId) { 3370e96ebf69f91da84681a6263b3862c63d53ab11alanv ((AccessibilityNodeInfo) info).setSource(root, virtualDescendantId); 3470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 3570e96ebf69f91da84681a6263b3862c63d53ab11alanv 3670e96ebf69f91da84681a6263b3862c63d53ab11alanv public static boolean isVisibleToUser(Object info) { 3770e96ebf69f91da84681a6263b3862c63d53ab11alanv return ((AccessibilityNodeInfo) info).isVisibleToUser(); 3870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 3970e96ebf69f91da84681a6263b3862c63d53ab11alanv 4070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static void setVisibleToUser(Object info, boolean visibleToUser) { 4170e96ebf69f91da84681a6263b3862c63d53ab11alanv ((AccessibilityNodeInfo) info).setVisibleToUser(visibleToUser); 4270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 4370e96ebf69f91da84681a6263b3862c63d53ab11alanv 4470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static boolean performAction(Object info, int action, Bundle arguments) { 4570e96ebf69f91da84681a6263b3862c63d53ab11alanv return ((AccessibilityNodeInfo) info).performAction(action, arguments); 4670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 4770e96ebf69f91da84681a6263b3862c63d53ab11alanv 4870e96ebf69f91da84681a6263b3862c63d53ab11alanv public static void setMovementGranularities(Object info, int granularities) { 4970e96ebf69f91da84681a6263b3862c63d53ab11alanv ((AccessibilityNodeInfo) info).setMovementGranularities(granularities); 5070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 5170e96ebf69f91da84681a6263b3862c63d53ab11alanv 5270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static int getMovementGranularities(Object info) { 5370e96ebf69f91da84681a6263b3862c63d53ab11alanv return ((AccessibilityNodeInfo) info).getMovementGranularities(); 5470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 5570e96ebf69f91da84681a6263b3862c63d53ab11alanv 5670e96ebf69f91da84681a6263b3862c63d53ab11alanv public static Object obtain(View root, int virtualDescendantId) { 5770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfo.obtain(root, virtualDescendantId); 5870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 5970e96ebf69f91da84681a6263b3862c63d53ab11alanv 6070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static Object findFocus(Object info, int focus) { 6170e96ebf69f91da84681a6263b3862c63d53ab11alanv return ((AccessibilityNodeInfo) info).findFocus(focus); 6270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 6370e96ebf69f91da84681a6263b3862c63d53ab11alanv 6470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static Object focusSearch(Object info, int direction) { 6570e96ebf69f91da84681a6263b3862c63d53ab11alanv return ((AccessibilityNodeInfo) info).focusSearch(direction); 6670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 6770e96ebf69f91da84681a6263b3862c63d53ab11alanv 6870e96ebf69f91da84681a6263b3862c63d53ab11alanv public static void setParent(Object info, View root, int virtualDescendantId) { 6970e96ebf69f91da84681a6263b3862c63d53ab11alanv ((AccessibilityNodeInfo) info).setParent(root, virtualDescendantId); 7070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 7170e96ebf69f91da84681a6263b3862c63d53ab11alanv 7270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static boolean isAccessibilityFocused(Object info) { 7370e96ebf69f91da84681a6263b3862c63d53ab11alanv return ((AccessibilityNodeInfo) info).isAccessibilityFocused(); 7470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 7570e96ebf69f91da84681a6263b3862c63d53ab11alanv 7670e96ebf69f91da84681a6263b3862c63d53ab11alanv public static void setAccesibilityFocused(Object info, boolean focused) { 7770e96ebf69f91da84681a6263b3862c63d53ab11alanv ((AccessibilityNodeInfo) info).setAccessibilityFocused(focused); 7870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 793a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov} 80