Merge "Fix battery saver setting default state" into pi-dev
am: 856017f915
Change-Id: I32f20eac01ddeed16ed95c3b8b9323067b8d0608
This commit is contained in:
@@ -18,10 +18,8 @@ package com.android.settings.fuelgauge.batterysaver;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.support.annotation.VisibleForTesting;
|
import android.support.annotation.VisibleForTesting;
|
||||||
import android.support.v14.preference.SwitchPreference;
|
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.core.BasePreferenceController;
|
|
||||||
import com.android.settings.core.TogglePreferenceController;
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -29,14 +27,24 @@ import com.android.settings.core.TogglePreferenceController;
|
|||||||
*/
|
*/
|
||||||
public class AutoBatterySaverPreferenceController extends TogglePreferenceController implements
|
public class AutoBatterySaverPreferenceController extends TogglePreferenceController implements
|
||||||
Preference.OnPreferenceChangeListener {
|
Preference.OnPreferenceChangeListener {
|
||||||
private final int mDefWarnLevel;
|
|
||||||
|
/**
|
||||||
|
* Default value for {@link Settings.Global#LOW_POWER_MODE_TRIGGER_LEVEL}.
|
||||||
|
*/
|
||||||
|
static final int DEFAULT_TRIGGER_LEVEL = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The default value to set to {@link Settings.Global#LOW_POWER_MODE_TRIGGER_LEVEL} when the
|
||||||
|
* user enables battery saver.
|
||||||
|
*/
|
||||||
|
private final int mDefaultTriggerLevelForOn;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final String KEY_AUTO_BATTERY_SAVER = "auto_battery_saver";
|
static final String KEY_AUTO_BATTERY_SAVER = "auto_battery_saver";
|
||||||
|
|
||||||
public AutoBatterySaverPreferenceController(Context context) {
|
public AutoBatterySaverPreferenceController(Context context) {
|
||||||
super(context, KEY_AUTO_BATTERY_SAVER);
|
super(context, KEY_AUTO_BATTERY_SAVER);
|
||||||
mDefWarnLevel = mContext.getResources().getInteger(
|
mDefaultTriggerLevelForOn = mContext.getResources().getInteger(
|
||||||
com.android.internal.R.integer.config_lowBatteryWarningLevel);
|
com.android.internal.R.integer.config_lowBatteryWarningLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,7 +56,7 @@ public class AutoBatterySaverPreferenceController extends TogglePreferenceContro
|
|||||||
@Override
|
@Override
|
||||||
public boolean isChecked() {
|
public boolean isChecked() {
|
||||||
return Settings.Global.getInt(mContext.getContentResolver(),
|
return Settings.Global.getInt(mContext.getContentResolver(),
|
||||||
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, mDefWarnLevel) != 0;
|
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, DEFAULT_TRIGGER_LEVEL) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -56,7 +64,7 @@ public class AutoBatterySaverPreferenceController extends TogglePreferenceContro
|
|||||||
Settings.Global.putInt(mContext.getContentResolver(),
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
|
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
|
||||||
isChecked
|
isChecked
|
||||||
? mDefWarnLevel
|
? mDefaultTriggerLevelForOn
|
||||||
: 0);
|
: 0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@@ -44,15 +44,12 @@ public class AutoBatterySeekBarPreferenceController extends BasePreferenceContro
|
|||||||
private static final String TAG = "AutoBatterySeekBarPreferenceController";
|
private static final String TAG = "AutoBatterySeekBarPreferenceController";
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final String KEY_AUTO_BATTERY_SEEK_BAR = "battery_saver_seek_bar";
|
static final String KEY_AUTO_BATTERY_SEEK_BAR = "battery_saver_seek_bar";
|
||||||
private final int mDefWarnLevel;
|
|
||||||
private SeekBarPreference mPreference;
|
private SeekBarPreference mPreference;
|
||||||
private AutoBatterySaverSettingObserver mContentObserver;
|
private AutoBatterySaverSettingObserver mContentObserver;
|
||||||
|
|
||||||
public AutoBatterySeekBarPreferenceController(Context context, Lifecycle lifecycle) {
|
public AutoBatterySeekBarPreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY_AUTO_BATTERY_SEEK_BAR);
|
super(context, KEY_AUTO_BATTERY_SEEK_BAR);
|
||||||
mContentObserver = new AutoBatterySaverSettingObserver(new Handler(Looper.getMainLooper()));
|
mContentObserver = new AutoBatterySaverSettingObserver(new Handler(Looper.getMainLooper()));
|
||||||
mDefWarnLevel = mContext.getResources().getInteger(
|
|
||||||
com.android.internal.R.integer.config_lowBatteryWarningLevel);
|
|
||||||
if (lifecycle != null) {
|
if (lifecycle != null) {
|
||||||
lifecycle.addObserver(this);
|
lifecycle.addObserver(this);
|
||||||
}
|
}
|
||||||
@@ -118,7 +115,8 @@ public class AutoBatterySeekBarPreferenceController extends BasePreferenceContro
|
|||||||
|
|
||||||
// Set the current value.
|
// Set the current value.
|
||||||
final int level = Settings.Global.getInt(contentResolver,
|
final int level = Settings.Global.getInt(contentResolver,
|
||||||
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, mDefWarnLevel);
|
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
|
||||||
|
AutoBatterySaverPreferenceController.DEFAULT_TRIGGER_LEVEL);
|
||||||
if (level == 0) {
|
if (level == 0) {
|
||||||
preference.setVisible(false);
|
preference.setVisible(false);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -45,8 +45,6 @@ public class AutoBatterySaverPreferenceControllerTest {
|
|||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
SettingsShadowResources.overrideResource(
|
|
||||||
com.android.internal.R.integer.config_lowBatteryWarningLevel, 15);
|
|
||||||
mContext = RuntimeEnvironment.application;
|
mContext = RuntimeEnvironment.application;
|
||||||
mPreference = new SwitchPreference(mContext);
|
mPreference = new SwitchPreference(mContext);
|
||||||
mController = new AutoBatterySaverPreferenceController(mContext);
|
mController = new AutoBatterySaverPreferenceController(mContext);
|
||||||
@@ -87,7 +85,7 @@ public class AutoBatterySaverPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testIsChecked_useDefaultValue_returnTrue() {
|
public void testIsChecked_useDefaultValue_returnFalse() {
|
||||||
assertThat(mController.isChecked()).isTrue();
|
assertThat(mController.isChecked()).isFalse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -71,11 +71,10 @@ public class AutoBatterySeekBarPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testPreference_defaultValue_preferenceVisible() {
|
public void testPreference_defaultValue_preferenceNotVisible() {
|
||||||
mController.updateState(mPreference);
|
mController.updateState(mPreference);
|
||||||
|
|
||||||
assertThat(mPreference.isVisible()).isTrue();
|
assertThat(mPreference.isVisible()).isFalse();
|
||||||
assertThat(mPreference.getProgress()).isEqualTo(DEFAULT_LEVEL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user