summaryrefslogtreecommitdiffstats
path: root/core/java/android/view/accessibility
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2015-05-14 12:26:49 -0700
committerAlan Viverette <alanv@google.com>2015-05-14 12:26:49 -0700
commitc921f27694b1f4e15399f77c97a5992aebd70726 (patch)
treeb98664e822aad666ada41e3537c1066b22343a90 /core/java/android/view/accessibility
parent9cb90cbbf8fc91793dad1d1cb317079dbc7e8421 (diff)
downloadframeworks_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.java8
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);
}
}