Update KernelUidCpuFreqTimeReader to handle uid removals.

Bug: 34133340
Test: manual
Change-Id: Iaad2061671d83e1ff6d2797e166ae903f6faec13
This commit is contained in:
Sudheer Shanka
2017-06-01 12:09:03 -07:00
parent 8490ed92e1
commit 6d8dcec872
2 changed files with 9 additions and 0 deletions

View File

@@ -3518,6 +3518,7 @@ public class BatteryStatsImpl extends BatteryStats {
public void removeIsolatedUidLocked(int isolatedUid) {
mIsolatedUids.delete(isolatedUid);
mKernelUidCpuTimeReader.removeUid(isolatedUid);
mKernelUidCpuFreqTimeReader.removeUid(isolatedUid);
}
public int mapUid(int uid) {
@@ -10351,6 +10352,9 @@ public class BatteryStatsImpl extends BatteryStats {
public void onUidCpuFreqTime(int uid, long[] cpuFreqTimeMs) {
uid = mapUid(uid);
if (Process.isIsolated(uid)) {
mKernelUidCpuFreqTimeReader.removeUid(uid);
Slog.d(TAG, "Got freq readings for an isolated uid with"
+ " no mapping to owning uid: " + uid);
return;
}
final Uid u = getUidStatsLocked(uid);
@@ -11019,6 +11023,7 @@ public class BatteryStatsImpl extends BatteryStats {
*/
public void removeUidStatsLocked(int uid) {
mKernelUidCpuTimeReader.removeUid(uid);
mKernelUidCpuFreqTimeReader.removeUid(uid);
mUidStats.remove(uid);
}

View File

@@ -72,6 +72,10 @@ public class KernelUidCpuFreqTimeReader {
}
}
public void removeUid(int uid) {
mLastUidCpuFreqTimeMs.delete(uid);
}
@VisibleForTesting
public void readDelta(BufferedReader reader, @Nullable Callback callback) throws IOException {
String line = reader.readLine();