summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorHongming Jin <hongmingjin@google.com>2019-11-07 18:11:34 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-11-07 18:11:34 +0000
commitb640dac6e462562ab4eea585a41567cfcfa40032 (patch)
tree95c5f06798c42920b85651fe2cf8bb350dd6be3b /core/java/android
parente5af9298622a2340713f32e0d90f0b259fde939f (diff)
parent347d803da8b4b2c449489b2816a565e22e7573b2 (diff)
Merge "Convert AccessibilityAction into a parcelable."
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/view/accessibility/AccessibilityNodeInfo.aidl1
-rw-r--r--core/java/android/view/accessibility/AccessibilityNodeInfo.java41
2 files changed, 37 insertions, 5 deletions
diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.aidl b/core/java/android/view/accessibility/AccessibilityNodeInfo.aidl
index 59175cebd773..dbc9903f6630 100644
--- a/core/java/android/view/accessibility/AccessibilityNodeInfo.aidl
+++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.aidl
@@ -17,3 +17,4 @@
package android.view.accessibility;
parcelable AccessibilityNodeInfo;
+parcelable AccessibilityNodeInfo.AccessibilityAction;
diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
index 06e9d0dbf6d6..b33fdbbf8a96 100644
--- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java
+++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
@@ -3570,8 +3570,7 @@ public class AccessibilityNodeInfo implements Parcelable {
for (int i = 0; i < actionCount; i++) {
AccessibilityAction action = mActions.get(i);
if (!isDefaultStandardAction(action)) {
- parcel.writeInt(action.getId());
- parcel.writeCharSequence(action.getLabel());
+ action.writeToParcel(parcel, flags);
}
}
} else {
@@ -3777,8 +3776,8 @@ public class AccessibilityNodeInfo implements Parcelable {
addStandardActions(standardActions);
final int nonStandardActionCount = parcel.readInt();
for (int i = 0; i < nonStandardActionCount; i++) {
- final AccessibilityAction action = new AccessibilityAction(
- parcel.readInt(), parcel.readCharSequence());
+ final AccessibilityAction action =
+ AccessibilityAction.CREATOR.createFromParcel(parcel);
addActionUnchecked(action);
}
}
@@ -4177,7 +4176,7 @@ public class AccessibilityNodeInfo implements Parcelable {
* can discover the set of supported actions.
* </p>
*/
- public static final class AccessibilityAction {
+ public static final class AccessibilityAction implements Parcelable {
/** @hide */
public static final ArraySet<AccessibilityAction> sStandardActions = new ArraySet<>();
@@ -4654,6 +4653,38 @@ public class AccessibilityNodeInfo implements Parcelable {
public String toString() {
return "AccessibilityAction: " + getActionSymbolicName(mActionId) + " - " + mLabel;
}
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ /**
+ * Write data into a parcel.
+ */
+ public void writeToParcel(@NonNull Parcel out, int flags) {
+ out.writeInt(mActionId);
+ out.writeCharSequence(mLabel);
+ }
+
+ public static final @NonNull Parcelable.Creator<AccessibilityAction> CREATOR =
+ new Parcelable.Creator<AccessibilityAction>() {
+ public AccessibilityAction createFromParcel(Parcel in) {
+ return new AccessibilityAction(in);
+ }
+
+ public AccessibilityAction[] newArray(int size) {
+ return new AccessibilityAction[size];
+ }
+ };
+
+ private AccessibilityAction(Parcel in) {
+ mActionId = in.readInt();
+ mLabel = in.readCharSequence();
+ }
}
/**