From c921f27694b1f4e15399f77c97a5992aebd70726 Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Thu, 14 May 2015 12:26:49 -0700 Subject: 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 --- core/java/android/view/accessibility/AccessibilityNodeInfo.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'core/java/android/view/accessibility') 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); } } -- cgit v1.1