OSDN Git Service

BatteryStats: Don't assume every kernel reports a power field in /proc/uid_cputime
authorAdam Lesinski <adamlesinski@google.com>
Wed, 1 Jul 2015 19:09:45 +0000 (12:09 -0700)
committerAdam Lesinski <adamlesinski@google.com>
Wed, 1 Jul 2015 19:09:45 +0000 (12:09 -0700)
Bug:22225706
Change-Id: I4c7d889716345231564c1e96494dc84aab17cf01

core/java/com/android/internal/os/KernelUidCpuTimeReader.java

index e2d366a..45cc8b2 100644 (file)
@@ -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;