Merge "Add logging when parsing fails in DeviceConfig API getters."
This commit is contained in:
committed by
Android (Google) Code Review
commit
bbe1969596
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user