Merge "Suppress battery saver suggestion notification" into rvc-dev am: 62ec08f7bd

Original change: undetermined

Change-Id: I33a30ec63b81285b76f07f51c4b139198fe24320
This commit is contained in:
TreeHugger Robot
2020-06-02 07:33:43 +00:00
committed by Automerger Merge Worker
2 changed files with 35 additions and 2 deletions

View File

@@ -22,6 +22,7 @@ import android.os.PowerManager;
import android.provider.Settings; import android.provider.Settings;
import android.provider.Settings.Global; import android.provider.Settings.Global;
import android.text.TextUtils; import android.text.TextUtils;
import com.android.settingslib.fuelgauge.BatterySaverUtils; import com.android.settingslib.fuelgauge.BatterySaverUtils;
/** /**
@@ -72,7 +73,7 @@ public class BatterySaverScheduleRadioButtonsController {
if (key == null) { if (key == null) {
return false; return false;
} }
final ContentResolver resolver = mContext.getContentResolver(); final ContentResolver resolver = mContext.getContentResolver();
int mode = PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE; int mode = PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE;
int triggerLevel = 0; int triggerLevel = 0;
@@ -112,6 +113,10 @@ public class BatterySaverScheduleRadioButtonsController {
if (mode != PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC) { if (mode != PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC) {
Settings.Global.putInt(resolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, triggerLevel); Settings.Global.putInt(resolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, triggerLevel);
} }
// Suppress battery saver suggestion notification if enabling scheduling battery saver.
if (mode == PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC || triggerLevel != 0) {
BatterySaverUtils.suppressAutoBatterySaver(mContext);
}
mSeekBarController.updateSeekBar(); mSeekBarController.updateSeekBar();
return true; return true;
} }

View File

@@ -8,6 +8,7 @@ import android.os.PowerManager;
import android.provider.Settings; import android.provider.Settings;
import android.provider.Settings.Global; import android.provider.Settings.Global;
import android.provider.Settings.Secure; import android.provider.Settings.Secure;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -59,9 +60,36 @@ public class BatterySaverScheduleRadioButtonsControllerTest {
@Test @Test
public void setDefaultKey_any_defaultsToNoScheduleIfWarningNotSeen() { public void setDefaultKey_any_defaultsToNoScheduleIfWarningNotSeen() {
Secure.putString( Secure.putString(
mContext.getContentResolver(), Secure.LOW_POWER_WARNING_ACKNOWLEDGED, "null"); mContext.getContentResolver(), Secure.LOW_POWER_WARNING_ACKNOWLEDGED, "null");
mController.setDefaultKey(BatterySaverScheduleRadioButtonsController.KEY_ROUTINE); mController.setDefaultKey(BatterySaverScheduleRadioButtonsController.KEY_ROUTINE);
assertThat(mController.getDefaultKey()) assertThat(mController.getDefaultKey())
.isEqualTo(BatterySaverScheduleRadioButtonsController.KEY_NO_SCHEDULE); .isEqualTo(BatterySaverScheduleRadioButtonsController.KEY_NO_SCHEDULE);
} }
@Test
public void setDefaultKey_percentage_shouldSuppressNotification() {
Secure.putInt(
mContext.getContentResolver(), Secure.LOW_POWER_WARNING_ACKNOWLEDGED, 1);
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);
mController.setDefaultKey(BatterySaverScheduleRadioButtonsController.KEY_PERCENTAGE);
final int result = Settings.Secure.getInt(mResolver,
Secure.SUPPRESS_AUTO_BATTERY_SAVER_SUGGESTION, 0);
assertThat(result).isEqualTo(1);
}
@Test
public void setDefaultKey_routine_shouldSuppressNotification() {
Secure.putInt(
mContext.getContentResolver(), Secure.LOW_POWER_WARNING_ACKNOWLEDGED, 1);
Settings.Global.putInt(mResolver, Global.AUTOMATIC_POWER_SAVE_MODE,
PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC);
mController.setDefaultKey(BatterySaverScheduleRadioButtonsController.KEY_ROUTINE);
final int result = Settings.Secure.getInt(mResolver,
Secure.SUPPRESS_AUTO_BATTERY_SAVER_SUGGESTION, 0);
assertThat(result).isEqualTo(1);
}
} }