diff options
| author | Alan Viverette <alanv@google.com> | 2015-05-14 12:26:49 -0700 |
|---|---|---|
| committer | Alan Viverette <alanv@google.com> | 2015-05-14 12:26:49 -0700 |
| commit | c921f27694b1f4e15399f77c97a5992aebd70726 (patch) | |
| tree | b98664e822aad666ada41e3537c1066b22343a90 /core/java/android/view/accessibility | |
| parent | 9cb90cbbf8fc91793dad1d1cb317079dbc7e8421 (diff) | |
| download | frameworks_base-c921f27694b1f4e15399f77c97a5992aebd70726.zip frameworks_base-c921f27694b1f4e15399f77c97a5992aebd70726.tar.gz frameworks_base-c921f27694b1f4e15399f77c97a5992aebd70726.tar.bz2 | |
Avoid sealed check when unparceling AccessibilityNodeInfo
Previously the unparceling code relied on addAction(), which would
incorrectly crash if the node was sealed.
Bug: 21135077
Change-Id: I773ac27b2dee501ffea0a0587536a192af402c32
Diffstat (limited to 'core/java/android/view/accessibility')
| -rw-r--r-- | core/java/android/view/accessibility/AccessibilityNodeInfo.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java index c785149..42e6766 100644 --- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java +++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java @@ -1011,6 +1011,10 @@ public class AccessibilityNodeInfo implements Parcelable { public void addAction(AccessibilityAction action) { enforceNotSealed(); + addActionUnchecked(action); + } + + private void addActionUnchecked(AccessibilityAction action) { if (action == null) { return; } @@ -2846,9 +2850,9 @@ public class AccessibilityNodeInfo implements Parcelable { addLegacyStandardActions(legacyStandardActions); final int nonLegacyActionCount = actionCount - Integer.bitCount(legacyStandardActions); for (int i = 0; i < nonLegacyActionCount; i++) { - AccessibilityAction action = new AccessibilityAction( + final AccessibilityAction action = new AccessibilityAction( parcel.readInt(), parcel.readCharSequence()); - addAction(action); + addActionUnchecked(action); } } |
