From 069767717a8323bbb05988137a91d40968af2972 Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Mon, 1 Jun 2015 15:18:37 -0700 Subject: Remove strict mode violation from value to string coercion The legitimate uses of value to string coercion, including the interaction between lax attribute formatting and AAPT type inference, combined with the low likelihood of unintentional coercion and low cost of most string coercions, makes the value to string coercion violation overkill. Bug: 21563086 Change-Id: I7892e776d3e5479fcba507749b074c2abdf1b781 --- core/java/android/content/res/TypedArray.java | 23 ----------------------- core/java/android/view/View.java | 2 +- 2 files changed, 1 insertion(+), 24 deletions(-) (limited to 'core/java') diff --git a/core/java/android/content/res/TypedArray.java b/core/java/android/content/res/TypedArray.java index f0c3f2d..8bcd5d1 100644 --- a/core/java/android/content/res/TypedArray.java +++ b/core/java/android/content/res/TypedArray.java @@ -160,7 +160,6 @@ public class TypedArray { final TypedValue v = mValue; if (getValueAt(index, v)) { - StrictMode.noteResourceMismatch(v); return v.coerceToString(); } @@ -183,24 +182,6 @@ public class TypedArray { */ @Nullable public String getString(int index) { - return getString(index, true); - } - - /** - * Returns a string representation of the value at the given index, - * optionally throwing a resource mismatch strict mode violation if the - * value must be coerced to a string. - * - * @param index the index of the attribute to retrieve - * @param strict {@code true} to throw a strict mode violation for string - * coercion, {@code false} otherwise - * @return a string representation of the value at the given index, or - * {@code null} if the resource could not be coerced to a string - * @see StrictMode#noteResourceMismatch(Object) - * @hide Used internally for view attribute inspection. - */ - @Nullable - public String getString(int index, boolean strict) { if (mRecycled) { throw new RuntimeException("Cannot make calls to a recycled instance!"); } @@ -216,9 +197,6 @@ public class TypedArray { final TypedValue v = mValue; if (getValueAt(index, v)) { - if (strict) { - StrictMode.noteResourceMismatch(v); - } final CharSequence cs = v.coerceToString(); return cs != null ? cs.toString() : null; } @@ -292,7 +270,6 @@ public class TypedArray { final TypedValue v = mValue; if (getValueAt(index, v)) { - StrictMode.noteResourceMismatch(v); final CharSequence cs = v.coerceToString(); return cs != null ? cs.toString() : null; } diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 3e621b1..3b1587a 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -4510,7 +4510,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } attributes[i] = resourceName; - attributes[i + 1] = t.getString(index, false); + attributes[i + 1] = t.getString(index); i += 2; } -- cgit v1.1