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

Commit 4cd5487e authored by Makoto Onuki's avatar Makoto Onuki Committed by android-build-merger
Browse files

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

am: 856017f9

Change-Id: I32f20eac01ddeed16ed95c3b8b9323067b8d0608
parents 7952ddd0 856017f9
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