Fix incorrect usage for the logging method to cause no data in WW
Fix incorrect usage for the logging method to cause the schedule type
and percentage data is not logged into the WW, since
MetricsFeatureProvider doesn't support log Pair.of() data into the
WestWorld or Clearcut directly, it is used for EventLogWriter only
Bug: 202906853
Test: make SettingsRoboTests
Change-Id: I0ca87ca96647f025adbd23f9f93a3cbd5f7d8579
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
index ead6fc6..05a1e8f 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
@@ -29,7 +29,6 @@
import android.provider.Settings;
import android.text.TextUtils;
import android.view.View;
-import android.util.Pair;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -184,35 +183,18 @@
}
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() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java
index afd7f66..5c24da9 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java
@@ -43,22 +43,22 @@
@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
@@ -68,8 +68,7 @@
mBatterySaverScheduleSettings.onPause();
- verifySchedule(SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE,
- expectedPercentage);
+ verifySchedule("key_battery_saver_percentage", expectedPercentage);
}
@Test
@@ -90,8 +89,7 @@
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) {
@@ -101,13 +99,12 @@
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() {