diff options
4 files changed, 20 insertions, 12 deletions
diff --git a/src/com/android/loganalysis/item/MemInfoItem.java b/src/com/android/loganalysis/item/MemInfoItem.java index 07a14fe..9fa512c 100644 --- a/src/com/android/loganalysis/item/MemInfoItem.java +++ b/src/com/android/loganalysis/item/MemInfoItem.java @@ -22,7 +22,7 @@ import org.json.JSONObject; * An {@link IItem} used to store the memory info output. */ @SuppressWarnings("serial") -public class MemInfoItem extends GenericMapItem<Integer> { +public class MemInfoItem extends GenericMapItem<Long> { /** Constant for JSON output */ public static final String LINES = "LINES"; diff --git a/src/com/android/loganalysis/parser/MemInfoParser.java b/src/com/android/loganalysis/parser/MemInfoParser.java index 72125b0..4a48798 100644 --- a/src/com/android/loganalysis/parser/MemInfoParser.java +++ b/src/com/android/loganalysis/parser/MemInfoParser.java @@ -49,8 +49,12 @@ public class MemInfoParser implements IParser { Matcher m = INFO_LINE.matcher(line); if (m.matches()) { String key = m.group(1); - Integer value = Integer.parseInt(m.group(2)); - item.put(key, value); + try { + Long value = Long.parseLong(m.group(2)); + item.put(key, value); + } catch (NumberFormatException e) { + // Ignore + } } } diff --git a/tests/src/com/android/loganalysis/item/MemInfoItemTest.java b/tests/src/com/android/loganalysis/item/MemInfoItemTest.java index beda797..7f25fe3 100644 --- a/tests/src/com/android/loganalysis/item/MemInfoItemTest.java +++ b/tests/src/com/android/loganalysis/item/MemInfoItemTest.java @@ -30,8 +30,8 @@ public class MemInfoItemTest extends TestCase { */ public void testToJson() throws JSONException { MemInfoItem item = new MemInfoItem(); - item.put("foo", 123); - item.put("bar", 456); + item.put("foo", 123l); + item.put("bar", 456l); item.setText("foo: 123 kB\nbar: 456 kB"); // Convert to JSON string and back again diff --git a/tests/src/com/android/loganalysis/parser/MemInfoParserTest.java b/tests/src/com/android/loganalysis/parser/MemInfoParserTest.java index d02ce39..ab41b33 100644 --- a/tests/src/com/android/loganalysis/parser/MemInfoParserTest.java +++ b/tests/src/com/android/loganalysis/parser/MemInfoParserTest.java @@ -37,16 +37,20 @@ public class MemInfoParserTest extends TestCase { "MemFree: 65420 kB", "Buffers: 20800 kB", "Cached: 86204 kB", - "SwapCached: 0 kB"); + "SwapCached: 0 kB", + "Long: 34359640152 kB", + "ExtraLongIgnore: 12345678901234567890 kB"); MemInfoItem item = new MemInfoParser().parse(inputBlock); - assertEquals(5, item.size()); - assertEquals((Integer)353332, item.get("MemTotal")); - assertEquals((Integer)65420, item.get("MemFree")); - assertEquals((Integer)20800, item.get("Buffers")); - assertEquals((Integer)86204, item.get("Cached")); - assertEquals((Integer)0, item.get("SwapCached")); + assertEquals(6, item.size()); + assertEquals((Long)353332l, item.get("MemTotal")); + assertEquals((Long)65420l, item.get("MemFree")); + assertEquals((Long)20800l, item.get("Buffers")); + assertEquals((Long)86204l, item.get("Cached")); + assertEquals((Long)0l, item.get("SwapCached")); + assertEquals((Long)34359640152l, item.get("Long")); + assertNull(item.get("ExtraLongIgnore")); assertEquals(ArrayUtil.join("\n", inputBlock), item.getText()); } |