Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62a350d1 authored by ykhung's avatar ykhung
Browse files

Unitfy saver schedule type log format and log in the background

Bug: 195306545
Test: make SettingsGoogleRoboTests
Change-Id: I13a01de804c3907d52f09def900ee1a057257ce3
parent 2c792049
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import android.app.settings.SettingsEnums;
import android.content.ContentResolver;
import android.content.Context;
import android.database.ContentObserver;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Looper;
import android.os.PowerManager;
@@ -137,17 +138,13 @@ public class BatterySaverController extends BasePreferenceController
        final int mode = Global.getInt(resolver, Global.AUTOMATIC_POWER_SAVE_MODE,
                PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
        int fuelgaugeScheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE;
        int powerLevelTriggerPercentage = -1;
        switch (mode) {
            case PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE:
                fuelgaugeScheduleType =
                        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);
                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;
            case PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC:
                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,
                Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
                        fuelgaugeScheduleType));
                        fuelgaugeScheduleType),
                Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
                        powerLevelTriggerPercentage));
    }

    @Override
    public void onPowerSaveModeChanged() {
        updateSummary();
        logPowerSaver();
        AsyncTask.execute(() -> logPowerSaver());
    }

    @Override
+19 −2
Original line number Diff line number Diff line
@@ -88,9 +88,13 @@ public class BatterySaverControllerTest {
                Settings.Global.AUTOMATIC_POWER_SAVE_MODE, -1);

        mBatterySaverController.onPowerSaveModeChanged();

        waitAWhile();
        verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
                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
@@ -104,6 +108,8 @@ public class BatterySaverControllerTest {
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, percentageVal);

        mBatterySaverController.onPowerSaveModeChanged();

        waitAWhile();
        verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
                Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
                        SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE),
@@ -119,9 +125,13 @@ public class BatterySaverControllerTest {
                PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC);

        mBatterySaverController.onPowerSaveModeChanged();

        waitAWhile();
        verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
                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
@@ -167,4 +177,11 @@ public class BatterySaverControllerTest {

        assertThat(mBatterySaverController.getSummary()).isEqualTo("Off");
    }

    private static void waitAWhile() {
        try {
            Thread.sleep(200);
        } catch (Exception e) {
        }
    }
}