summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorStanislav Zholnin <zholnin@google.com>2019-03-13 10:10:13 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-03-13 10:10:13 +0000
commitbbe1969596ac122e87193ca9200ad8963ddc5b30 (patch)
tree1fc12c63913cfe205bc665f4264f02b306617f63 /core/java/android
parentaca87804680244365200ac6c91dbc9f953d6ce28 (diff)
parentffea1de0c7acfac742a1ed3b6eda3fe9a1616a6f (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.java30
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;
}
}