Loading core/java/android/os/BatteryStats.java +31 −12 Original line number Diff line number Diff line Loading @@ -447,6 +447,11 @@ public abstract class BatteryStats implements Parcelable { */ public abstract LongCounter getScanTimeCounter(); /** * @return a non-null {@link LongCounter} representing time spent (milliseconds) in the * sleep state. */ public abstract LongCounter getSleepTimeCounter(); /** * @return a non-null {@link LongCounter} representing time spent (milliseconds) in the Loading Loading @@ -3408,8 +3413,6 @@ public abstract class BatteryStats implements Parcelable { for (LongCounter txState : counter.getTxTimeCounters()) { totalTxTimeMs += txState.getCountLocked(which); } final long sleepTimeMs = totalControllerActivityTimeMs - (idleTimeMs + rxTimeMs + totalTxTimeMs); if (controllerName.equals(WIFI_CONTROLLER_NAME)) { final long scanTimeMs = counter.getScanTimeCounter().getCountLocked(which); Loading @@ -3423,8 +3426,23 @@ public abstract class BatteryStats implements Parcelable { sb.append(formatRatioLocked(scanTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); final long sleepTimeMs = totalControllerActivityTimeMs - (idleTimeMs + rxTimeMs + totalTxTimeMs); sb.setLength(0); sb.append(prefix); sb.append(" "); sb.append(controllerName); sb.append(" Sleep time: "); formatTimeMs(sb, sleepTimeMs); sb.append("("); sb.append(formatRatioLocked(sleepTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); } if (controllerName.equals(CELLULAR_CONTROLLER_NAME)) { final long sleepTimeMs = counter.getSleepTimeCounter().getCountLocked(which); sb.setLength(0); sb.append(prefix); sb.append(" "); Loading @@ -3435,6 +3453,7 @@ public abstract class BatteryStats implements Parcelable { sb.append(formatRatioLocked(sleepTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); } sb.setLength(0); sb.append(prefix); Loading core/java/com/android/internal/os/BatteryStatsImpl.java +20 −4 Original line number Diff line number Diff line Loading @@ -2823,6 +2823,7 @@ public class BatteryStatsImpl extends BatteryStats { implements Parcelable { private final LongSamplingCounter mIdleTimeMillis; private final LongSamplingCounter mScanTimeMillis; private final LongSamplingCounter mSleepTimeMillis; private final LongSamplingCounter mRxTimeMillis; private final LongSamplingCounter[] mTxTimeMillis; private final LongSamplingCounter mPowerDrainMaMs; Loading @@ -2830,6 +2831,7 @@ public class BatteryStatsImpl extends BatteryStats { public ControllerActivityCounterImpl(TimeBase timeBase, int numTxStates) { mIdleTimeMillis = new LongSamplingCounter(timeBase); mScanTimeMillis = new LongSamplingCounter(timeBase); mSleepTimeMillis = new LongSamplingCounter(timeBase); mRxTimeMillis = new LongSamplingCounter(timeBase); mTxTimeMillis = new LongSamplingCounter[numTxStates]; for (int i = 0; i < numTxStates; i++) { Loading @@ -2841,6 +2843,7 @@ public class BatteryStatsImpl extends BatteryStats { public ControllerActivityCounterImpl(TimeBase timeBase, int numTxStates, Parcel in) { mIdleTimeMillis = new LongSamplingCounter(timeBase, in); mScanTimeMillis = new LongSamplingCounter(timeBase, in); mSleepTimeMillis = new LongSamplingCounter(timeBase, in); mRxTimeMillis = new LongSamplingCounter(timeBase, in); final int recordedTxStates = in.readInt(); if (recordedTxStates != numTxStates) { Loading @@ -2857,6 +2860,7 @@ public class BatteryStatsImpl extends BatteryStats { public void readSummaryFromParcel(Parcel in) { mIdleTimeMillis.readSummaryFromParcelLocked(in); mScanTimeMillis.readSummaryFromParcelLocked(in); mSleepTimeMillis.readSummaryFromParcelLocked(in); mRxTimeMillis.readSummaryFromParcelLocked(in); final int recordedTxStates = in.readInt(); if (recordedTxStates != mTxTimeMillis.length) { Loading @@ -2876,6 +2880,7 @@ public class BatteryStatsImpl extends BatteryStats { public void writeSummaryToParcel(Parcel dest) { mIdleTimeMillis.writeSummaryFromParcelLocked(dest); mScanTimeMillis.writeSummaryFromParcelLocked(dest); mSleepTimeMillis.writeSummaryFromParcelLocked(dest); mRxTimeMillis.writeSummaryFromParcelLocked(dest); dest.writeInt(mTxTimeMillis.length); for (LongSamplingCounter counter : mTxTimeMillis) { Loading @@ -2888,6 +2893,7 @@ public class BatteryStatsImpl extends BatteryStats { public void writeToParcel(Parcel dest, int flags) { mIdleTimeMillis.writeToParcel(dest); mScanTimeMillis.writeToParcel(dest); mSleepTimeMillis.writeToParcel(dest); mRxTimeMillis.writeToParcel(dest); dest.writeInt(mTxTimeMillis.length); for (LongSamplingCounter counter : mTxTimeMillis) { Loading @@ -2899,6 +2905,7 @@ public class BatteryStatsImpl extends BatteryStats { public void reset(boolean detachIfReset) { mIdleTimeMillis.reset(detachIfReset); mScanTimeMillis.reset(detachIfReset); mSleepTimeMillis.reset(detachIfReset); mRxTimeMillis.reset(detachIfReset); for (LongSamplingCounter counter : mTxTimeMillis) { counter.reset(detachIfReset); Loading @@ -2909,6 +2916,7 @@ public class BatteryStatsImpl extends BatteryStats { public void detach() { mIdleTimeMillis.detach(); mScanTimeMillis.detach(); mSleepTimeMillis.detach(); mRxTimeMillis.detach(); for (LongSamplingCounter counter : mTxTimeMillis) { counter.detach(); Loading @@ -2934,6 +2942,15 @@ public class BatteryStatsImpl extends BatteryStats { return mScanTimeMillis; } /** * @return a LongSamplingCounter, measuring time spent in the sleep state in * milliseconds. */ @Override public LongSamplingCounter getSleepTimeCounter() { return mSleepTimeMillis; } /** * @return a LongSamplingCounter, measuring time spent in the receive state in * milliseconds. Loading Loading @@ -11438,6 +11455,8 @@ public class BatteryStatsImpl extends BatteryStats { mHasModemReporting = true; mModemActivity.getIdleTimeCounter().addCountLocked( deltaInfo.getIdleTimeMillis()); mModemActivity.getSleepTimeCounter().addCountLocked( deltaInfo.getSleepTimeMillis()); mModemActivity.getRxTimeCounter().addCountLocked(deltaInfo.getRxTimeMillis()); for (int lvl = 0; lvl < ModemActivityInfo.TX_POWER_LEVELS; lvl++) { mModemActivity.getTxTimeCounters()[lvl] Loading Loading @@ -12960,6 +12979,7 @@ public class BatteryStatsImpl extends BatteryStats { final int which = STATS_SINCE_CHARGED; final long rawRealTime = SystemClock.elapsedRealtime() * 1000; final ControllerActivityCounter counter = getModemControllerActivity(); final long sleepTimeMs = counter.getSleepTimeCounter().getCountLocked(which); final long idleTimeMs = counter.getIdleTimeCounter().getCountLocked(which); final long rxTimeMs = counter.getRxTimeCounter().getCountLocked(which); final long energyConsumedMaMs = counter.getPowerCounter().getCountLocked(which); Loading @@ -12979,10 +12999,6 @@ public class BatteryStatsImpl extends BatteryStats { txTimeMs[i] = counter.getTxTimeCounters()[i].getCountLocked(which); totalTxTimeMs += txTimeMs[i]; } final long totalControllerActivityTimeMs = computeBatteryRealtime(SystemClock.elapsedRealtime() * 1000, which) / 1000; final long sleepTimeMs = totalControllerActivityTimeMs - (idleTimeMs + rxTimeMs + totalTxTimeMs); s.setLoggingDurationMs(computeBatteryRealtime(rawRealTime, which) / 1000); s.setKernelActiveTimeMs(getMobileRadioActiveTime(rawRealTime, which) / 1000); s.setNumPacketsTx(getNetworkActivityPackets(NETWORK_MOBILE_TX_DATA, which)); Loading
core/java/android/os/BatteryStats.java +31 −12 Original line number Diff line number Diff line Loading @@ -447,6 +447,11 @@ public abstract class BatteryStats implements Parcelable { */ public abstract LongCounter getScanTimeCounter(); /** * @return a non-null {@link LongCounter} representing time spent (milliseconds) in the * sleep state. */ public abstract LongCounter getSleepTimeCounter(); /** * @return a non-null {@link LongCounter} representing time spent (milliseconds) in the Loading Loading @@ -3408,8 +3413,6 @@ public abstract class BatteryStats implements Parcelable { for (LongCounter txState : counter.getTxTimeCounters()) { totalTxTimeMs += txState.getCountLocked(which); } final long sleepTimeMs = totalControllerActivityTimeMs - (idleTimeMs + rxTimeMs + totalTxTimeMs); if (controllerName.equals(WIFI_CONTROLLER_NAME)) { final long scanTimeMs = counter.getScanTimeCounter().getCountLocked(which); Loading @@ -3423,8 +3426,23 @@ public abstract class BatteryStats implements Parcelable { sb.append(formatRatioLocked(scanTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); final long sleepTimeMs = totalControllerActivityTimeMs - (idleTimeMs + rxTimeMs + totalTxTimeMs); sb.setLength(0); sb.append(prefix); sb.append(" "); sb.append(controllerName); sb.append(" Sleep time: "); formatTimeMs(sb, sleepTimeMs); sb.append("("); sb.append(formatRatioLocked(sleepTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); } if (controllerName.equals(CELLULAR_CONTROLLER_NAME)) { final long sleepTimeMs = counter.getSleepTimeCounter().getCountLocked(which); sb.setLength(0); sb.append(prefix); sb.append(" "); Loading @@ -3435,6 +3453,7 @@ public abstract class BatteryStats implements Parcelable { sb.append(formatRatioLocked(sleepTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); } sb.setLength(0); sb.append(prefix); Loading
core/java/com/android/internal/os/BatteryStatsImpl.java +20 −4 Original line number Diff line number Diff line Loading @@ -2823,6 +2823,7 @@ public class BatteryStatsImpl extends BatteryStats { implements Parcelable { private final LongSamplingCounter mIdleTimeMillis; private final LongSamplingCounter mScanTimeMillis; private final LongSamplingCounter mSleepTimeMillis; private final LongSamplingCounter mRxTimeMillis; private final LongSamplingCounter[] mTxTimeMillis; private final LongSamplingCounter mPowerDrainMaMs; Loading @@ -2830,6 +2831,7 @@ public class BatteryStatsImpl extends BatteryStats { public ControllerActivityCounterImpl(TimeBase timeBase, int numTxStates) { mIdleTimeMillis = new LongSamplingCounter(timeBase); mScanTimeMillis = new LongSamplingCounter(timeBase); mSleepTimeMillis = new LongSamplingCounter(timeBase); mRxTimeMillis = new LongSamplingCounter(timeBase); mTxTimeMillis = new LongSamplingCounter[numTxStates]; for (int i = 0; i < numTxStates; i++) { Loading @@ -2841,6 +2843,7 @@ public class BatteryStatsImpl extends BatteryStats { public ControllerActivityCounterImpl(TimeBase timeBase, int numTxStates, Parcel in) { mIdleTimeMillis = new LongSamplingCounter(timeBase, in); mScanTimeMillis = new LongSamplingCounter(timeBase, in); mSleepTimeMillis = new LongSamplingCounter(timeBase, in); mRxTimeMillis = new LongSamplingCounter(timeBase, in); final int recordedTxStates = in.readInt(); if (recordedTxStates != numTxStates) { Loading @@ -2857,6 +2860,7 @@ public class BatteryStatsImpl extends BatteryStats { public void readSummaryFromParcel(Parcel in) { mIdleTimeMillis.readSummaryFromParcelLocked(in); mScanTimeMillis.readSummaryFromParcelLocked(in); mSleepTimeMillis.readSummaryFromParcelLocked(in); mRxTimeMillis.readSummaryFromParcelLocked(in); final int recordedTxStates = in.readInt(); if (recordedTxStates != mTxTimeMillis.length) { Loading @@ -2876,6 +2880,7 @@ public class BatteryStatsImpl extends BatteryStats { public void writeSummaryToParcel(Parcel dest) { mIdleTimeMillis.writeSummaryFromParcelLocked(dest); mScanTimeMillis.writeSummaryFromParcelLocked(dest); mSleepTimeMillis.writeSummaryFromParcelLocked(dest); mRxTimeMillis.writeSummaryFromParcelLocked(dest); dest.writeInt(mTxTimeMillis.length); for (LongSamplingCounter counter : mTxTimeMillis) { Loading @@ -2888,6 +2893,7 @@ public class BatteryStatsImpl extends BatteryStats { public void writeToParcel(Parcel dest, int flags) { mIdleTimeMillis.writeToParcel(dest); mScanTimeMillis.writeToParcel(dest); mSleepTimeMillis.writeToParcel(dest); mRxTimeMillis.writeToParcel(dest); dest.writeInt(mTxTimeMillis.length); for (LongSamplingCounter counter : mTxTimeMillis) { Loading @@ -2899,6 +2905,7 @@ public class BatteryStatsImpl extends BatteryStats { public void reset(boolean detachIfReset) { mIdleTimeMillis.reset(detachIfReset); mScanTimeMillis.reset(detachIfReset); mSleepTimeMillis.reset(detachIfReset); mRxTimeMillis.reset(detachIfReset); for (LongSamplingCounter counter : mTxTimeMillis) { counter.reset(detachIfReset); Loading @@ -2909,6 +2916,7 @@ public class BatteryStatsImpl extends BatteryStats { public void detach() { mIdleTimeMillis.detach(); mScanTimeMillis.detach(); mSleepTimeMillis.detach(); mRxTimeMillis.detach(); for (LongSamplingCounter counter : mTxTimeMillis) { counter.detach(); Loading @@ -2934,6 +2942,15 @@ public class BatteryStatsImpl extends BatteryStats { return mScanTimeMillis; } /** * @return a LongSamplingCounter, measuring time spent in the sleep state in * milliseconds. */ @Override public LongSamplingCounter getSleepTimeCounter() { return mSleepTimeMillis; } /** * @return a LongSamplingCounter, measuring time spent in the receive state in * milliseconds. Loading Loading @@ -11438,6 +11455,8 @@ public class BatteryStatsImpl extends BatteryStats { mHasModemReporting = true; mModemActivity.getIdleTimeCounter().addCountLocked( deltaInfo.getIdleTimeMillis()); mModemActivity.getSleepTimeCounter().addCountLocked( deltaInfo.getSleepTimeMillis()); mModemActivity.getRxTimeCounter().addCountLocked(deltaInfo.getRxTimeMillis()); for (int lvl = 0; lvl < ModemActivityInfo.TX_POWER_LEVELS; lvl++) { mModemActivity.getTxTimeCounters()[lvl] Loading Loading @@ -12960,6 +12979,7 @@ public class BatteryStatsImpl extends BatteryStats { final int which = STATS_SINCE_CHARGED; final long rawRealTime = SystemClock.elapsedRealtime() * 1000; final ControllerActivityCounter counter = getModemControllerActivity(); final long sleepTimeMs = counter.getSleepTimeCounter().getCountLocked(which); final long idleTimeMs = counter.getIdleTimeCounter().getCountLocked(which); final long rxTimeMs = counter.getRxTimeCounter().getCountLocked(which); final long energyConsumedMaMs = counter.getPowerCounter().getCountLocked(which); Loading @@ -12979,10 +12999,6 @@ public class BatteryStatsImpl extends BatteryStats { txTimeMs[i] = counter.getTxTimeCounters()[i].getCountLocked(which); totalTxTimeMs += txTimeMs[i]; } final long totalControllerActivityTimeMs = computeBatteryRealtime(SystemClock.elapsedRealtime() * 1000, which) / 1000; final long sleepTimeMs = totalControllerActivityTimeMs - (idleTimeMs + rxTimeMs + totalTxTimeMs); s.setLoggingDurationMs(computeBatteryRealtime(rawRealTime, which) / 1000); s.setKernelActiveTimeMs(getMobileRadioActiveTime(rawRealTime, which) / 1000); s.setNumPacketsTx(getNetworkActivityPackets(NETWORK_MOBILE_TX_DATA, which));