Merge "Update battery saver seekbar"
This commit is contained in:
committed by
Android (Google) Code Review
commit
5aee6ce931
@@ -29,8 +29,8 @@
|
||||
<com.android.settings.widget.SeekBarPreference
|
||||
android:key="battery_saver_seek_bar"
|
||||
android:title="@string/battery_saver_seekbar_title_placeholder"
|
||||
android:max="75"
|
||||
android:min="5" />
|
||||
android:max="15"
|
||||
android:min="1" />
|
||||
|
||||
<com.android.settings.widget.TwoStateButtonPreference
|
||||
android:key="battery_saver"
|
||||
|
@@ -43,6 +43,7 @@ import com.android.settingslib.core.lifecycle.events.OnStop;
|
||||
public class AutoBatterySeekBarPreferenceController extends BasePreferenceController implements
|
||||
LifecycleObserver, OnStart, OnStop, SeekBarPreference.OnPreferenceChangeListener {
|
||||
private static final String TAG = "AutoBatterySeekBarPreferenceController";
|
||||
private static final int INTERVAL = 5;
|
||||
@VisibleForTesting
|
||||
static final String KEY_AUTO_BATTERY_SEEK_BAR = "battery_saver_seek_bar";
|
||||
private SeekBarPreference mPreference;
|
||||
@@ -92,7 +93,7 @@ public class AutoBatterySeekBarPreferenceController extends BasePreferenceContro
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
final int progress = (int) newValue;
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, progress);
|
||||
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, progress * INTERVAL);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -102,7 +103,7 @@ public class AutoBatterySeekBarPreferenceController extends BasePreferenceContro
|
||||
|
||||
// Override the max value with LOW_POWER_MODE_TRIGGER_LEVEL_MAX, if set.
|
||||
final int maxLevel = Settings.Global.getInt(contentResolver,
|
||||
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL_MAX, 0);
|
||||
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL_MAX, 0) / INTERVAL;
|
||||
if (maxLevel > 0) {
|
||||
if (!(preference instanceof SeekBarPreference)) {
|
||||
Log.e(TAG, "Unexpected preference class: " + preference.getClass());
|
||||
@@ -127,7 +128,7 @@ public class AutoBatterySeekBarPreferenceController extends BasePreferenceContro
|
||||
preference.setTitle(mContext.getString(R.string.battery_saver_seekbar_title,
|
||||
Utils.formatPercentage(level)));
|
||||
SeekBarPreference seekBarPreference = (SeekBarPreference) preference;
|
||||
seekBarPreference.setProgress(level);
|
||||
seekBarPreference.setProgress(level / INTERVAL);
|
||||
seekBarPreference.setSeekBarContentDescription(
|
||||
mContext.getString(R.string.battery_saver_turn_on_automatically_title));
|
||||
}
|
||||
|
@@ -18,6 +18,7 @@ package com.android.settings.fuelgauge.batterysaver;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
|
||||
import android.content.Context;
|
||||
import android.provider.Settings;
|
||||
|
||||
@@ -39,6 +40,7 @@ public class AutoBatterySeekBarPreferenceControllerTest {
|
||||
|
||||
private static final int TRIGGER_LEVEL = 20;
|
||||
private static final int DEFAULT_LEVEL = 15;
|
||||
private static final int INTERVAL = 5;
|
||||
|
||||
private AutoBatterySeekBarPreferenceController mController;
|
||||
private Context mContext;
|
||||
@@ -85,15 +87,16 @@ public class AutoBatterySeekBarPreferenceControllerTest {
|
||||
|
||||
assertThat(mPreference.isVisible()).isTrue();
|
||||
assertThat(mPreference.getTitle()).isEqualTo("At 20%");
|
||||
assertThat(mPreference.getProgress()).isEqualTo(TRIGGER_LEVEL);
|
||||
assertThat(mPreference.getProgress()).isEqualTo(TRIGGER_LEVEL / INTERVAL);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testOnPreferenceChange_updateValue() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
|
||||
|
||||
mController.onPreferenceChange(mPreference, TRIGGER_LEVEL);
|
||||
mController.onPreferenceChange(mPreference, TRIGGER_LEVEL / INTERVAL);
|
||||
|
||||
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
|
||||
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0)).isEqualTo(TRIGGER_LEVEL);
|
||||
@@ -106,7 +109,7 @@ public class AutoBatterySeekBarPreferenceControllerTest {
|
||||
|
||||
mController.updateState(mPreference);
|
||||
|
||||
assertThat(mPreference.getMax()).isEqualTo(50);
|
||||
assertThat(mPreference.getMax()).isEqualTo(50 / INTERVAL);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user