Merge "Add AccessibilityAction and AccessibilityEvent API for drag & drop" into sc-v2-dev am: 0e08f81393
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15585174 Change-Id: I84e49aad247b54871cda1635457302e1d1841737
This commit is contained in:
@@ -2012,6 +2012,9 @@ package android {
|
|||||||
public static final class R.id {
|
public static final class R.id {
|
||||||
ctor public R.id();
|
ctor public R.id();
|
||||||
field public static final int accessibilityActionContextClick = 16908348; // 0x102003c
|
field public static final int accessibilityActionContextClick = 16908348; // 0x102003c
|
||||||
|
field public static final int accessibilityActionDragCancel;
|
||||||
|
field public static final int accessibilityActionDragDrop;
|
||||||
|
field public static final int accessibilityActionDragStart;
|
||||||
field public static final int accessibilityActionHideTooltip = 16908357; // 0x1020045
|
field public static final int accessibilityActionHideTooltip = 16908357; // 0x1020045
|
||||||
field public static final int accessibilityActionImeEnter = 16908372; // 0x1020054
|
field public static final int accessibilityActionImeEnter = 16908372; // 0x1020054
|
||||||
field public static final int accessibilityActionMoveWindow = 16908354; // 0x1020042
|
field public static final int accessibilityActionMoveWindow = 16908354; // 0x1020042
|
||||||
@@ -50661,6 +50664,9 @@ package android.view.accessibility {
|
|||||||
method public void setPackageName(CharSequence);
|
method public void setPackageName(CharSequence);
|
||||||
method public void writeToParcel(android.os.Parcel, int);
|
method public void writeToParcel(android.os.Parcel, int);
|
||||||
field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
|
field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
|
||||||
|
field public static final int CONTENT_CHANGE_TYPE_DRAG_CANCELLED = 512; // 0x200
|
||||||
|
field public static final int CONTENT_CHANGE_TYPE_DRAG_DROPPED = 256; // 0x100
|
||||||
|
field public static final int CONTENT_CHANGE_TYPE_DRAG_STARTED = 128; // 0x80
|
||||||
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
|
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
|
||||||
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
|
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
|
||||||
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
|
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
|
||||||
@@ -50959,6 +50965,9 @@ package android.view.accessibility {
|
|||||||
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_COPY;
|
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_COPY;
|
||||||
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CUT;
|
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CUT;
|
||||||
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DISMISS;
|
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DISMISS;
|
||||||
|
field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DRAG_CANCEL;
|
||||||
|
field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DRAG_DROP;
|
||||||
|
field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DRAG_START;
|
||||||
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_EXPAND;
|
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_EXPAND;
|
||||||
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_FOCUS;
|
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_FOCUS;
|
||||||
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_HIDE_TOOLTIP;
|
field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_HIDE_TOOLTIP;
|
||||||
|
|||||||
@@ -612,6 +612,36 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par
|
|||||||
*/
|
*/
|
||||||
public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 0x00000040;
|
public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 0x00000040;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Change type for {@link #TYPE_WINDOW_CONTENT_CHANGED} event:
|
||||||
|
* A drag has started while accessibility is enabled. This is either via an
|
||||||
|
* AccessibilityAction, or via touch events. This is sent from the source that initiated the
|
||||||
|
* drag.
|
||||||
|
*
|
||||||
|
* @see AccessibilityNodeInfo.AccessibilityAction#ACTION_DRAG_START
|
||||||
|
*/
|
||||||
|
public static final int CONTENT_CHANGE_TYPE_DRAG_STARTED = 0x00000080;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Change type for {@link #TYPE_WINDOW_CONTENT_CHANGED} event:
|
||||||
|
* A drag in with accessibility enabled has ended. This means the content has been
|
||||||
|
* successfully dropped. This is sent from the target that accepted the dragged content.
|
||||||
|
*
|
||||||
|
* @see AccessibilityNodeInfo.AccessibilityAction#ACTION_DRAG_DROP
|
||||||
|
*/
|
||||||
|
public static final int CONTENT_CHANGE_TYPE_DRAG_DROPPED = 0x00000100;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Change type for {@link #TYPE_WINDOW_CONTENT_CHANGED} event:
|
||||||
|
* A drag in with accessibility enabled has ended. This means the content has been
|
||||||
|
* unsuccessfully dropped, the user has canceled the action via an AccessibilityAction, or
|
||||||
|
* no drop has been detected within a timeout and the drag was automatically cancelled. This is
|
||||||
|
* sent from the source that initiated the drag.
|
||||||
|
*
|
||||||
|
* @see AccessibilityNodeInfo.AccessibilityAction#ACTION_DRAG_CANCEL
|
||||||
|
*/
|
||||||
|
public static final int CONTENT_CHANGE_TYPE_DRAG_CANCELLED = 0x0000200;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change type for {@link #TYPE_WINDOWS_CHANGED} event:
|
* Change type for {@link #TYPE_WINDOWS_CHANGED} event:
|
||||||
* The window was added.
|
* The window was added.
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import android.annotation.NonNull;
|
|||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.annotation.TestApi;
|
import android.annotation.TestApi;
|
||||||
import android.compat.annotation.UnsupportedAppUsage;
|
import android.compat.annotation.UnsupportedAppUsage;
|
||||||
|
import android.content.ClipData;
|
||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
import android.graphics.Region;
|
import android.graphics.Region;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
@@ -4353,6 +4354,14 @@ public class AccessibilityNodeInfo implements Parcelable {
|
|||||||
case R.id.accessibilityActionImeEnter:
|
case R.id.accessibilityActionImeEnter:
|
||||||
return "ACTION_IME_ENTER";
|
return "ACTION_IME_ENTER";
|
||||||
default:
|
default:
|
||||||
|
// TODO(197520937): Use finalized constants in switch
|
||||||
|
if (action == R.id.accessibilityActionDragStart) {
|
||||||
|
return "ACTION_DRAG";
|
||||||
|
} else if (action == R.id.accessibilityActionDragCancel) {
|
||||||
|
return "ACTION_CANCEL_DRAG";
|
||||||
|
} else if (action == R.id.accessibilityActionDragDrop) {
|
||||||
|
return "ACTION_DROP";
|
||||||
|
}
|
||||||
return "ACTION_UNKNOWN";
|
return "ACTION_UNKNOWN";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4995,6 +5004,46 @@ public class AccessibilityNodeInfo implements Parcelable {
|
|||||||
@NonNull public static final AccessibilityAction ACTION_IME_ENTER =
|
@NonNull public static final AccessibilityAction ACTION_IME_ENTER =
|
||||||
new AccessibilityAction(R.id.accessibilityActionImeEnter);
|
new AccessibilityAction(R.id.accessibilityActionImeEnter);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action to start a drag.
|
||||||
|
* <p>
|
||||||
|
* This action initiates a drag & drop within the system. The source's dragged content is
|
||||||
|
* prepared before the drag begins. In View, this action should prepare the arguments to
|
||||||
|
* {@link View#startDragAndDrop(ClipData, View.DragShadowBuilder, Object, int)} and then
|
||||||
|
* call {@link View#startDragAndDrop(ClipData, View.DragShadowBuilder, Object, int)}. The
|
||||||
|
* equivalent should be performed for other UI toolkits.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @see AccessibilityEvent#CONTENT_CHANGE_TYPE_DRAG_STARTED
|
||||||
|
*/
|
||||||
|
@NonNull public static final AccessibilityAction ACTION_DRAG_START =
|
||||||
|
new AccessibilityAction(R.id.accessibilityActionDragStart);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action to trigger a drop of the content being dragged.
|
||||||
|
* <p>
|
||||||
|
* This action is added to potential drop targets if the source started a drag with
|
||||||
|
* {@link #ACTION_DRAG_START}. In View, these targets are Views that accepted
|
||||||
|
* {@link android.view.DragEvent#ACTION_DRAG_STARTED} and have an
|
||||||
|
* {@link View.OnDragListener}.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @see AccessibilityEvent#CONTENT_CHANGE_TYPE_DRAG_DROPPED
|
||||||
|
*/
|
||||||
|
@NonNull public static final AccessibilityAction ACTION_DRAG_DROP =
|
||||||
|
new AccessibilityAction(R.id.accessibilityActionDragDrop);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action to cancel a drag.
|
||||||
|
* <p>
|
||||||
|
* This action is added to the source that started a drag with {@link #ACTION_DRAG_START}.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @see AccessibilityEvent#CONTENT_CHANGE_TYPE_DRAG_CANCELLED
|
||||||
|
*/
|
||||||
|
@NonNull public static final AccessibilityAction ACTION_DRAG_CANCEL =
|
||||||
|
new AccessibilityAction(R.id.accessibilityActionDragCancel);
|
||||||
|
|
||||||
private final int mActionId;
|
private final int mActionId;
|
||||||
private final CharSequence mLabel;
|
private final CharSequence mLabel;
|
||||||
|
|
||||||
|
|||||||
@@ -254,6 +254,15 @@
|
|||||||
<!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_IME_ENTER}. -->
|
<!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_IME_ENTER}. -->
|
||||||
<item type="id" name="accessibilityActionImeEnter" />
|
<item type="id" name="accessibilityActionImeEnter" />
|
||||||
|
|
||||||
|
<!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_DRAG_START}. -->
|
||||||
|
<item type="id" name="accessibilityActionDragStart" />
|
||||||
|
|
||||||
|
<!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_DRAG_DROP}. -->
|
||||||
|
<item type="id" name="accessibilityActionDragDrop" />
|
||||||
|
|
||||||
|
<!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_DRAG_CANCEL}. -->
|
||||||
|
<item type="id" name="accessibilityActionDragCancel" />
|
||||||
|
|
||||||
<!-- View tag for remote views to store the index of the next child when adding nested remote views dynamically. -->
|
<!-- View tag for remote views to store the index of the next child when adding nested remote views dynamically. -->
|
||||||
<item type="id" name="remote_views_next_child" />
|
<item type="id" name="remote_views_next_child" />
|
||||||
|
|
||||||
|
|||||||
@@ -3224,6 +3224,9 @@
|
|||||||
</staging-public-group>
|
</staging-public-group>
|
||||||
|
|
||||||
<staging-public-group type="id" first-id="0x01fe0000">
|
<staging-public-group type="id" first-id="0x01fe0000">
|
||||||
|
<public name="accessibilityActionDragStart" />
|
||||||
|
<public name="accessibilityActionDragDrop" />
|
||||||
|
<public name="accessibilityActionDragCancel" />
|
||||||
</staging-public-group>
|
</staging-public-group>
|
||||||
|
|
||||||
<staging-public-group type="style" first-id="0x01fd0000">
|
<staging-public-group type="style" first-id="0x01fd0000">
|
||||||
|
|||||||
Reference in New Issue
Block a user