diff --git a/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySaverPreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySaverPreferenceController.java index bf8cd07a0f2..209723fc3ec 100644 --- a/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySaverPreferenceController.java +++ b/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySaverPreferenceController.java @@ -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; } diff --git a/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceController.java index 34d354f25b0..602d984457e 100644 --- a/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceController.java +++ b/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceController.java @@ -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 { diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySaverPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySaverPreferenceControllerTest.java index e95868a7fc5..763276cc7f6 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySaverPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySaverPreferenceControllerTest.java @@ -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(); } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceControllerTest.java index 63b9742fdc4..f696dd592b1 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceControllerTest.java @@ -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