Loading core/java/com/android/internal/os/BatteryStatsImpl.java +18 −6 Original line number Original line Diff line number Diff line Loading @@ -13002,16 +13002,17 @@ public class BatteryStatsImpl extends BatteryStats { mWakeLockAllocationsUs = null; mWakeLockAllocationsUs = null; final long startTimeMs = mClocks.uptimeMillis(); final long startTimeMs = mClocks.uptimeMillis(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final List<Integer> uidsToRemove = new ArrayList<>(); mCpuUidFreqTimeReader.readDelta((uid, cpuFreqTimeMs) -> { mCpuUidFreqTimeReader.readDelta((uid, cpuFreqTimeMs) -> { uid = mapUid(uid); uid = mapUid(uid); if (Process.isIsolated(uid)) { if (Process.isIsolated(uid)) { mCpuUidFreqTimeReader.removeUid(uid); uidsToRemove.add(uid); if (DEBUG) Slog.d(TAG, "Got freq readings for an isolated uid: " + uid); if (DEBUG) Slog.d(TAG, "Got freq readings for an isolated uid: " + uid); return; return; } } if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (DEBUG) Slog.d(TAG, "Got freq readings for an invalid user's uid " + uid); if (DEBUG) Slog.d(TAG, "Got freq readings for an invalid user's uid " + uid); mCpuUidFreqTimeReader.removeUid(uid); uidsToRemove.add(uid); return; return; } } final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); Loading Loading @@ -13070,6 +13071,9 @@ public class BatteryStatsImpl extends BatteryStats { } } } } }); }); for (int uid : uidsToRemove) { mCpuUidFreqTimeReader.removeUid(uid); } final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) { if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) { Loading Loading @@ -13116,21 +13120,25 @@ public class BatteryStatsImpl extends BatteryStats { public void readKernelUidCpuActiveTimesLocked(boolean onBattery) { public void readKernelUidCpuActiveTimesLocked(boolean onBattery) { final long startTimeMs = mClocks.uptimeMillis(); final long startTimeMs = mClocks.uptimeMillis(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final List<Integer> uidsToRemove = new ArrayList<>(); mCpuUidActiveTimeReader.readDelta((uid, cpuActiveTimesMs) -> { mCpuUidActiveTimeReader.readDelta((uid, cpuActiveTimesMs) -> { uid = mapUid(uid); uid = mapUid(uid); if (Process.isIsolated(uid)) { if (Process.isIsolated(uid)) { mCpuUidActiveTimeReader.removeUid(uid); uidsToRemove.add(uid); if (DEBUG) Slog.w(TAG, "Got active times for an isolated uid: " + uid); if (DEBUG) Slog.w(TAG, "Got active times for an isolated uid: " + uid); return; return; } } if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (DEBUG) Slog.w(TAG, "Got active times for an invalid user's uid " + uid); if (DEBUG) Slog.w(TAG, "Got active times for an invalid user's uid " + uid); mCpuUidActiveTimeReader.removeUid(uid); uidsToRemove.add(uid); return; return; } } final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); u.mCpuActiveTimeMs.addCountLocked(cpuActiveTimesMs, onBattery); u.mCpuActiveTimeMs.addCountLocked(cpuActiveTimesMs, onBattery); }); }); for (int uid : uidsToRemove) { mCpuUidActiveTimeReader.removeUid(uid); } final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) { if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) { Loading @@ -13146,21 +13154,25 @@ public class BatteryStatsImpl extends BatteryStats { public void readKernelUidCpuClusterTimesLocked(boolean onBattery) { public void readKernelUidCpuClusterTimesLocked(boolean onBattery) { final long startTimeMs = mClocks.uptimeMillis(); final long startTimeMs = mClocks.uptimeMillis(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final List<Integer> uidsToRemove = new ArrayList<>(); mCpuUidClusterTimeReader.readDelta((uid, cpuClusterTimesMs) -> { mCpuUidClusterTimeReader.readDelta((uid, cpuClusterTimesMs) -> { uid = mapUid(uid); uid = mapUid(uid); if (Process.isIsolated(uid)) { if (Process.isIsolated(uid)) { mCpuUidClusterTimeReader.removeUid(uid); uidsToRemove.add(uid); if (DEBUG) Slog.w(TAG, "Got cluster times for an isolated uid: " + uid); if (DEBUG) Slog.w(TAG, "Got cluster times for an isolated uid: " + uid); return; return; } } if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (DEBUG) Slog.w(TAG, "Got cluster times for an invalid user's uid " + uid); if (DEBUG) Slog.w(TAG, "Got cluster times for an invalid user's uid " + uid); mCpuUidClusterTimeReader.removeUid(uid); uidsToRemove.add(uid); return; return; } } final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); u.mCpuClusterTimesMs.addCountLocked(cpuClusterTimesMs, onBattery); u.mCpuClusterTimesMs.addCountLocked(cpuClusterTimesMs, onBattery); }); }); for (int uid : uidsToRemove) { mCpuUidClusterTimeReader.removeUid(uid); } final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) { if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) { Loading
core/java/com/android/internal/os/BatteryStatsImpl.java +18 −6 Original line number Original line Diff line number Diff line Loading @@ -13002,16 +13002,17 @@ public class BatteryStatsImpl extends BatteryStats { mWakeLockAllocationsUs = null; mWakeLockAllocationsUs = null; final long startTimeMs = mClocks.uptimeMillis(); final long startTimeMs = mClocks.uptimeMillis(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final List<Integer> uidsToRemove = new ArrayList<>(); mCpuUidFreqTimeReader.readDelta((uid, cpuFreqTimeMs) -> { mCpuUidFreqTimeReader.readDelta((uid, cpuFreqTimeMs) -> { uid = mapUid(uid); uid = mapUid(uid); if (Process.isIsolated(uid)) { if (Process.isIsolated(uid)) { mCpuUidFreqTimeReader.removeUid(uid); uidsToRemove.add(uid); if (DEBUG) Slog.d(TAG, "Got freq readings for an isolated uid: " + uid); if (DEBUG) Slog.d(TAG, "Got freq readings for an isolated uid: " + uid); return; return; } } if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (DEBUG) Slog.d(TAG, "Got freq readings for an invalid user's uid " + uid); if (DEBUG) Slog.d(TAG, "Got freq readings for an invalid user's uid " + uid); mCpuUidFreqTimeReader.removeUid(uid); uidsToRemove.add(uid); return; return; } } final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); Loading Loading @@ -13070,6 +13071,9 @@ public class BatteryStatsImpl extends BatteryStats { } } } } }); }); for (int uid : uidsToRemove) { mCpuUidFreqTimeReader.removeUid(uid); } final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) { if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) { Loading Loading @@ -13116,21 +13120,25 @@ public class BatteryStatsImpl extends BatteryStats { public void readKernelUidCpuActiveTimesLocked(boolean onBattery) { public void readKernelUidCpuActiveTimesLocked(boolean onBattery) { final long startTimeMs = mClocks.uptimeMillis(); final long startTimeMs = mClocks.uptimeMillis(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final List<Integer> uidsToRemove = new ArrayList<>(); mCpuUidActiveTimeReader.readDelta((uid, cpuActiveTimesMs) -> { mCpuUidActiveTimeReader.readDelta((uid, cpuActiveTimesMs) -> { uid = mapUid(uid); uid = mapUid(uid); if (Process.isIsolated(uid)) { if (Process.isIsolated(uid)) { mCpuUidActiveTimeReader.removeUid(uid); uidsToRemove.add(uid); if (DEBUG) Slog.w(TAG, "Got active times for an isolated uid: " + uid); if (DEBUG) Slog.w(TAG, "Got active times for an isolated uid: " + uid); return; return; } } if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (DEBUG) Slog.w(TAG, "Got active times for an invalid user's uid " + uid); if (DEBUG) Slog.w(TAG, "Got active times for an invalid user's uid " + uid); mCpuUidActiveTimeReader.removeUid(uid); uidsToRemove.add(uid); return; return; } } final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); u.mCpuActiveTimeMs.addCountLocked(cpuActiveTimesMs, onBattery); u.mCpuActiveTimeMs.addCountLocked(cpuActiveTimesMs, onBattery); }); }); for (int uid : uidsToRemove) { mCpuUidActiveTimeReader.removeUid(uid); } final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) { if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) { Loading @@ -13146,21 +13154,25 @@ public class BatteryStatsImpl extends BatteryStats { public void readKernelUidCpuClusterTimesLocked(boolean onBattery) { public void readKernelUidCpuClusterTimesLocked(boolean onBattery) { final long startTimeMs = mClocks.uptimeMillis(); final long startTimeMs = mClocks.uptimeMillis(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final long elapsedRealtimeMs = mClocks.elapsedRealtime(); final List<Integer> uidsToRemove = new ArrayList<>(); mCpuUidClusterTimeReader.readDelta((uid, cpuClusterTimesMs) -> { mCpuUidClusterTimeReader.readDelta((uid, cpuClusterTimesMs) -> { uid = mapUid(uid); uid = mapUid(uid); if (Process.isIsolated(uid)) { if (Process.isIsolated(uid)) { mCpuUidClusterTimeReader.removeUid(uid); uidsToRemove.add(uid); if (DEBUG) Slog.w(TAG, "Got cluster times for an isolated uid: " + uid); if (DEBUG) Slog.w(TAG, "Got cluster times for an isolated uid: " + uid); return; return; } } if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (!mUserInfoProvider.exists(UserHandle.getUserId(uid))) { if (DEBUG) Slog.w(TAG, "Got cluster times for an invalid user's uid " + uid); if (DEBUG) Slog.w(TAG, "Got cluster times for an invalid user's uid " + uid); mCpuUidClusterTimeReader.removeUid(uid); uidsToRemove.add(uid); return; return; } } final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); final Uid u = getUidStatsLocked(uid, elapsedRealtimeMs, startTimeMs); u.mCpuClusterTimesMs.addCountLocked(cpuClusterTimesMs, onBattery); u.mCpuClusterTimesMs.addCountLocked(cpuClusterTimesMs, onBattery); }); }); for (int uid : uidsToRemove) { mCpuUidClusterTimeReader.removeUid(uid); } final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; final long elapsedTimeMs = mClocks.uptimeMillis() - startTimeMs; if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) { if (DEBUG_ENERGY_CPU || elapsedTimeMs >= 100) {