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

Commit 907cbb21 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix incorrect usage for the logging method to cause no data in WW" into...

Merge "Fix incorrect usage for the logging method to cause no data in WW" into sc-v2-dev am: 6f6149c7 am: 22b76348

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16220930

Change-Id: I47be5b62b5a7b407698ba4815415e1abd5a9bd4e
parents 33133582 22b76348
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() {