diff options
author | Hector Tellez <htellez@google.com> | 2016-09-20 17:59:55 -0700 |
---|---|---|
committer | Hector Tellez <htellez@google.com> | 2016-09-21 10:42:43 -0700 |
commit | d8928ba2a3cbf893332451066d02b19a91f6a585 (patch) | |
tree | c176c54b53a6f170cb80a40f439e588d07c9c980 /src/com/android/loganalysis/parser | |
parent | 6e5b7933fca2fc960ddc52993d237a8bfbb2ade4 (diff) | |
download | loganalysis-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.java | 17 |
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; } |