diff --git a/api/current.txt b/api/current.txt
index a8bf9492c70e5..3dd1fc220b23c 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -315,7 +315,6 @@ package android {
field public static final int cacheColorHint = 16843009; // 0x1010101
field public static final int calendarViewShown = 16843596; // 0x101034c
field public static final int calendarViewStyle = 16843613; // 0x101035d
- field public static final int canHandleGestures = 16843691; // 0x10103ab
field public static final int canRetrieveWindowContent = 16843653; // 0x1010385
field public static final int candidatesTextStyleSpans = 16843312; // 0x1010230
field public static final deprecated int capitalize = 16843113; // 0x1010169
@@ -754,7 +753,7 @@ package android {
field public static final int pathPrefix = 16842795; // 0x101002b
field public static final int permission = 16842758; // 0x1010006
field public static final int permissionGroup = 16842762; // 0x101000a
- field public static final int permissionGroupFlags = 16843692; // 0x10103ac
+ field public static final int permissionGroupFlags = 16843691; // 0x10103ab
field public static final int persistent = 16842765; // 0x101000d
field public static final int persistentDrawingCache = 16842990; // 0x10100ee
field public static final deprecated int phoneNumber = 16843111; // 0x1010167
@@ -2017,7 +2016,6 @@ package android.accessibilityservice {
method protected void onServiceConnected();
method public final boolean performGlobalAction(int);
method public final void setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo);
- field public static final int GESTURE_DOUBLE_TAP = 17; // 0x11
field public static final int GESTURE_SWIPE_DOWN = 2; // 0x2
field public static final int GESTURE_SWIPE_DOWN_AND_LEFT = 15; // 0xf
field public static final int GESTURE_SWIPE_DOWN_AND_RIGHT = 16; // 0x10
@@ -2034,7 +2032,6 @@ package android.accessibilityservice {
field public static final int GESTURE_SWIPE_UP_AND_DOWN = 7; // 0x7
field public static final int GESTURE_SWIPE_UP_AND_LEFT = 13; // 0xd
field public static final int GESTURE_SWIPE_UP_AND_RIGHT = 14; // 0xe
- field public static final int GESTURE_TAP_AND_HOLD = 18; // 0x12
field public static final int GLOBAL_ACTION_BACK = 1; // 0x1
field public static final int GLOBAL_ACTION_HOME = 2; // 0x2
field public static final int GLOBAL_ACTION_NOTIFICATIONS = 4; // 0x4
@@ -2048,7 +2045,6 @@ package android.accessibilityservice {
method public int describeContents();
method public static java.lang.String feedbackTypeToString(int);
method public static java.lang.String flagToString(int);
- method public boolean getCanHandleGestures();
method public boolean getCanRetrieveWindowContent();
method public deprecated java.lang.String getDescription();
method public java.lang.String getId();
@@ -2064,7 +2060,8 @@ package android.accessibilityservice {
field public static final int FEEDBACK_HAPTIC = 2; // 0x2
field public static final int FEEDBACK_SPOKEN = 1; // 0x1
field public static final int FEEDBACK_VISUAL = 8; // 0x8
- field public static final int INCLUDE_NOT_IMPORTANT_VIEWS = 2; // 0x2
+ field public static final int FLAG_INCLUDE_NOT_IMPORTANT_VIEWS = 2; // 0x2
+ field public static final int FLAG_REQUEST_TOUCH_EXPLORATION_MODE = 4; // 0x4
field public int eventTypes;
field public int feedbackType;
field public int flags;
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java
index c559e540f8536..850fe4879917b 100644
--- a/core/java/android/accessibilityservice/AccessibilityService.java
+++ b/core/java/android/accessibilityservice/AccessibilityService.java
@@ -283,16 +283,6 @@ public abstract class AccessibilityService extends Service {
*/
public static final int GESTURE_SWIPE_DOWN_AND_RIGHT = 16;
- /**
- * The user has performed a double tap gesture on the touch screen.
- */
- public static final int GESTURE_DOUBLE_TAP = 17;
-
- /**
- * The user has performed a tap and hold gesture on the touch screen.
- */
- public static final int GESTURE_TAP_AND_HOLD = 18;
-
/**
* The {@link Intent} that must be declared as handled by the service.
*/
@@ -377,14 +367,12 @@ public abstract class AccessibilityService extends Service {
/**
* Called by the system when the user performs a specific gesture on the
- * touch screen. If the gesture is not handled in this callback the system
- * may provide default handing. Therefore, one should return true from this
- * function if overriding of default behavior is desired.
+ * touch screen.
*
- * Note: To receive gestures an accessibility service
- * must declare that it can handle such by specifying the
- * <{@link android.R.styleable#AccessibilityService_canHandleGestures
- * canHandleGestures}> attribute.
+ * Note: To receive gestures an accessibility service must
+ * request that the device is in touch exploration mode by setting the
+ * {@link android.accessibilityservice.AccessibilityServiceInfo#FLAG_INCLUDE_NOT_IMPORTANT_VIEWS}
+ * flag.
*
* @param gestureId The unique id of the performed gesture.
*
@@ -406,13 +394,8 @@ public abstract class AccessibilityService extends Service {
* @see #GESTURE_SWIPE_RIGHT_AND_UP
* @see #GESTURE_SWIPE_RIGHT_AND_LEFT
* @see #GESTURE_SWIPE_RIGHT_AND_DOWN
- * @see #GESTURE_CLOCKWISE_CIRCLE
- * @see #GESTURE_COUNTER_CLOCKWISE_CIRCLE
- * @see #GESTURE_DOUBLE_TAP
- * @see #GESTURE_TAP_AND_HOLD
*/
protected boolean onGesture(int gestureId) {
- // TODO: Describe the default gesture processing in the javaDoc once it is finalized.
return false;
}
diff --git a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
index 7e6786b16a12e..10ea0fe4da942 100644
--- a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
+++ b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
@@ -131,7 +131,19 @@ public class AccessibilityServiceInfo implements Parcelable {
* elements.
*
- * Statically set from - * {@link AccessibilityService#SERVICE_META_DATA meta-data}. - *
- * @return True if the service can handle gestures. - */ - public boolean getCanHandleGestures() { - return mCanHandleGestures; - } - /** * Gets the non-localized description of the accessibility service. *
@@ -614,8 +608,10 @@ public class AccessibilityServiceInfo implements Parcelable {
switch (flag) {
case DEFAULT:
return "DEFAULT";
- case INCLUDE_NOT_IMPORTANT_VIEWS:
- return "REGARD_VIEWS_NOT_IMPORTANT_FOR_ACCESSIBILITY";
+ case FLAG_INCLUDE_NOT_IMPORTANT_VIEWS:
+ return "FLAG_INCLUDE_NOT_IMPORTANT_VIEWS";
+ case FLAG_REQUEST_TOUCH_EXPLORATION_MODE:
+ return "FLAG_REQUEST_TOUCH_EXPLORATION_MODE";
default:
return null;
}
diff --git a/core/java/android/accessibilityservice/UiTestAutomationBridge.java b/core/java/android/accessibilityservice/UiTestAutomationBridge.java
index 30be374372d51..6837386e3af6d 100644
--- a/core/java/android/accessibilityservice/UiTestAutomationBridge.java
+++ b/core/java/android/accessibilityservice/UiTestAutomationBridge.java
@@ -189,7 +189,7 @@ public class UiTestAutomationBridge {
final AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC;
- info.flags |= AccessibilityServiceInfo.INCLUDE_NOT_IMPORTANT_VIEWS;
+ info.flags |= AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
try {
manager.registerUiTestAutomationService(mListener, info);
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 484de0df3c48e..ad1dff5764e82 100755
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -2461,8 +2461,10 @@