Loading src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java +7 −25 Original line number Original line Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.os.Handler; import android.provider.Settings; import android.provider.Settings; import android.text.TextUtils; import android.text.TextUtils; import android.view.View; import android.view.View; import android.util.Pair; import androidx.annotation.NonNull; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.Nullable; Loading Loading @@ -184,35 +183,18 @@ public class BatterySaverScheduleSettings extends RadioButtonPickerFragment { } } private void logPowerSaver() { private void logPowerSaver() { int currentSaverPercentage = getSaverPercentage(); final int currentSaverPercentage = getSaverPercentage(); String currentSaverScheduleKey = mRadioButtonController.getDefaultKey(); final String currentSaverScheduleKey = mRadioButtonController.getDefaultKey(); if (mSaverScheduleKey.equals(currentSaverScheduleKey) if (mSaverScheduleKey.equals(currentSaverScheduleKey) && mSaverPercentage == currentSaverPercentage) { && mSaverPercentage == currentSaverPercentage) { return; return; } } int scheduleType = -1; int schedulePercentage = -1; switch (currentSaverScheduleKey) { case BatterySaverScheduleRadioButtonsController.KEY_NO_SCHEDULE: scheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE; break; case BatterySaverScheduleRadioButtonsController.KEY_ROUTINE: scheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_ROUTINE; break; case BatterySaverScheduleRadioButtonsController.KEY_PERCENTAGE: scheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE; schedulePercentage = currentSaverPercentage; break; // Unknown schedule type. default: return; } FeatureFactory.getFactory(mContext).getMetricsFeatureProvider() FeatureFactory.getFactory(mContext).getMetricsFeatureProvider() .action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER, .action(SettingsEnums.FUELGAUGE_BATTERY_SAVER, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, scheduleType), SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE, currentSaverScheduleKey, schedulePercentage)); currentSaverPercentage); } } private int getSaverPercentage() { private int getSaverPercentage() { Loading tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java +13 −16 Original line number Original line Diff line number Diff line Loading @@ -43,22 +43,22 @@ public final class BatterySaverScheduleSettingsTest { @Test @Test public void onPause_withNoScheduleType_logExpectedData() { public void onPause_withNoScheduleType_logExpectedData() { setSchedule(PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE, 0); int expectedPercentage = 0; setSchedule(PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE, expectedPercentage); mBatterySaverScheduleSettings.onPause(); mBatterySaverScheduleSettings.onPause(); verifySchedule(SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE, verifySchedule("key_battery_saver_no_schedule", expectedPercentage); /* schedulePercentage= */ -1); } } @Test @Test public void onPause_withRoutineScheduleType_logExpectedData() { public void onPause_withRoutineScheduleType_logExpectedData() { setSchedule(PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC, 0); int expectedPercentage = 0; setSchedule(PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC, expectedPercentage); mBatterySaverScheduleSettings.onPause(); mBatterySaverScheduleSettings.onPause(); verifySchedule(SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_ROUTINE, verifySchedule("key_battery_saver_routine", expectedPercentage); /* schedulePercentage= */ -1); } } @Test @Test Loading @@ -68,8 +68,7 @@ public final class BatterySaverScheduleSettingsTest { mBatterySaverScheduleSettings.onPause(); mBatterySaverScheduleSettings.onPause(); verifySchedule(SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE, verifySchedule("key_battery_saver_percentage", expectedPercentage); expectedPercentage); } } @Test @Test Loading @@ -90,8 +89,7 @@ public final class BatterySaverScheduleSettingsTest { mBatterySaverScheduleSettings.onPause(); mBatterySaverScheduleSettings.onPause(); verifySchedule(SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE, verifySchedule("key_battery_saver_percentage", expectedPercentage); expectedPercentage); } } private void setSchedule(int scheduleType, int schedulePercentage) { private void setSchedule(int scheduleType, int schedulePercentage) { Loading @@ -101,13 +99,12 @@ public final class BatterySaverScheduleSettingsTest { Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, schedulePercentage); Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, schedulePercentage); } } private void verifySchedule(int scheduleType, int schedulePercentage) { private void verifySchedule(String scheduleTypeKey, int schedulePercentage) { waitAWhile(); waitAWhile(); verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER, verify(mMetricsFeatureProvider).action(SettingsEnums.FUELGAUGE_BATTERY_SAVER, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, scheduleType), SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE, scheduleTypeKey, schedulePercentage); schedulePercentage)); } } private void waitAWhile() { private void waitAWhile() { Loading Loading
src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java +7 −25 Original line number Original line Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.os.Handler; import android.provider.Settings; import android.provider.Settings; import android.text.TextUtils; import android.text.TextUtils; import android.view.View; import android.view.View; import android.util.Pair; import androidx.annotation.NonNull; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.Nullable; Loading Loading @@ -184,35 +183,18 @@ public class BatterySaverScheduleSettings extends RadioButtonPickerFragment { } } private void logPowerSaver() { private void logPowerSaver() { int currentSaverPercentage = getSaverPercentage(); final int currentSaverPercentage = getSaverPercentage(); String currentSaverScheduleKey = mRadioButtonController.getDefaultKey(); final String currentSaverScheduleKey = mRadioButtonController.getDefaultKey(); if (mSaverScheduleKey.equals(currentSaverScheduleKey) if (mSaverScheduleKey.equals(currentSaverScheduleKey) && mSaverPercentage == currentSaverPercentage) { && mSaverPercentage == currentSaverPercentage) { return; return; } } int scheduleType = -1; int schedulePercentage = -1; switch (currentSaverScheduleKey) { case BatterySaverScheduleRadioButtonsController.KEY_NO_SCHEDULE: scheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE; break; case BatterySaverScheduleRadioButtonsController.KEY_ROUTINE: scheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_ROUTINE; break; case BatterySaverScheduleRadioButtonsController.KEY_PERCENTAGE: scheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE; schedulePercentage = currentSaverPercentage; break; // Unknown schedule type. default: return; } FeatureFactory.getFactory(mContext).getMetricsFeatureProvider() FeatureFactory.getFactory(mContext).getMetricsFeatureProvider() .action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER, .action(SettingsEnums.FUELGAUGE_BATTERY_SAVER, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, scheduleType), SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE, currentSaverScheduleKey, schedulePercentage)); currentSaverPercentage); } } private int getSaverPercentage() { private int getSaverPercentage() { Loading
tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java +13 −16 Original line number Original line Diff line number Diff line Loading @@ -43,22 +43,22 @@ public final class BatterySaverScheduleSettingsTest { @Test @Test public void onPause_withNoScheduleType_logExpectedData() { public void onPause_withNoScheduleType_logExpectedData() { setSchedule(PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE, 0); int expectedPercentage = 0; setSchedule(PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE, expectedPercentage); mBatterySaverScheduleSettings.onPause(); mBatterySaverScheduleSettings.onPause(); verifySchedule(SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE, verifySchedule("key_battery_saver_no_schedule", expectedPercentage); /* schedulePercentage= */ -1); } } @Test @Test public void onPause_withRoutineScheduleType_logExpectedData() { public void onPause_withRoutineScheduleType_logExpectedData() { setSchedule(PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC, 0); int expectedPercentage = 0; setSchedule(PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC, expectedPercentage); mBatterySaverScheduleSettings.onPause(); mBatterySaverScheduleSettings.onPause(); verifySchedule(SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_ROUTINE, verifySchedule("key_battery_saver_routine", expectedPercentage); /* schedulePercentage= */ -1); } } @Test @Test Loading @@ -68,8 +68,7 @@ public final class BatterySaverScheduleSettingsTest { mBatterySaverScheduleSettings.onPause(); mBatterySaverScheduleSettings.onPause(); verifySchedule(SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE, verifySchedule("key_battery_saver_percentage", expectedPercentage); expectedPercentage); } } @Test @Test Loading @@ -90,8 +89,7 @@ public final class BatterySaverScheduleSettingsTest { mBatterySaverScheduleSettings.onPause(); mBatterySaverScheduleSettings.onPause(); verifySchedule(SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE, verifySchedule("key_battery_saver_percentage", expectedPercentage); expectedPercentage); } } private void setSchedule(int scheduleType, int schedulePercentage) { private void setSchedule(int scheduleType, int schedulePercentage) { Loading @@ -101,13 +99,12 @@ public final class BatterySaverScheduleSettingsTest { Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, schedulePercentage); Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, schedulePercentage); } } private void verifySchedule(int scheduleType, int schedulePercentage) { private void verifySchedule(String scheduleTypeKey, int schedulePercentage) { waitAWhile(); waitAWhile(); verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER, verify(mMetricsFeatureProvider).action(SettingsEnums.FUELGAUGE_BATTERY_SAVER, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, scheduleType), SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE, scheduleTypeKey, schedulePercentage); schedulePercentage)); } } private void waitAWhile() { private void waitAWhile() { Loading