diff options
| author | Adam Lesinski <adamlesinski@google.com> | 2015-07-01 12:09:45 -0700 |
|---|---|---|
| committer | Adam Lesinski <adamlesinski@google.com> | 2015-07-01 12:09:45 -0700 |
| commit | 43ae441ad7d0df12f3982fc60406582445d2df4e (patch) | |
| tree | 2c67179fe0f3417565d765219332921190621512 /core/java | |
| parent | d3ecb3e6f04a0f76c886238af6bef1d10b987a42 (diff) | |
BatteryStats: Don't assume every kernel reports a power field in /proc/uid_cputime
Bug:22225706
Change-Id: I4c7d889716345231564c1e96494dc84aab17cf01
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/os/KernelUidCpuTimeReader.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/java/com/android/internal/os/KernelUidCpuTimeReader.java b/core/java/com/android/internal/os/KernelUidCpuTimeReader.java index e2d366a8ea3a..45cc8b2260ef 100644 --- a/core/java/com/android/internal/os/KernelUidCpuTimeReader.java +++ b/core/java/com/android/internal/os/KernelUidCpuTimeReader.java @@ -77,7 +77,12 @@ public class KernelUidCpuTimeReader { final int uid = Integer.parseInt(uidStr.substring(0, uidStr.length() - 1), 10); final long userTimeUs = Long.parseLong(splitter.next(), 10); final long systemTimeUs = Long.parseLong(splitter.next(), 10); - final long powerMaUs = Long.parseLong(splitter.next(), 10) / 1000; + final long powerMaUs; + if (splitter.hasNext()) { + powerMaUs = Long.parseLong(splitter.next(), 10) / 1000; + } else { + powerMaUs = 0; + } if (callback != null) { long userTimeDeltaUs = userTimeUs; |
