summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/metrics/LogMaker.java10
-rw-r--r--core/tests/coretests/src/android/metrics/LogMakerTest.java1
2 files changed, 8 insertions, 3 deletions
diff --git a/core/java/android/metrics/LogMaker.java b/core/java/android/metrics/LogMaker.java
index 0aef532cdb37..2bf841c3171e 100644
--- a/core/java/android/metrics/LogMaker.java
+++ b/core/java/android/metrics/LogMaker.java
@@ -106,7 +106,7 @@ public class LogMaker {
* @return
*/
public LogMaker addTaggedData(int tag, Object value) {
- if (isValidValue(value)) {
+ if (!isValidValue(value)) {
throw new IllegalArgumentException(
"Value must be loggable type - int, long, float, String");
}
@@ -119,10 +119,14 @@ public class LogMaker {
}
public boolean isValidValue(Object value) {
- return !(value instanceof Integer ||
+ if (value == null) {
+ Log.i("LogBuilder", "Logging a null value.");
+ return true;
+ }
+ return value instanceof Integer ||
value instanceof String ||
value instanceof Long ||
- value instanceof Float);
+ value instanceof Float;
}
public Object getTaggedData(int tag) {
diff --git a/core/tests/coretests/src/android/metrics/LogMakerTest.java b/core/tests/coretests/src/android/metrics/LogMakerTest.java
index 0f75cb67795f..35d8d9343887 100644
--- a/core/tests/coretests/src/android/metrics/LogMakerTest.java
+++ b/core/tests/coretests/src/android/metrics/LogMakerTest.java
@@ -100,6 +100,7 @@ public class LogMakerTest extends TestCase {
builder.addTaggedData(2, 123);
builder.addTaggedData(3, 123L);
builder.addTaggedData(4, 123.0F);
+ builder.addTaggedData(5, null);
Object[] out = builder.serialize();
assertEquals("onetwothree", out[1]);
assertEquals(123, out[3]);