From b26d99ac77fdc50df8576697e0c9dbb40ee500d9 Mon Sep 17 00:00:00 2001 From: Wesley Wang Date: Fri, 18 Mar 2022 20:49:10 +0800 Subject: [PATCH] Update battery saver schedule min trigger value - Udpate the min value to 10%, also change related preference summary and seekbar value - Make battery saver main page's switch support first time trigger warning Bug: 207470943 Test: make RunSettingsRoboTests Change-Id: I120b9a6784ed90eacccb09bb11f079f12679e95c --- .../BatterySaverButtonPreferenceController.java | 3 +-- .../BatterySaverScheduleRadioButtonsController.java | 2 +- .../BatterySaverScheduleSeekBarController.java | 2 +- .../BatterySaverButtonPreferenceControllerTest.java | 9 +++++++-- .../BatterySaverScheduleSeekBarControllerTest.java | 6 +++--- .../batterysaver/BatterySaverScheduleSettingsTest.java | 3 --- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java index d24f1b25a03..da0f2e2fbe5 100644 --- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java +++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java @@ -111,9 +111,8 @@ public class BatterySaverButtonPreferenceController extends @Override public boolean setChecked(boolean stateOn) { - // This screen already shows a warning, so we don't need another warning. return BatterySaverUtils.setPowerSaveMode(mContext, stateOn, - false /* needFirstTimeWarning */); + true /* needFirstTimeWarning */); } @Override diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleRadioButtonsController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleRadioButtonsController.java index 737fb0f8d2f..378918a50eb 100644 --- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleRadioButtonsController.java +++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleRadioButtonsController.java @@ -40,7 +40,7 @@ public class BatterySaverScheduleRadioButtonsController { public static final String KEY_NO_SCHEDULE = "key_battery_saver_no_schedule"; public static final String KEY_ROUTINE = "key_battery_saver_routine"; public static final String KEY_PERCENTAGE = "key_battery_saver_percentage"; - public static final int TRIGGER_LEVEL_MIN = 5; + public static final int TRIGGER_LEVEL_MIN = 10; private Context mContext; private BatterySaverScheduleSeekBarController mSeekBarController; diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarController.java index 173d946761a..a441449ba55 100644 --- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarController.java +++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarController.java @@ -45,7 +45,7 @@ public class BatterySaverScheduleSeekBarController implements OnPreferenceChangeListener { public static final int MAX_SEEKBAR_VALUE = 15; - public static final int MIN_SEEKBAR_VALUE = 1; + public static final int MIN_SEEKBAR_VALUE = 2; public static final String KEY_BATTERY_SAVER_SEEK_BAR = "battery_saver_seek_bar"; @VisibleForTesting diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java index 7398e5ce024..594de6a6e6a 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java @@ -18,13 +18,17 @@ package com.android.settings.fuelgauge.batterysaver; import static com.google.common.truth.Truth.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; +import android.content.Intent; import android.os.PowerManager; import android.provider.SettingsSlicesContract; @@ -90,10 +94,11 @@ public class BatterySaverButtonPreferenceControllerTest { } @Test - public void setChecked_on_setPowerSaveMode() { + public void setChecked_on_showWarningMessage() { mController.setChecked(true); - verify(mPowerManager).setPowerSaveModeEnabled(true); + verify(mContext).sendBroadcast(any(Intent.class)); + verify(mPowerManager, never()).setPowerSaveModeEnabled(anyBoolean()); } @Test diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java index bc5f0af4d7f..9b575934676 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java @@ -3,8 +3,8 @@ package com.android.settings.fuelgauge.batterysaver; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.spy; import static org.mockito.Mockito.never; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import android.content.ContentResolver; @@ -64,10 +64,10 @@ public class BatterySaverScheduleSeekBarControllerTest { @Test public void updateSeekBar_percentageMode_hasCorrectProperties() { - final CharSequence expectedTitle = "5%"; + final CharSequence expectedTitle = "10%"; Settings.Global.putInt(mResolver, Global.AUTOMATIC_POWER_SAVE_MODE, PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE); - Settings.Global.putInt(mResolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, 5); + Settings.Global.putInt(mResolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, 10); mController.updateSeekBar(); assertThat(mController.mSeekBarPreference.isVisible()).isTrue(); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java index 5c24da9aedb..bb36c8a4620 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java @@ -1,7 +1,5 @@ package com.android.settings.fuelgauge.batterysaver; -import static com.google.common.truth.Truth.assertThat; - import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; @@ -10,7 +8,6 @@ import android.app.settings.SettingsEnums; import android.content.Context; import android.os.PowerManager; import android.provider.Settings; -import android.util.Pair; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;