From 6641ba8feb10027b3fb703aa78d79d5126b76cda Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Wed, 13 Jun 2018 14:45:16 -0700 Subject: [PATCH] Update battery saver seekbar This CL adds ticks to seekbar to make it increase by 5% or multiple of it. Change-Id: I25a592d75a32adaddccb4b5a7c7f18a0f771d99a Fixes: 73763634 Test: RunSettingsRoboTests --- res/xml/battery_saver_settings.xml | 4 ++-- .../AutoBatterySeekBarPreferenceController.java | 7 ++++--- .../AutoBatterySeekBarPreferenceControllerTest.java | 9 ++++++--- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/res/xml/battery_saver_settings.xml b/res/xml/battery_saver_settings.xml index 0460459d961..eb4954f8ca8 100644 --- a/res/xml/battery_saver_settings.xml +++ b/res/xml/battery_saver_settings.xml @@ -29,8 +29,8 @@ + android:max="15" + android:min="1" /> 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)); } 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 9457f091dbe..e1cf196a9d9 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceControllerTest.java @@ -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