Make deep copies of a11y data.
Make sure we don't get exposed to changes make to text after the setter on the node or event is called. Such changes mean, among other things, that we can't move the nodes to different threads. Bug: 31042124 Change-Id: I12921ff7e50a200b8140994a237040d01a31b6f5
This commit is contained in:
@@ -2230,7 +2230,7 @@ public class AccessibilityNodeInfo implements Parcelable {
|
||||
*/
|
||||
public void setText(CharSequence text) {
|
||||
enforceNotSealed();
|
||||
mText = text;
|
||||
mText = (text == null) ? null : text.subSequence(0, text.length());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2247,7 +2247,7 @@ public class AccessibilityNodeInfo implements Parcelable {
|
||||
*/
|
||||
public void setError(CharSequence error) {
|
||||
enforceNotSealed();
|
||||
mError = error;
|
||||
mError = (error == null) ? null : error.subSequence(0, error.length());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2282,7 +2282,8 @@ public class AccessibilityNodeInfo implements Parcelable {
|
||||
*/
|
||||
public void setContentDescription(CharSequence contentDescription) {
|
||||
enforceNotSealed();
|
||||
mContentDescription = contentDescription;
|
||||
mContentDescription = (contentDescription == null) ? null
|
||||
: contentDescription.subSequence(0, contentDescription.length());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -572,7 +572,8 @@ public class AccessibilityRecord {
|
||||
*/
|
||||
public void setBeforeText(CharSequence beforeText) {
|
||||
enforceNotSealed();
|
||||
mBeforeText = beforeText;
|
||||
mBeforeText = (beforeText == null) ? null
|
||||
: beforeText.subSequence(0, beforeText.length());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -593,7 +594,8 @@ public class AccessibilityRecord {
|
||||
*/
|
||||
public void setContentDescription(CharSequence contentDescription) {
|
||||
enforceNotSealed();
|
||||
mContentDescription = contentDescription;
|
||||
mContentDescription = (contentDescription == null) ? null
|
||||
: contentDescription.subSequence(0, contentDescription.length());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user