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

Commit 6f6149c7 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents e535c2b6 48c3533c
Loading
Loading
Loading
Loading
+7 −25
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ import android.os.Handler;
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 @@ public class BatterySaverScheduleSettings extends RadioButtonPickerFragment {
    }

    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() {
+13 −16
Original line number Diff line number Diff line
@@ -43,22 +43,22 @@ public final class BatterySaverScheduleSettingsTest {

    @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 @@ public final class BatterySaverScheduleSettingsTest {

        mBatterySaverScheduleSettings.onPause();

        verifySchedule(SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE,
                expectedPercentage);
        verifySchedule("key_battery_saver_percentage", expectedPercentage);
    }

    @Test
@@ -90,8 +89,7 @@ public final class BatterySaverScheduleSettingsTest {

        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 @@ public final class BatterySaverScheduleSettingsTest {
                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() {