Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 284786b9 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix sleep time in Cellular"

parents 4e056c8b ed754705
Loading
Loading
Loading
Loading
+31 −12
Original line number Diff line number Diff line
@@ -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
@@ -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);
@@ -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("     ");
@@ -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);
+20 −4
Original line number Diff line number Diff line
@@ -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;
@@ -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++) {
@@ -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) {
@@ -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) {
@@ -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) {
@@ -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) {
@@ -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);
@@ -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();
@@ -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.
@@ -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]
@@ -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);
@@ -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));