Use parseColor instead of getHTMLColor

getHTMLColor is not aware of ARGB color format which is commonly used in
android xml files. This causes problem with coloring spans in resources.

Instead of above it should be changed to parseColor() with supported
formats: #RRGGBB #AARRGGBB

Bug: https://code.google.com/p/android/issues/detail?id=58192

Change-Id: I16bdf4c5c2a3b5e216b44e5c1955cac0104b3e12
This commit is contained in:
Stefan Wysocki
2013-10-10 12:07:11 +02:00
committed by Johan Redestig
parent 59701b9ba5
commit a987d9af69

View File

@ -311,13 +311,13 @@ final class StringBlock {
* the color black is returned instead.
*
* @param color The color as a string. Can be a resource reference,
* HTML hexadecimal, octal or a name
* hexadecimal, octal or a name
* @param foreground True if the color will be used as the foreground color,
* false otherwise
*
* @return A CharacterStyle
*
* @see Color#getHtmlColor(String)
* @see Color#parseColor(String)
*/
private static CharacterStyle getColor(String color, boolean foreground) {
int c = 0xff000000;
@ -336,7 +336,11 @@ final class StringBlock {
}
}
} else {
c = Color.getHtmlColor(color);
try {
c = Color.parseColor(color);
} catch (IllegalArgumentException e) {
c = Color.BLACK;
}
}
}