Merge "Fix incorrect usage for the logging method to cause no data in WW" into sc-v2-dev

This commit is contained in:
TreeHugger Robot
2021-11-09 15:00:47 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 41 deletions

View File

@@ -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;
@@ -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() {

View File

@@ -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
@@ -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
@@ -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) {
@@ -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() {