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

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

Merge "Update battery saver seekbar"

parents 701d9a0e 6641ba8f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -29,8 +29,8 @@
    <com.android.settings.widget.SeekBarPreference
        android:key="battery_saver_seek_bar"
        android:title="@string/battery_saver_seekbar_title_placeholder"
        android:max="75"
        android:min="5" />
        android:max="15"
        android:min="1" />

    <com.android.settings.widget.TwoStateButtonPreference
        android:key="battery_saver"
+4 −3
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import com.android.settingslib.core.lifecycle.events.OnStop;
public class AutoBatterySeekBarPreferenceController extends BasePreferenceController implements
        LifecycleObserver, OnStart, OnStop, SeekBarPreference.OnPreferenceChangeListener {
    private static final String TAG = "AutoBatterySeekBarPreferenceController";
    private static final int INTERVAL = 5;
    @VisibleForTesting
    static final String KEY_AUTO_BATTERY_SEEK_BAR = "battery_saver_seek_bar";
    private SeekBarPreference mPreference;
@@ -92,7 +93,7 @@ public class AutoBatterySeekBarPreferenceController extends BasePreferenceContro
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        final int progress = (int) newValue;
        Settings.Global.putInt(mContext.getContentResolver(),
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, progress);
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, progress * INTERVAL);
        return true;
    }

@@ -102,7 +103,7 @@ public class AutoBatterySeekBarPreferenceController extends BasePreferenceContro

        // Override the max value with LOW_POWER_MODE_TRIGGER_LEVEL_MAX, if set.
        final int maxLevel = Settings.Global.getInt(contentResolver,
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL_MAX, 0);
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL_MAX, 0) / INTERVAL;
        if (maxLevel > 0) {
            if (!(preference instanceof SeekBarPreference)) {
                Log.e(TAG, "Unexpected preference class: " + preference.getClass());
@@ -127,7 +128,7 @@ public class AutoBatterySeekBarPreferenceController extends BasePreferenceContro
            preference.setTitle(mContext.getString(R.string.battery_saver_seekbar_title,
                    Utils.formatPercentage(level)));
            SeekBarPreference seekBarPreference = (SeekBarPreference) preference;
            seekBarPreference.setProgress(level);
            seekBarPreference.setProgress(level / INTERVAL);
            seekBarPreference.setSeekBarContentDescription(
                    mContext.getString(R.string.battery_saver_turn_on_automatically_title));
        }
+6 −3
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.fuelgauge.batterysaver;
import static com.google.common.truth.Truth.assertThat;

import androidx.lifecycle.LifecycleOwner;

import android.content.Context;
import android.provider.Settings;

@@ -39,6 +40,7 @@ public class AutoBatterySeekBarPreferenceControllerTest {

    private static final int TRIGGER_LEVEL = 20;
    private static final int DEFAULT_LEVEL = 15;
    private static final int INTERVAL = 5;

    private AutoBatterySeekBarPreferenceController mController;
    private Context mContext;
@@ -85,15 +87,16 @@ public class AutoBatterySeekBarPreferenceControllerTest {

        assertThat(mPreference.isVisible()).isTrue();
        assertThat(mPreference.getTitle()).isEqualTo("At 20%");
        assertThat(mPreference.getProgress()).isEqualTo(TRIGGER_LEVEL);
        assertThat(mPreference.getProgress()).isEqualTo(TRIGGER_LEVEL / INTERVAL);
    }


    @Test
    public void testOnPreferenceChange_updateValue() {
        Settings.Global.putInt(mContext.getContentResolver(),
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);

        mController.onPreferenceChange(mPreference, TRIGGER_LEVEL);
        mController.onPreferenceChange(mPreference, TRIGGER_LEVEL / INTERVAL);

        assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0)).isEqualTo(TRIGGER_LEVEL);
@@ -106,7 +109,7 @@ public class AutoBatterySeekBarPreferenceControllerTest {

        mController.updateState(mPreference);

        assertThat(mPreference.getMax()).isEqualTo(50);
        assertThat(mPreference.getMax()).isEqualTo(50 / INTERVAL);
    }

    @Test