diff --git a/src/com/android/loganalysis/parser/ProcessUsageParser.java b/src/com/android/loganalysis/parser/ProcessUsageParser.java index 9609cd2db41421ea481df4fdc992f0cea80fcea9..2bbe47c82131b282b158698f1818d273e0a55970 100644 --- a/src/com/android/loganalysis/parser/ProcessUsageParser.java +++ b/src/com/android/loganalysis/parser/ProcessUsageParser.java @@ -84,6 +84,12 @@ public class ProcessUsageParser implements IParser { alarmWakeups = Integer.parseInt(m.group(1)); } } + // Add the last process usage stats to the list + if (processUid != null) { + // Save the process usage info for the previous process + mItem.addProcessUsage(processUid, alarmWakeups, mSensorUsage); + } + return mItem; } diff --git a/tests/src/com/android/loganalysis/parser/ProcessUsageParserTest.java b/tests/src/com/android/loganalysis/parser/ProcessUsageParserTest.java index e87b4a1325fce8d3aacdf11677a12e23c780c486..bfba620815c4c6ae7f5c6dfa4de9cf0f42ddd9f5 100644 --- a/tests/src/com/android/loganalysis/parser/ProcessUsageParserTest.java +++ b/tests/src/com/android/loganalysis/parser/ProcessUsageParserTest.java @@ -54,11 +54,12 @@ public class ProcessUsageParserTest extends TestCase { " Proc servicemanager:", " CPU: 2s 20ms usr + 4s 60ms krn ; 0ms fg", " Apk android:", - " 2 wakeup alarms"); + " 2 wakeup alarms", + " "); ProcessUsageItem processUsage = new ProcessUsageParser().parse(inputBlock); - assertEquals(2, processUsage.getProcessUsage().size()); + assertEquals(3, processUsage.getProcessUsage().size()); LinkedList<ProcessUsageInfoItem> processUsageInfo = (LinkedList<ProcessUsageInfoItem>)processUsage.getProcessUsage(); @@ -69,6 +70,9 @@ public class ProcessUsageParserTest extends TestCase { LinkedList<SensorInfoItem> sensor = processUsageInfo.get(1).getSensorUsage(); assertEquals("44", sensor.get(0).getSensorName()); assertEquals("36", sensor.get(1).getSensorName()); + + sensor = processUsageInfo.get(2).getSensorUsage(); + assertEquals("0", sensor.get(0).getSensorName()); } }