Merge "Suppress battery saver suggestion notification" into rvc-dev am: 62ec08f7bd
Original change: undetermined Change-Id: I33a30ec63b81285b76f07f51c4b139198fe24320
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user