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