Merge "Log Battery Saver states." into sc-dev am: dc93eda197
am: 8fe839e3f5
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15125481 Change-Id: I6d2a0c7511285c35f6a4bac1844d76e8b9dce07f
This commit is contained in:
@@ -21,12 +21,17 @@ import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.os.PowerManager;
|
||||
import android.provider.Settings;
|
||||
import android.util.Pair;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -46,12 +51,16 @@ public class BatterySaverControllerTest {
|
||||
|
||||
private BatterySaverController mBatterySaverController;
|
||||
private Context mContext;
|
||||
private FakeFeatureFactory mFeatureFactory;
|
||||
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
|
||||
mBatterySaverController = spy(new BatterySaverController(mContext));
|
||||
ReflectionHelpers.setField(mBatterySaverController, "mPowerManager", mPowerManager);
|
||||
ReflectionHelpers.setField(mBatterySaverController, "mBatterySaverPref", mBatterySaverPref);
|
||||
@@ -72,6 +81,49 @@ public class BatterySaverControllerTest {
|
||||
verify(mBatterySaverPref).setSummary("Off");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onPreferenceChange_onPowerSaveModeChanged_manualTrigger_logsType() {
|
||||
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.AUTOMATIC_POWER_SAVE_MODE, -1);
|
||||
|
||||
mBatterySaverController.onPowerSaveModeChanged();
|
||||
verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
|
||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
|
||||
SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onPreferenceChange_onPowerSaveModeChanged_triggerPercent_logsTypeAndPercentage() {
|
||||
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.AUTOMATIC_POWER_SAVE_MODE,
|
||||
PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
|
||||
final int percentageVal = 15;
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, percentageVal);
|
||||
|
||||
mBatterySaverController.onPowerSaveModeChanged();
|
||||
verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
|
||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
|
||||
SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE),
|
||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
|
||||
percentageVal));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onPreferenceChange_onPowerSaveModeChanged_triggerDynamic_logsType() {
|
||||
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.AUTOMATIC_POWER_SAVE_MODE,
|
||||
PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC);
|
||||
|
||||
mBatterySaverController.onPowerSaveModeChanged();
|
||||
verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
|
||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
|
||||
SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_ROUTINE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_batterySaverOn_showSummaryOn() {
|
||||
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
||||
|
Reference in New Issue
Block a user