diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 64a27882b7c..7ab9afbb008 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -983,6 +983,8 @@
- 0
- 5
- 15
+ - 50
+ - 100
diff --git a/src/com/android/settings/fuelgauge/BatterySaverSettings.java b/src/com/android/settings/fuelgauge/BatterySaverSettings.java
index f00b9520bba..303f7674d41 100644
--- a/src/com/android/settings/fuelgauge/BatterySaverSettings.java
+++ b/src/com/android/settings/fuelgauge/BatterySaverSettings.java
@@ -26,12 +26,14 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.PowerManager;
import android.provider.SearchIndexableResource;
+import android.provider.Settings;
import android.provider.Settings.Global;
import android.support.annotation.VisibleForTesting;
import android.util.Log;
import android.widget.Switch;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.internal.util.ArrayUtils;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
@@ -88,13 +90,19 @@ public class BatterySaverSettings extends SettingsPreferenceFragment
mSwitch = mSwitchBar.getSwitch();
mSwitchBar.show();
+ int[] levelChoices = getResources().getIntArray(R.array.battery_saver_trigger_values);
+ final int currentThreshold = Global.getInt(mContext.getContentResolver(),
+ Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
+ levelChoices = ArrayUtils.appendInt(levelChoices, currentThreshold);
+ Arrays.sort(levelChoices);
+
mTriggerPref = new SettingPref(SettingPref.TYPE_GLOBAL, KEY_TURN_ON_AUTOMATICALLY,
Global.LOW_POWER_MODE_TRIGGER_LEVEL,
0, /*default*/
- getResources().getIntArray(R.array.battery_saver_trigger_values)) {
+ levelChoices) {
@Override
protected String getCaption(Resources res, int value) {
- if (value > 0 && value < 100) {
+ if (value > 0 && value <= 100) {
return res.getString(R.string.battery_saver_turn_on_automatically_pct,
Utils.formatPercentage(value));
}