Unitfy saver schedule type log format and log in the background

Bug: 195306545
Test: make SettingsGoogleRoboTests
Change-Id: I13a01de804c3907d52f09def900ee1a057257ce3
This commit is contained in:
ykhung
2021-10-22 19:51:03 +08:00
parent 2c792049ef
commit 62a350d18c
2 changed files with 26 additions and 10 deletions

View File

@@ -19,6 +19,7 @@ import android.app.settings.SettingsEnums;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.database.ContentObserver; import android.database.ContentObserver;
import android.os.AsyncTask;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.os.PowerManager; import android.os.PowerManager;
@@ -137,17 +138,13 @@ public class BatterySaverController extends BasePreferenceController
final int mode = Global.getInt(resolver, Global.AUTOMATIC_POWER_SAVE_MODE, final int mode = Global.getInt(resolver, Global.AUTOMATIC_POWER_SAVE_MODE,
PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE); PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
int fuelgaugeScheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE; int fuelgaugeScheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE;
int powerLevelTriggerPercentage = -1;
switch (mode) { switch (mode) {
case PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE: case PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE:
fuelgaugeScheduleType = fuelgaugeScheduleType =
SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE; SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE;
final int powerLevelTriggerPercentage = Global.getInt(resolver, powerLevelTriggerPercentage = Global.getInt(resolver,
Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0); Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
mMetricsFeatureProvider.action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
fuelgaugeScheduleType),
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
powerLevelTriggerPercentage));
break; break;
case PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC: case PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC:
fuelgaugeScheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_ROUTINE; fuelgaugeScheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_ROUTINE;
@@ -157,13 +154,15 @@ public class BatterySaverController extends BasePreferenceController
} }
mMetricsFeatureProvider.action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER, mMetricsFeatureProvider.action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
fuelgaugeScheduleType)); fuelgaugeScheduleType),
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
powerLevelTriggerPercentage));
} }
@Override @Override
public void onPowerSaveModeChanged() { public void onPowerSaveModeChanged() {
updateSummary(); updateSummary();
logPowerSaver(); AsyncTask.execute(() -> logPowerSaver());
} }
@Override @Override

View File

@@ -88,9 +88,13 @@ public class BatterySaverControllerTest {
Settings.Global.AUTOMATIC_POWER_SAVE_MODE, -1); Settings.Global.AUTOMATIC_POWER_SAVE_MODE, -1);
mBatterySaverController.onPowerSaveModeChanged(); mBatterySaverController.onPowerSaveModeChanged();
waitAWhile();
verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER, verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE)); SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE),
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
-1));
} }
@Test @Test
@@ -104,6 +108,8 @@ public class BatterySaverControllerTest {
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, percentageVal); Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, percentageVal);
mBatterySaverController.onPowerSaveModeChanged(); mBatterySaverController.onPowerSaveModeChanged();
waitAWhile();
verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER, verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE), SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE),
@@ -119,9 +125,13 @@ public class BatterySaverControllerTest {
PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC); PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC);
mBatterySaverController.onPowerSaveModeChanged(); mBatterySaverController.onPowerSaveModeChanged();
waitAWhile();
verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER, verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE, Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_ROUTINE)); SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_ROUTINE),
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
-1));
} }
@Test @Test
@@ -167,4 +177,11 @@ public class BatterySaverControllerTest {
assertThat(mBatterySaverController.getSummary()).isEqualTo("Off"); assertThat(mBatterySaverController.getSummary()).isEqualTo("Off");
} }
private static void waitAWhile() {
try {
Thread.sleep(200);
} catch (Exception e) {
}
}
} }