Loading services/core/java/com/android/server/power/stats/BatteryStatsImpl.java +6 −6 Original line number Diff line number Diff line Loading @@ -409,11 +409,10 @@ public class BatteryStatsImpl extends BatteryStats { @Override public long getWakelockDurationMillis() { synchronized (BatteryStatsImpl.this) { long rawRealtimeUs = mClock.uptimeMillis() * 1000; long batteryUptimeUs = getBatteryUptime(rawRealtimeUs); long screenOnTimeUs = getScreenOnTime(rawRealtimeUs, long batteryUptimeUs = getBatteryUptime(mClock.uptimeMillis() * 1000); long screenOnTimeUs = getScreenOnTime(mClock.elapsedRealtime() * 1000, BatteryStats.STATS_SINCE_CHARGED); return (batteryUptimeUs - screenOnTimeUs) / 1000; return Math.max(0, (batteryUptimeUs - screenOnTimeUs) / 1000); } } Loading @@ -437,8 +436,9 @@ public class BatteryStatsImpl extends BatteryStats { } } if (wakeLockTimeUs != 0) { callback.onUidWakelockDuration(u.getUid(), wakeLockTimeUs / 1000); long wakelockTimeMs = wakeLockTimeUs / 1000; if (wakelockTimeMs != 0) { callback.onUidWakelockDuration(u.getUid(), wakelockTimeMs); } } } Loading services/core/java/com/android/server/power/stats/WakelockPowerStatsCollector.java +9 −7 Original line number Diff line number Diff line Loading @@ -108,14 +108,16 @@ class WakelockPowerStatsCollector extends PowerStatsCollector { mWakelockDurationRetriever.retrieveUidWakelockDuration((uid, durationMs) -> { if (!mFirstCollection) { long diffMs = Math.max(0, durationMs - mLastUidWakelockDurations.get(uid)); if (diffMs != 0) { long[] uidStats = mPowerStats.uidStats.get(uid); if (uidStats == null) { uidStats = new long[mDescriptor.uidStatsArrayLength]; mPowerStats.uidStats.put(uid, uidStats); } mStatsLayout.setUidUsageDuration(uidStats, Math.max(0, durationMs - mLastUidWakelockDurations.get(uid))); mStatsLayout.setUidUsageDuration(uidStats, diffMs); } } mLastUidWakelockDurations.put(uid, durationMs); }); Loading Loading
services/core/java/com/android/server/power/stats/BatteryStatsImpl.java +6 −6 Original line number Diff line number Diff line Loading @@ -409,11 +409,10 @@ public class BatteryStatsImpl extends BatteryStats { @Override public long getWakelockDurationMillis() { synchronized (BatteryStatsImpl.this) { long rawRealtimeUs = mClock.uptimeMillis() * 1000; long batteryUptimeUs = getBatteryUptime(rawRealtimeUs); long screenOnTimeUs = getScreenOnTime(rawRealtimeUs, long batteryUptimeUs = getBatteryUptime(mClock.uptimeMillis() * 1000); long screenOnTimeUs = getScreenOnTime(mClock.elapsedRealtime() * 1000, BatteryStats.STATS_SINCE_CHARGED); return (batteryUptimeUs - screenOnTimeUs) / 1000; return Math.max(0, (batteryUptimeUs - screenOnTimeUs) / 1000); } } Loading @@ -437,8 +436,9 @@ public class BatteryStatsImpl extends BatteryStats { } } if (wakeLockTimeUs != 0) { callback.onUidWakelockDuration(u.getUid(), wakeLockTimeUs / 1000); long wakelockTimeMs = wakeLockTimeUs / 1000; if (wakelockTimeMs != 0) { callback.onUidWakelockDuration(u.getUid(), wakelockTimeMs); } } } Loading
services/core/java/com/android/server/power/stats/WakelockPowerStatsCollector.java +9 −7 Original line number Diff line number Diff line Loading @@ -108,14 +108,16 @@ class WakelockPowerStatsCollector extends PowerStatsCollector { mWakelockDurationRetriever.retrieveUidWakelockDuration((uid, durationMs) -> { if (!mFirstCollection) { long diffMs = Math.max(0, durationMs - mLastUidWakelockDurations.get(uid)); if (diffMs != 0) { long[] uidStats = mPowerStats.uidStats.get(uid); if (uidStats == null) { uidStats = new long[mDescriptor.uidStatsArrayLength]; mPowerStats.uidStats.put(uid, uidStats); } mStatsLayout.setUidUsageDuration(uidStats, Math.max(0, durationMs - mLastUidWakelockDurations.get(uid))); mStatsLayout.setUidUsageDuration(uidStats, diffMs); } } mLastUidWakelockDurations.put(uid, durationMs); }); Loading