diff options
| author | Stanislav Zholnin <zholnin@google.com> | 2019-03-13 10:10:13 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-03-13 10:10:13 +0000 |
| commit | bbe1969596ac122e87193ca9200ad8963ddc5b30 (patch) | |
| tree | 1fc12c63913cfe205bc665f4264f02b306617f63 /core/java/android | |
| parent | aca87804680244365200ac6c91dbc9f953d6ce28 (diff) | |
| parent | ffea1de0c7acfac742a1ed3b6eda3fe9a1616a6f (diff) | |
Merge "Add logging when parsing fails in DeviceConfig API getters."
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/provider/DeviceConfig.java | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/core/java/android/provider/DeviceConfig.java b/core/java/android/provider/DeviceConfig.java index 17fc10878099..7a0bb91d9f36 100644 --- a/core/java/android/provider/DeviceConfig.java +++ b/core/java/android/provider/DeviceConfig.java @@ -31,6 +31,7 @@ import android.database.ContentObserver; import android.net.Uri; import android.provider.Settings.ResetMode; import android.util.ArrayMap; +import android.util.Log; import android.util.Pair; import com.android.internal.annotations.GuardedBy; @@ -402,6 +403,7 @@ public final class DeviceConfig { new ArrayMap<>(); @GuardedBy("sLock") private static Map<String, Pair<ContentObserver, Integer>> sNamespaces = new HashMap<>(); + private static final String TAG = "DeviceConfig"; // Should never be invoked private DeviceConfig() { @@ -475,9 +477,13 @@ public final class DeviceConfig { @RequiresPermission(READ_DEVICE_CONFIG) public static int getInt(String namespace, String name, int defaultValue) { String value = getProperty(namespace, name); + if (value == null) { + return defaultValue; + } try { return Integer.parseInt(value); } catch (NumberFormatException e) { + Log.e(TAG, "Parsing integer failed for " + namespace + ":" + name); return defaultValue; } } @@ -497,9 +503,13 @@ public final class DeviceConfig { @RequiresPermission(READ_DEVICE_CONFIG) public static long getLong(String namespace, String name, long defaultValue) { String value = getProperty(namespace, name); + if (value == null) { + return defaultValue; + } try { return Long.parseLong(value); } catch (NumberFormatException e) { + Log.e(TAG, "Parsing long failed for " + namespace + ":" + name); return defaultValue; } } @@ -519,11 +529,13 @@ public final class DeviceConfig { @RequiresPermission(READ_DEVICE_CONFIG) public static float getFloat(String namespace, String name, float defaultValue) { String value = getProperty(namespace, name); + if (value == null) { + return defaultValue; + } try { return Float.parseFloat(value); } catch (NumberFormatException e) { - return defaultValue; - } catch (NullPointerException e) { + Log.e(TAG, "Parsing float failed for " + namespace + ":" + name); return defaultValue; } } @@ -911,9 +923,13 @@ public final class DeviceConfig { public int getInt(@NonNull String name, int defaultValue) { Preconditions.checkNotNull(name); String value = mMap.get(name); + if (value == null) { + return defaultValue; + } try { return Integer.parseInt(value); } catch (NumberFormatException e) { + Log.e(TAG, "Parsing int failed for " + name); return defaultValue; } } @@ -929,9 +945,13 @@ public final class DeviceConfig { public long getLong(@NonNull String name, long defaultValue) { Preconditions.checkNotNull(name); String value = mMap.get(name); + if (value == null) { + return defaultValue; + } try { return Long.parseLong(value); } catch (NumberFormatException e) { + Log.e(TAG, "Parsing long failed for " + name); return defaultValue; } } @@ -947,11 +967,13 @@ public final class DeviceConfig { public float getFloat(@NonNull String name, float defaultValue) { Preconditions.checkNotNull(name); String value = mMap.get(name); + if (value == null) { + return defaultValue; + } try { return Float.parseFloat(value); } catch (NumberFormatException e) { - return defaultValue; - } catch (NullPointerException e) { + Log.e(TAG, "Parsing float failed for " + name); return defaultValue; } } |
