diff options
| -rw-r--r-- | core/java/android/metrics/LogMaker.java | 10 | ||||
| -rw-r--r-- | core/tests/coretests/src/android/metrics/LogMakerTest.java | 1 |
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]); |