From 116751d84f6d276f2cac7074abd9f8ba23742958 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Thu, 20 Dec 2012 18:57:09 -0800 Subject: [PATCH] Shrink Bundle.getString(key, default) and getCharSequence(key, default) They previously duplicated the full logic of getString(key) and getCharSequence(key) independently. Now they both use the no-default version internally, resulting both in a single point of implementation for test & isolation purposes and in a (small) decrease in code size. Change-Id: If1b1e1fa4a549a0ec4cf221e54998f4fd438f3a2 --- core/java/android/os/Bundle.java | 42 ++++++++------------------------ 1 file changed, 10 insertions(+), 32 deletions(-) diff --git a/core/java/android/os/Bundle.java b/core/java/android/os/Bundle.java index 460a5fe96149f..65eefcbeeff35 100644 --- a/core/java/android/os/Bundle.java +++ b/core/java/android/os/Bundle.java @@ -1061,10 +1061,7 @@ public final class Bundle implements Parcelable, Cloneable { */ public String getString(String key) { unparcel(); - Object o = mMap.get(key); - if (o == null) { - return null; - } + final Object o = mMap.get(key); try { return (String) o; } catch (ClassCastException e) { @@ -1079,20 +1076,12 @@ public final class Bundle implements Parcelable, Cloneable { * * @param key a String, or null * @param defaultValue Value to return if key does not exist - * @return a String value, or null + * @return the String value associated with the given key, or defaultValue + * if no valid String object is currently mapped to that key. */ public String getString(String key, String defaultValue) { - unparcel(); - Object o = mMap.get(key); - if (o == null) { - return defaultValue; - } - try { - return (String) o; - } catch (ClassCastException e) { - typeWarning(key, o, "String", e); - return defaultValue; - } + final String s = getString(key); + return (s == null) ? defaultValue : s; } /** @@ -1105,10 +1094,7 @@ public final class Bundle implements Parcelable, Cloneable { */ public CharSequence getCharSequence(String key) { unparcel(); - Object o = mMap.get(key); - if (o == null) { - return null; - } + final Object o = mMap.get(key); try { return (CharSequence) o; } catch (ClassCastException e) { @@ -1123,20 +1109,12 @@ public final class Bundle implements Parcelable, Cloneable { * * @param key a String, or null * @param defaultValue Value to return if key does not exist - * @return a CharSequence value, or null + * @return the CharSequence value associated with the given key, or defaultValue + * if no valid CharSequence object is currently mapped to that key. */ public CharSequence getCharSequence(String key, CharSequence defaultValue) { - unparcel(); - Object o = mMap.get(key); - if (o == null) { - return defaultValue; - } - try { - return (CharSequence) o; - } catch (ClassCastException e) { - typeWarning(key, o, "CharSequence", e); - return defaultValue; - } + final CharSequence cs = getCharSequence(key); + return (cs == null) ? defaultValue : cs; } /**