am c91d4dfe: am e00b297c: Merge "The touch exploration capability is dynamically granted pre-JellyBeanMR2." into jb-mr2-dev

* commit 'c91d4dfe0a243f9f1d53bb4dbd435759da5202fd':
  The touch exploration capability is dynamically granted pre-JellyBeanMR2.
This commit is contained in:
Svetoslav
2013-04-24 18:51:40 -07:00
committed by Android Git Automerger
3 changed files with 50 additions and 28 deletions

View File

@@ -375,23 +375,6 @@ public class AccessibilityServiceInfo implements Parcelable {
/* do nothing */
}
/**
* Creates a new instance.
*
* @param isAutomation Whether this is a test automation service.
*
* @hide
*/
public AccessibilityServiceInfo(boolean isAutomation) {
// Automation service can do anything.
if (isAutomation) {
mCapabilities |= CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT
| CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION
| CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY
| CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS;
}
}
/**
* Creates a new instance.
*
@@ -461,8 +444,8 @@ public class AccessibilityServiceInfo implements Parcelable {
mCapabilities |= CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION;
}
if (asAttributes.getBoolean(com.android.internal.R.styleable
.AccessibilityService_canRequestEnhancedWebAccessibility, false)) {
mCapabilities |= CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY;
.AccessibilityService_canRequestEnhancedWebAccessibility, false)) {
mCapabilities |= CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY;
}
if (asAttributes.getBoolean(com.android.internal.R.styleable
.AccessibilityService_canRequestFilterKeyEvents, false)) {
@@ -573,6 +556,23 @@ public class AccessibilityServiceInfo implements Parcelable {
return mCapabilities;
}
/**
* Sets the bit mask of capabilities this accessibility service has such as
* being able to retrieve the active window content, etc.
*
* @param capabilities The capability bit mask.
*
* @see #CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT
* @see #CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION
* @see #CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY
* @see #CAPABILITY_FILTER_KEY_EVENTS
*
* @hide
*/
public void setCapabilities(int capabilities) {
mCapabilities = capabilities;
}
/**
* Gets the non-localized description of the accessibility service.
* <p>

View File

@@ -158,11 +158,15 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub {
private void registerUiTestAutomationServiceLocked(IAccessibilityServiceClient client) {
IAccessibilityManager manager = IAccessibilityManager.Stub.asInterface(
ServiceManager.getService(Context.ACCESSIBILITY_SERVICE));
AccessibilityServiceInfo info = new AccessibilityServiceInfo(true);
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC;
info.flags |= AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
| AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS;
info.setCapabilities(AccessibilityServiceInfo.CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT
| AccessibilityServiceInfo.CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION
| AccessibilityServiceInfo.CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY
| AccessibilityServiceInfo.CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS);
try {
// Calling out with a lock held is fine since if the system
// process is gone the client calling in will be killed.