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

Commit 5a841683 authored by Kweku Adams's avatar Kweku Adams
Browse files

Add missing information to dumpsys.

The dynamic battery saver information was not being logged in the
dumpsys, which made debugging an issue harder. Adding the information to
make future debugging easier.

Bug: 142473857
Test: atest android.os.cts.PowerManagerTest
Change-Id: I81cb724efd454f578d99b8abaa4eca3b6bad587a
parent a83ff7c8
Loading
Loading
Loading
Loading
+23 −1
Original line number Diff line number Diff line
@@ -366,6 +366,15 @@ message BatterySaverStateMachineProto {
    // Whether battery level is low or not.
    optional bool is_battery_level_low = 8;

    // Denotes which threshold should be used for automatic Battery Saver triggering.
    enum AutomaticTriggerEnum {
        TRIGGER_PERCENTAGE = 0;
        TRIGGER_DYNAMIC = 1;
    }
    // The value of Global.AUTOMATIC_POWER_SAVE_MODE. This is a cached value, so it could
    // be slightly different from what's in GlobalSettingsProto.DynamicPowerSavings.
    optional AutomaticTriggerEnum setting_automatic_trigger = 19;

    // The value of Global.LOW_POWER_MODE. This is a cached value, so it could
    // be slightly different from what's in GlobalSettingsProto.LowPowerMode.
    optional bool setting_battery_saver_enabled = 9;
@@ -390,5 +399,18 @@ message BatterySaverStateMachineProto {
    // using elapsed realtime as the timebase.
    optional int64 last_adaptive_battery_saver_changed_externally_elapsed = 17;

    // Next tag: 19
    // The default disable threshold for Dynamic Power Savings enabled battery saver.
    optional int32 default_dynamic_disable_threshold = 20;

    // When to disable battery saver again if it was enabled due to an external suggestion.
    // Corresponds to Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD. This is a cached value,
    // so it could be slightly different from what's in GlobalSettingsProto.DynamicPowerSavings.
    optional int32 dynamic_disable_threshold = 21;

    // Whether we've received a suggestion that battery saver should be on from an external app.
    // Corresponds to Global.DYNAMIC_POWER_SAVINGS_ENABLED. This is a cached value, so it could
    // be slightly different from what's in GlobalSettingsProto.DynamicPowerSavings.
    optional bool dynamic_battery_saver_enabled = 22;

    // Next tag: 23
}
+32 −8
Original line number Diff line number Diff line
@@ -176,8 +176,10 @@ public class BatterySaverStateMachine {
    @GuardedBy("mLock")
    private int mSettingBatterySaverStickyAutoDisableThreshold;

    /** Config flag to track default disable threshold for Dynamic Power Savings enabled battery
     * saver. */
    /**
     * Config flag to track default disable threshold for Dynamic Power Savings enabled battery
     * saver.
     */
    @GuardedBy("mLock")
    private final int mDynamicPowerSavingsDefaultDisableThreshold;

@@ -192,7 +194,8 @@ public class BatterySaverStateMachine {
    @GuardedBy("mLock")
    private int mSettingAutomaticBatterySaver;

    /** When to disable battery saver again if it was enabled due to an external suggestion.
    /**
     * When to disable battery saver again if it was enabled due to an external suggestion.
     * Corresponds to Settings.Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD.
     */
    @GuardedBy("mLock")
@@ -203,7 +206,7 @@ public class BatterySaverStateMachine {
     * Updates when Settings.Global.DYNAMIC_POWER_SAVINGS_ENABLED changes.
     */
    @GuardedBy("mLock")
    private boolean mDynamicPowerSavingsBatterySaver;
    private boolean mDynamicPowerSavingsEnableBatterySaver;

    /**
     * Last reason passed to {@link #enableBatterySaverLocked}.
@@ -265,7 +268,7 @@ public class BatterySaverStateMachine {
    /** @return true if the dynamic mode should be used */
    private boolean isDynamicModeActiveLocked() {
        return mSettingAutomaticBatterySaver == PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC
                && mDynamicPowerSavingsBatterySaver;
                && mDynamicPowerSavingsEnableBatterySaver;
    }

    /**
@@ -428,7 +431,7 @@ public class BatterySaverStateMachine {
        final boolean dynamicPowerSavingsThresholdChanged =
                mDynamicPowerSavingsDisableThreshold != dynamicPowerSavingsDisableThreshold;
        final boolean dynamicPowerSavingsBatterySaverChanged =
                mDynamicPowerSavingsBatterySaver != dynamicPowerSavingsBatterySaver;
                mDynamicPowerSavingsEnableBatterySaver != dynamicPowerSavingsBatterySaver;

        if (!(enabledChanged || stickyChanged || thresholdChanged || automaticModeChanged
                || stickyAutoDisableEnabledChanged || stickyAutoDisableThresholdChanged
@@ -443,7 +446,7 @@ public class BatterySaverStateMachine {
        mSettingBatterySaverStickyAutoDisableThreshold = stickyAutoDisableThreshold;
        mSettingAutomaticBatterySaver = automaticBatterySaver;
        mDynamicPowerSavingsDisableThreshold = dynamicPowerSavingsDisableThreshold;
        mDynamicPowerSavingsBatterySaver = dynamicPowerSavingsBatterySaver;
        mDynamicPowerSavingsEnableBatterySaver = dynamicPowerSavingsBatterySaver;

        if (thresholdChanged) {
            // To avoid spamming the event log, we throttle logging here.
@@ -923,6 +926,8 @@ public class BatterySaverStateMachine {
            pw.print("  mIsBatteryLevelLow=");
            pw.println(mIsBatteryLevelLow);

            pw.print("  mSettingAutomaticBatterySaver=");
            pw.println(mSettingAutomaticBatterySaver);
            pw.print("  mSettingBatterySaverEnabled=");
            pw.println(mSettingBatterySaverEnabled);
            pw.print("  mSettingBatterySaverEnabledSticky=");
@@ -936,6 +941,13 @@ public class BatterySaverStateMachine {
            pw.print("  mBatterySaverStickyBehaviourDisabled=");
            pw.println(mBatterySaverStickyBehaviourDisabled);

            pw.print("  mDynamicPowerSavingsDefaultDisableThreshold=");
            pw.println(mDynamicPowerSavingsDefaultDisableThreshold);
            pw.print("  mDynamicPowerSavingsDisableThreshold=");
            pw.println(mDynamicPowerSavingsDisableThreshold);
            pw.print("  mDynamicPowerSavingsEnableBatterySaver=");
            pw.println(mDynamicPowerSavingsEnableBatterySaver);

            pw.print("  mLastAdaptiveBatterySaverChangedExternallyElapsed=");
            pw.println(mLastAdaptiveBatterySaverChangedExternallyElapsed);
        }
@@ -964,6 +976,8 @@ public class BatterySaverStateMachine {
            proto.write(BatterySaverStateMachineProto.BATTERY_LEVEL, mBatteryLevel);
            proto.write(BatterySaverStateMachineProto.IS_BATTERY_LEVEL_LOW, mIsBatteryLevelLow);

            proto.write(BatterySaverStateMachineProto.SETTING_AUTOMATIC_TRIGGER,
                    mSettingAutomaticBatterySaver);
            proto.write(BatterySaverStateMachineProto.SETTING_BATTERY_SAVER_ENABLED,
                    mSettingBatterySaverEnabled);
            proto.write(BatterySaverStateMachineProto.SETTING_BATTERY_SAVER_ENABLED_STICKY,
@@ -978,6 +992,16 @@ public class BatterySaverStateMachine {
                            .SETTING_BATTERY_SAVER_STICKY_AUTO_DISABLE_THRESHOLD,
                    mSettingBatterySaverStickyAutoDisableThreshold);

            proto.write(
                    BatterySaverStateMachineProto.DEFAULT_DYNAMIC_DISABLE_THRESHOLD,
                    mDynamicPowerSavingsDefaultDisableThreshold);
            proto.write(
                    BatterySaverStateMachineProto.DYNAMIC_DISABLE_THRESHOLD,
                    mDynamicPowerSavingsDisableThreshold);
            proto.write(
                    BatterySaverStateMachineProto.DYNAMIC_BATTERY_SAVER_ENABLED,
                    mDynamicPowerSavingsEnableBatterySaver);

            proto.write(
                    BatterySaverStateMachineProto
                            .LAST_ADAPTIVE_BATTERY_SAVER_CHANGED_EXTERNALLY_ELAPSED,