Merge "Add logging when parsing fails in DeviceConfig API getters."

This commit is contained in:
Stanislav Zholnin
2019-03-13 10:10:13 +00:00
committed by Android (Google) Code Review

View File

@@ -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;
}
}