summaryrefslogtreecommitdiff
path: root/src/com/android/loganalysis/parser
diff options
context:
space:
mode:
authorHector Tellez <htellez@google.com>2016-09-20 17:59:55 -0700
committerHector Tellez <htellez@google.com>2016-09-21 10:42:43 -0700
commitd8928ba2a3cbf893332451066d02b19a91f6a585 (patch)
treec176c54b53a6f170cb80a40f439e588d07c9c980 /src/com/android/loganalysis/parser
parent6e5b7933fca2fc960ddc52993d237a8bfbb2ade4 (diff)
downloadloganalysis-d8928ba2a3cbf893332451066d02b19a91f6a585.tar.gz
Updates bugreport parser to handle newest version of bugreports.
fixes: 31397868 Change-Id: Ie5b73d3916f15893ef372d26dd4b47239f5c1fcc
Diffstat (limited to 'src/com/android/loganalysis/parser')
-rw-r--r--src/com/android/loganalysis/parser/WakelockParser.java17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/com/android/loganalysis/parser/WakelockParser.java b/src/com/android/loganalysis/parser/WakelockParser.java
index a7db455..a6a36d5 100644
--- a/src/com/android/loganalysis/parser/WakelockParser.java
+++ b/src/com/android/loganalysis/parser/WakelockParser.java
@@ -30,7 +30,7 @@ public class WakelockParser implements IParser {
private static final String WAKE_LOCK_PAT_SUFFIX =
"(?:(\\d+)d)?\\s?(?:(\\d+)h)?\\s?(?:(\\d+)m)?\\s?(?:(\\d+)s)?\\s?(?:(\\d+)ms)?"
- + "\\s?\\((\\d+) times\\) realtime";
+ + "\\s?\\((\\d+) times\\)(?: max=\\d+)? realtime";
/**
* Match a valid line such as:
@@ -57,26 +57,25 @@ public class WakelockParser implements IParser {
Matcher m = null;
int wakelockCounter = 0;
for (String line : lines) {
- if ("".equals(line.trim())) {
+ if (wakelockCounter >= TOP_WAKELOCK_COUNT || "".equals(line.trim())) {
// Done with wakelock parsing
break;
}
m = KERNEL_WAKE_LOCK_PAT.matcher(line);
- if (m.matches()) {
- if (wakelockCounter < TOP_WAKELOCK_COUNT &&
- !line.contains("PowerManagerService.WakeLocks")) {
- parseKernelWakeLock(line, WakeLockCategory.KERNEL_WAKELOCK);
- wakelockCounter++;
- }
+ if (m.matches() && !line.contains("PowerManagerService.WakeLocks")) {
+ parseKernelWakeLock(line, WakeLockCategory.KERNEL_WAKELOCK);
+ wakelockCounter++;
continue;
}
+
m = PARTIAL_WAKE_LOCK_PAT.matcher(line);
- if (m.matches() && wakelockCounter < TOP_WAKELOCK_COUNT) {
+ if (m.matches()) {
parsePartialWakeLock(line, WakeLockCategory.PARTIAL_WAKELOCK);
wakelockCounter++;
}
}
+
return mItem;
}