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

Commit 64dd223e authored by Tiffany Nguyen's avatar Tiffany Nguyen
Browse files

Log the battery saver changed atom on initialization.

In order for the predicate to be read from the beginning, we need to
ensure the value has some initial state after device reboot
and after logging service starts up.

Bug: 175040249

Test: Manual
Change-Id: Id42f655f3fb42ef3e1ea0cf7bc7b2e536417de7d
Merged-In: Id42f655f3fb42ef3e1ea0cf7bc7b2e536417de7d
parent 22f83b56
Loading
Loading
Loading
Loading
+25 −10
Original line number Diff line number Diff line
@@ -5064,10 +5064,14 @@ public class BatteryStatsImpl extends BatteryStats {
    }
    public void notePowerSaveModeLocked(boolean enabled) {
        notePowerSaveModeLocked(enabled, mClocks.elapsedRealtime(), mClocks.uptimeMillis());
        notePowerSaveModeLocked(enabled, mClocks.elapsedRealtime(), mClocks.uptimeMillis(), false);
    }
    public void notePowerSaveModeLocked(boolean enabled, long elapsedRealtimeMs, long uptimeMs) {
    /**
     * Handles power save mode state changes.
     */
    public void notePowerSaveModeLocked(boolean enabled, long elapsedRealtimeMs, long uptimeMs,
            boolean forceLog) {
        if (mPowerSaveModeEnabled != enabled) {
            int stepState = enabled ? STEP_LEVEL_MODE_POWER_SAVE : 0;
            mModStepMode |= (mCurStepMode & STEP_LEVEL_MODE_POWER_SAVE) ^ stepState;
@@ -5075,13 +5079,17 @@ public class BatteryStatsImpl extends BatteryStats {
            mPowerSaveModeEnabled = enabled;
            if (enabled) {
                mHistoryCur.states2 |= HistoryItem.STATE2_POWER_SAVE_FLAG;
                if (DEBUG_HISTORY) Slog.v(TAG, "Power save mode enabled to: "
                if (DEBUG_HISTORY) {
                    Slog.v(TAG, "Power save mode enabled to: "
                            + Integer.toHexString(mHistoryCur.states2));
                }
                mPowerSaveModeEnabledTimer.startRunningLocked(elapsedRealtimeMs);
            } else {
                mHistoryCur.states2 &= ~HistoryItem.STATE2_POWER_SAVE_FLAG;
                if (DEBUG_HISTORY) Slog.v(TAG, "Power save mode disabled to: "
                if (DEBUG_HISTORY) {
                    Slog.v(TAG, "Power save mode disabled to: "
                            + Integer.toHexString(mHistoryCur.states2));
                }
                mPowerSaveModeEnabledTimer.stopRunningLocked(elapsedRealtimeMs);
            }
            addHistoryRecordLocked(elapsedRealtimeMs, uptimeMs);
@@ -5089,6 +5097,13 @@ public class BatteryStatsImpl extends BatteryStats {
                    enabled
                            ? FrameworkStatsLog.BATTERY_SAVER_MODE_STATE_CHANGED__STATE__ON
                            : FrameworkStatsLog.BATTERY_SAVER_MODE_STATE_CHANGED__STATE__OFF);
        } else if (forceLog) {
            // Log an initial value for BATTERY_SAVER_MODE_STATE_CHANGED in order to
            // allow the atom to read all future state changes.
            FrameworkStatsLog.write(FrameworkStatsLog.BATTERY_SAVER_MODE_STATE_CHANGED,
                    enabled
                            ? FrameworkStatsLog.BATTERY_SAVER_MODE_STATE_CHANGED__STATE__ON
                            : FrameworkStatsLog.BATTERY_SAVER_MODE_STATE_CHANGED__STATE__OFF);
        }
    }
+2 −2
Original line number Diff line number Diff line
@@ -468,7 +468,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub
        synchronized (mStats) {
            mStats.notePowerSaveModeLocked(
                    powerMgr.getLowPowerState(ServiceType.BATTERY_STATS).batterySaverEnabled,
                    SystemClock.elapsedRealtime(), SystemClock.uptimeMillis());
                    SystemClock.elapsedRealtime(), SystemClock.uptimeMillis(), true);
        }
        (new WakeupReasonThread()).start();
    }
@@ -511,7 +511,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub
            mHandler.post(() -> {
                synchronized (mStats) {
                    mStats.notePowerSaveModeLocked(result.batterySaverEnabled,
                            elapsedRealtime, uptime);
                            elapsedRealtime, uptime, false);
                }
            });
        }