Return copied String array from getStringArray method
In the Key class constructor, elements in a String[] instance returned from DeclaredKeyStyle.getStringArray() may be altered by KeySpecParser.get(Int|Boolean)Value methods. Bug: 11245712 Change-Id: I3a7fc5ccdb2a14efb72c402dd11559ab13e08596
This commit is contained in:
parent
2bf3a77814
commit
be734d298a
1 changed files with 3 additions and 1 deletions
|
@ -27,6 +27,7 @@ import com.android.inputmethod.latin.utils.XmlParseUtils;
|
|||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
|
||||
public final class KeyStylesSet {
|
||||
|
@ -90,7 +91,8 @@ public final class KeyStylesSet {
|
|||
}
|
||||
final Object value = mStyleAttributes.get(index);
|
||||
if (value != null) {
|
||||
return (String[])value;
|
||||
final String[] array = (String[])value;
|
||||
return Arrays.copyOf(array, array.length);
|
||||
}
|
||||
final KeyStyle parentStyle = mStyles.get(mParentStyleName);
|
||||
return parentStyle.getStringArray(a, index);
|
||||
|
|
Loading…
Reference in a new issue