diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/accessibilityservice/AccessibilityServiceInfo.java | 38 | ||||
| -rw-r--r-- | core/java/android/app/UiAutomationConnection.java | 6 |
2 files changed, 24 insertions, 20 deletions
diff --git a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java index 7e21db3..de58a33 100644 --- a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java +++ b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java @@ -378,23 +378,6 @@ public class AccessibilityServiceInfo implements Parcelable { /** * 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. - * * @param resolveInfo The service resolve info. * @param context Context for accessing resources. * @throws XmlPullParserException If a XML parsing error occurs. @@ -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)) { @@ -574,6 +557,23 @@ public class AccessibilityServiceInfo implements Parcelable { } /** + * 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> * <strong>Statically set from diff --git a/core/java/android/app/UiAutomationConnection.java b/core/java/android/app/UiAutomationConnection.java index 5bc17fa..607930c 100644 --- a/core/java/android/app/UiAutomationConnection.java +++ b/core/java/android/app/UiAutomationConnection.java @@ -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. |
