diff options
| author | Hongming Jin <hongmingjin@google.com> | 2019-11-07 18:11:34 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-11-07 18:11:34 +0000 |
| commit | b640dac6e462562ab4eea585a41567cfcfa40032 (patch) | |
| tree | 95c5f06798c42920b85651fe2cf8bb350dd6be3b /core/java/android | |
| parent | e5af9298622a2340713f32e0d90f0b259fde939f (diff) | |
| parent | 347d803da8b4b2c449489b2816a565e22e7573b2 (diff) | |
Merge "Convert AccessibilityAction into a parcelable."
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/view/accessibility/AccessibilityNodeInfo.aidl | 1 | ||||
| -rw-r--r-- | core/java/android/view/accessibility/AccessibilityNodeInfo.java | 41 |
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(); + } } /** |
