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

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

Merge "Fix battery saver setting default state" into pi-dev

parents 512cb18c c8db6110
Loading
Loading
Loading
Loading
+14 −6
Original line number Diff line number Diff line
@@ -18,10 +18,8 @@ package com.android.settings.fuelgauge.batterysaver;
import android.content.Context;
import android.provider.Settings;
import android.support.annotation.VisibleForTesting;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;

import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.TogglePreferenceController;

/**
@@ -29,14 +27,24 @@ import com.android.settings.core.TogglePreferenceController;
 */
public class AutoBatterySaverPreferenceController extends TogglePreferenceController implements
        Preference.OnPreferenceChangeListener {
    private final int mDefWarnLevel;

    /**
     * Default value for {@link Settings.Global#LOW_POWER_MODE_TRIGGER_LEVEL}.
     */
    static final int DEFAULT_TRIGGER_LEVEL = 0;

    /**
     * The default value to set to {@link Settings.Global#LOW_POWER_MODE_TRIGGER_LEVEL} when the
     * user enables battery saver.
     */
    private final int mDefaultTriggerLevelForOn;

    @VisibleForTesting
    static final String KEY_AUTO_BATTERY_SAVER = "auto_battery_saver";

    public AutoBatterySaverPreferenceController(Context context) {
        super(context, KEY_AUTO_BATTERY_SAVER);
        mDefWarnLevel = mContext.getResources().getInteger(
        mDefaultTriggerLevelForOn = mContext.getResources().getInteger(
                com.android.internal.R.integer.config_lowBatteryWarningLevel);
    }

@@ -48,7 +56,7 @@ public class AutoBatterySaverPreferenceController extends TogglePreferenceContro
    @Override
    public boolean isChecked() {
        return Settings.Global.getInt(mContext.getContentResolver(),
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, mDefWarnLevel) != 0;
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, DEFAULT_TRIGGER_LEVEL) != 0;
    }

    @Override
@@ -56,7 +64,7 @@ public class AutoBatterySaverPreferenceController extends TogglePreferenceContro
        Settings.Global.putInt(mContext.getContentResolver(),
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
                isChecked
                        ? mDefWarnLevel
                        ? mDefaultTriggerLevelForOn
                        : 0);
        return true;
    }
+2 −4
Original line number Diff line number Diff line
@@ -44,15 +44,12 @@ public class AutoBatterySeekBarPreferenceController extends BasePreferenceContro
    private static final String TAG = "AutoBatterySeekBarPreferenceController";
    @VisibleForTesting
    static final String KEY_AUTO_BATTERY_SEEK_BAR = "battery_saver_seek_bar";
    private final int mDefWarnLevel;
    private SeekBarPreference mPreference;
    private AutoBatterySaverSettingObserver mContentObserver;

    public AutoBatterySeekBarPreferenceController(Context context, Lifecycle lifecycle) {
        super(context, KEY_AUTO_BATTERY_SEEK_BAR);
        mContentObserver = new AutoBatterySaverSettingObserver(new Handler(Looper.getMainLooper()));
        mDefWarnLevel = mContext.getResources().getInteger(
                com.android.internal.R.integer.config_lowBatteryWarningLevel);
        if (lifecycle != null) {
            lifecycle.addObserver(this);
        }
@@ -118,7 +115,8 @@ public class AutoBatterySeekBarPreferenceController extends BasePreferenceContro

        // Set the current value.
        final int level = Settings.Global.getInt(contentResolver,
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, mDefWarnLevel);
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
                AutoBatterySaverPreferenceController.DEFAULT_TRIGGER_LEVEL);
        if (level == 0) {
            preference.setVisible(false);
        } else {
+2 −4
Original line number Diff line number Diff line
@@ -45,8 +45,6 @@ public class AutoBatterySaverPreferenceControllerTest {
    public void setUp() {
        MockitoAnnotations.initMocks(this);

        SettingsShadowResources.overrideResource(
                com.android.internal.R.integer.config_lowBatteryWarningLevel, 15);
        mContext = RuntimeEnvironment.application;
        mPreference = new SwitchPreference(mContext);
        mController = new AutoBatterySaverPreferenceController(mContext);
@@ -87,7 +85,7 @@ public class AutoBatterySaverPreferenceControllerTest {
    }

    @Test
    public void testIsChecked_useDefaultValue_returnTrue() {
        assertThat(mController.isChecked()).isTrue();
    public void testIsChecked_useDefaultValue_returnFalse() {
        assertThat(mController.isChecked()).isFalse();
    }
}
+2 −3
Original line number Diff line number Diff line
@@ -71,11 +71,10 @@ public class AutoBatterySeekBarPreferenceControllerTest {
    }

    @Test
    public void testPreference_defaultValue_preferenceVisible() {
    public void testPreference_defaultValue_preferenceNotVisible() {
        mController.updateState(mPreference);

        assertThat(mPreference.isVisible()).isTrue();
        assertThat(mPreference.getProgress()).isEqualTo(DEFAULT_LEVEL);
        assertThat(mPreference.isVisible()).isFalse();
    }

    @Test