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:
@@ -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>
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user