Home | History | Annotate | Download | only in accessibility
      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 
     17 package android.support.v4.view.accessibility;
     18 
     19 import android.os.Bundle;
     20 import android.view.accessibility.AccessibilityNodeInfo;
     21 
     22 /**
     23  * KitKat-specific AccessibilityNodeInfo API implementation.
     24  */
     25 class AccessibilityNodeInfoCompatKitKat {
     26     static int getLiveRegion(Object info) {
     27         return ((AccessibilityNodeInfo) info).getLiveRegion();
     28     }
     29 
     30     static void setLiveRegion(Object info, int mode) {
     31         ((AccessibilityNodeInfo) info).setLiveRegion(mode);
     32     }
     33 
     34     static Object getCollectionInfo(Object info) {
     35         return ((AccessibilityNodeInfo) info).getCollectionInfo();
     36     }
     37 
     38     static Object getCollectionItemInfo(Object info) {
     39         return ((AccessibilityNodeInfo) info).getCollectionItemInfo();
     40     }
     41 
     42     public static void setCollectionInfo(Object info, Object collectionInfo) {
     43         ((AccessibilityNodeInfo) info).setCollectionInfo(
     44                 (AccessibilityNodeInfo.CollectionInfo)collectionInfo);
     45     }
     46 
     47     public static void setCollectionItemInfo(Object info, Object collectionItemInfo) {
     48         ((AccessibilityNodeInfo) info).setCollectionItemInfo(
     49                 (AccessibilityNodeInfo.CollectionItemInfo) collectionItemInfo);
     50     }
     51 
     52     static Object getRangeInfo(Object info) {
     53         return ((AccessibilityNodeInfo) info).getRangeInfo();
     54     }
     55 
     56     public static void setRangeInfo(Object info, Object rangeInfo) {
     57         ((AccessibilityNodeInfo) info).setRangeInfo((AccessibilityNodeInfo.RangeInfo) rangeInfo);
     58     }
     59 
     60     public static Object obtainCollectionInfo(int rowCount, int columnCount,
     61             boolean hierarchical, int selectionMode) {
     62         return AccessibilityNodeInfo.CollectionInfo.obtain(rowCount, columnCount, hierarchical);
     63     }
     64 
     65     public static Object obtainCollectionItemInfo(int rowIndex, int rowSpan, int columnIndex,
     66             int columnSpan, boolean heading) {
     67         return AccessibilityNodeInfo.CollectionItemInfo.obtain(rowIndex, rowSpan, columnIndex,
     68                 columnSpan, heading);
     69     }
     70 
     71     public static void setContentInvalid(Object info, boolean contentInvalid) {
     72         ((AccessibilityNodeInfo) info).setContentInvalid(contentInvalid);
     73     }
     74 
     75     public static boolean isContentInvalid(Object info) {
     76         return ((AccessibilityNodeInfo) info).isContentInvalid();
     77     }
     78 
     79     public static boolean canOpenPopup(Object info) {
     80         return ((AccessibilityNodeInfo) info).canOpenPopup();
     81     }
     82 
     83     public static void setCanOpenPopup(Object info, boolean opensPopup) {
     84         ((AccessibilityNodeInfo) info).setCanOpenPopup(opensPopup);
     85     }
     86 
     87     public static Bundle getExtras(Object info) {
     88         return ((AccessibilityNodeInfo) info).getExtras();
     89     }
     90 
     91     public static int getInputType(Object info) {
     92         return ((AccessibilityNodeInfo) info).getInputType();
     93     }
     94 
     95     public static void setInputType(Object info, int inputType) {
     96         ((AccessibilityNodeInfo) info).setInputType(inputType);
     97     }
     98 
     99     public static boolean isDismissable(Object info) {
    100         return ((AccessibilityNodeInfo) info).isDismissable();
    101     }
    102 
    103     public static void setDismissable(Object info, boolean dismissable) {
    104         ((AccessibilityNodeInfo) info).setDismissable(dismissable);
    105     }
    106 
    107     public static boolean isMultiLine(Object info) {
    108         return ((AccessibilityNodeInfo) info).isMultiLine();
    109     }
    110 
    111     public static void setMultiLine(Object info, boolean multiLine) {
    112         ((AccessibilityNodeInfo) info).setMultiLine(multiLine);
    113     }
    114 
    115     static class CollectionInfo {
    116         static int getColumnCount(Object info) {
    117             return ((AccessibilityNodeInfo.CollectionInfo) info).getColumnCount();
    118         }
    119 
    120         static int getRowCount(Object info) {
    121             return ((AccessibilityNodeInfo.CollectionInfo) info).getRowCount();
    122         }
    123 
    124         static boolean isHierarchical(Object info) {
    125             return ((AccessibilityNodeInfo.CollectionInfo) info).isHierarchical();
    126         }
    127     }
    128 
    129     static class CollectionItemInfo {
    130         static int getColumnIndex(Object info) {
    131             return ((AccessibilityNodeInfo.CollectionItemInfo) info).getColumnIndex();
    132         }
    133 
    134         static int getColumnSpan(Object info) {
    135             return ((AccessibilityNodeInfo.CollectionItemInfo) info).getColumnSpan();
    136         }
    137 
    138         static int getRowIndex(Object info) {
    139             return ((AccessibilityNodeInfo.CollectionItemInfo) info).getRowIndex();
    140         }
    141 
    142         static int getRowSpan(Object info) {
    143             return ((AccessibilityNodeInfo.CollectionItemInfo) info).getRowSpan();
    144         }
    145 
    146         static boolean isHeading(Object info) {
    147             return ((AccessibilityNodeInfo.CollectionItemInfo) info).isHeading();
    148         }
    149     }
    150 
    151     static class RangeInfo {
    152         static float getCurrent(Object info) {
    153             return ((AccessibilityNodeInfo.RangeInfo) info).getCurrent();
    154         }
    155 
    156         static float getMax(Object info) {
    157             return ((AccessibilityNodeInfo.RangeInfo) info).getMax();
    158         }
    159 
    160         static float getMin(Object info) {
    161             return ((AccessibilityNodeInfo.RangeInfo) info).getMin();
    162         }
    163 
    164         static int getType(Object info) {
    165             return ((AccessibilityNodeInfo.RangeInfo) info).getType();
    166         }
    167     }
    168 }
    169