Merge "Unchecked battery saver switch once it's 1st launch" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
55aba46fe9
@@ -22,6 +22,7 @@ import android.net.Uri;
|
|||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.provider.SettingsSlicesContract;
|
import android.provider.SettingsSlicesContract;
|
||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
|
|
||||||
@@ -101,6 +102,11 @@ public class BatterySaverButtonPreferenceController extends
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSwitchChanged(Switch switchView, boolean isChecked) {
|
public void onSwitchChanged(Switch switchView, boolean isChecked) {
|
||||||
|
// Cancel preference's check state once it's first time launch
|
||||||
|
if (isChecked && (Settings.Secure.getInt(mContext.getContentResolver(),
|
||||||
|
Settings.Secure.LOW_POWER_WARNING_ACKNOWLEDGED, 0) == 0)) {
|
||||||
|
mPreference.setChecked(false);
|
||||||
|
}
|
||||||
setChecked(isChecked);
|
setChecked(isChecked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -30,6 +30,7 @@ import static org.mockito.Mockito.when;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.provider.SettingsSlicesContract;
|
import android.provider.SettingsSlicesContract;
|
||||||
|
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
@@ -75,6 +76,24 @@ public class BatterySaverButtonPreferenceControllerTest {
|
|||||||
.isEqualTo(SettingsSlicesContract.AUTHORITY);
|
.isEqualTo(SettingsSlicesContract.AUTHORITY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onSwitchChanged_isCheckedButNotAcked_preferenceIsUnchecked() {
|
||||||
|
setLowPowerWarningAcked(/* acked= */ 0);
|
||||||
|
|
||||||
|
mController.onSwitchChanged(/* switchView= */ null, /* isChecked= */ true);
|
||||||
|
|
||||||
|
assertThat(mPreference.isChecked()).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onSwitchChanged_isCheckedAndAcked_setPowerSaveMode() {
|
||||||
|
setLowPowerWarningAcked(/* acked= */ 1);
|
||||||
|
|
||||||
|
mController.onSwitchChanged(/* switchView= */ null, /* isChecked= */ true);
|
||||||
|
|
||||||
|
verify(mPowerManager).setPowerSaveModeEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_lowPowerOn_preferenceIsChecked() {
|
public void updateState_lowPowerOn_preferenceIsChecked() {
|
||||||
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
||||||
@@ -126,4 +145,12 @@ public class BatterySaverButtonPreferenceControllerTest {
|
|||||||
public void isPublicSlice_returnsTrue() {
|
public void isPublicSlice_returnsTrue() {
|
||||||
assertThat(mController.isPublicSlice()).isTrue();
|
assertThat(mController.isPublicSlice()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 0 means not acked, 1 means acked.
|
||||||
|
private void setLowPowerWarningAcked(int acked) {
|
||||||
|
Settings.Secure.putInt(
|
||||||
|
mContext.getContentResolver(),
|
||||||
|
Settings.Secure.LOW_POWER_WARNING_ACKNOWLEDGED,
|
||||||
|
acked);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user