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