19648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/*
29648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Copyright (C) 2011 The Android Open Source Project
39648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *
49648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Licensed under the Apache License, Version 2.0 (the "License");
59648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * you may not use this file except in compliance with the License.
69648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * You may obtain a copy of the License at
79648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *
89648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *      http://www.apache.org/licenses/LICENSE-2.0
99648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *
109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Unless required by applicable law or agreed to in writing, software
119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * distributed under the License is distributed on an "AS IS" BASIS,
129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * See the License for the specific language governing permissions and
149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * limitations under the License.
159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */
169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovpackage android.support.v4.view.accessibility;
189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.accessibilityservice.AccessibilityServiceInfo;
209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.accessibility.AccessibilityManager;
219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener;
229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.List;
249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/**
269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * ICS specific AccessibilityManager API implementation.
279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */
289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovclass AccessibilityManagerCompatIcs {
299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    interface AccessibilityStateChangeListenerBridge {
319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void onAccessibilityStateChanged(boolean enabled);
329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public static Object newAccessibilityStateChangeListener(
359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            final AccessibilityStateChangeListenerBridge bridge) {
369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return new AccessibilityStateChangeListener() {
379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            @Override
389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            public void onAccessibilityStateChanged(boolean enabled) {
399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov                bridge.onAccessibilityStateChanged(enabled);
409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            }
419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        };
429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public static boolean addAccessibilityStateChangeListener(AccessibilityManager manager,
459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            Object listener) {
469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return manager.addAccessibilityStateChangeListener(
479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov                (AccessibilityStateChangeListener)listener);
489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public static boolean removeAccessibilityStateChangeListener(AccessibilityManager manager,
519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            Object listener) {
529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return manager.removeAccessibilityStateChangeListener(
539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov                (AccessibilityStateChangeListener)listener);
549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public static List<AccessibilityServiceInfo> getEnabledAccessibilityServiceList(
579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityManager manager,int feedbackTypeFlags) {
589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return manager.getEnabledAccessibilityServiceList(feedbackTypeFlags);
599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public static List<AccessibilityServiceInfo> getInstalledAccessibilityServiceList(
629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityManager manager) {
639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return manager.getInstalledAccessibilityServiceList();
649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public static boolean isTouchExplorationEnabled(AccessibilityManager manager) {
679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return manager.isTouchExplorationEnabled();
689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov}
70