Unitfy saver schedule type log format and log in the background
Bug: 195306545 Test: make SettingsGoogleRoboTests Change-Id: I13a01de804c3907d52f09def900ee1a057257ce3
This commit is contained in:
@@ -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
|
||||||
|
@@ -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) {
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user