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.view.accessibility.AccessibilityNodeInfo; 20 21/** 22 * KitKat-specific AccessibilityNodeInfo API implementation. 23 */ 24class AccessibilityNodeInfoCompatKitKat { 25 static int getLiveRegion(Object info) { 26 return ((AccessibilityNodeInfo) info).getLiveRegion(); 27 } 28 29 static void setLiveRegion(Object info, int mode) { 30 ((AccessibilityNodeInfo) info).setLiveRegion(mode); 31 } 32 33 static Object getCollectionInfo(Object info) { 34 return ((AccessibilityNodeInfo) info).getCollectionInfo(); 35 } 36 37 static Object getCollectionItemInfo(Object info) { 38 return ((AccessibilityNodeInfo) info).getCollectionItemInfo(); 39 } 40 41 public static void setCollectionInfo(Object info, Object collectionInfo) { 42 ((AccessibilityNodeInfo) info).setCollectionInfo( 43 (AccessibilityNodeInfo.CollectionInfo)collectionInfo); 44 } 45 46 public static void setCollectionItemInfo(Object info, Object collectionItemInfo) { 47 ((AccessibilityNodeInfo) info).setCollectionItemInfo( 48 (AccessibilityNodeInfo.CollectionItemInfo) collectionItemInfo); 49 } 50 51 static Object getRangeInfo(Object info) { 52 return ((AccessibilityNodeInfo) info).getRangeInfo(); 53 } 54 55 public static Object obtainCollectionInfo(int rowCount, int columnCount, 56 boolean hierarchical, int selectionMode) { 57 return AccessibilityNodeInfo.CollectionInfo.obtain(rowCount, columnCount, hierarchical); 58 } 59 60 public static Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, 61 int columnSpan, boolean heading) { 62 return AccessibilityNodeInfo.CollectionItemInfo.obtain(rowIndex, rowSpan, columnIndex, 63 columnSpan, heading); 64 } 65 66 static class CollectionInfo { 67 static int getColumnCount(Object info) { 68 return ((AccessibilityNodeInfo.CollectionInfo) info).getColumnCount(); 69 } 70 71 static int getRowCount(Object info) { 72 return ((AccessibilityNodeInfo.CollectionInfo) info).getRowCount(); 73 } 74 75 static boolean isHierarchical(Object info) { 76 return ((AccessibilityNodeInfo.CollectionInfo) info).isHierarchical(); 77 } 78 } 79 80 static class CollectionItemInfo { 81 static int getColumnIndex(Object info) { 82 return ((AccessibilityNodeInfo.CollectionItemInfo) info).getColumnIndex(); 83 } 84 85 static int getColumnSpan(Object info) { 86 return ((AccessibilityNodeInfo.CollectionItemInfo) info).getColumnSpan(); 87 } 88 89 static int getRowIndex(Object info) { 90 return ((AccessibilityNodeInfo.CollectionItemInfo) info).getRowIndex(); 91 } 92 93 static int getRowSpan(Object info) { 94 return ((AccessibilityNodeInfo.CollectionItemInfo) info).getRowSpan(); 95 } 96 97 static boolean isHeading(Object info) { 98 return ((AccessibilityNodeInfo.CollectionItemInfo) info).isHeading(); 99 } 100 } 101 102 static class RangeInfo { 103 static float getCurrent(Object info) { 104 return ((AccessibilityNodeInfo.RangeInfo) info).getCurrent(); 105 } 106 107 static float getMax(Object info) { 108 return ((AccessibilityNodeInfo.RangeInfo) info).getMax(); 109 } 110 111 static float getMin(Object info) { 112 return ((AccessibilityNodeInfo.RangeInfo) info).getMin(); 113 } 114 115 static int getType(Object info) { 116 return ((AccessibilityNodeInfo.RangeInfo) info).getType(); 117 } 118 } 119} 120