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

Commit ee449ceb authored by Lucas Silva's avatar Lucas Silva Committed by Android (Google) Code Review
Browse files

Merge "Add posturing dream trigger to Settings UI" into main

parents 3cf730f6 9c4dba40
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -3170,6 +3170,10 @@
    <string name="screensaver_settings_summary_dock">While docked</string>
    <!-- Display settings screen, summary fragment for screen saver options, activated never [CHAR LIMIT=35] -->
    <string name="screensaver_settings_summary_never">Never</string>
    <!-- Summary for when screensaver is enabled, only while stationary and upright [CHAR LIMIT=35] -->
    <string name="screensaver_settings_summary_postured">While postured</string>
    <!-- Summary for when screensaver is enabled, only while stationary and upright and charging [CHAR LIMIT=35] -->
    <string name="screensaver_settings_summary_postured_and_charging">While postured and charging</string>
    <!-- Display settings screen, summary for screen saver options, screen saver is turned on [CHAR LIMIT=50] -->
    <string name="screensaver_settings_summary_on">
        On / <xliff:g id="screen_saver" example="Art gallery">%1$s</xliff:g>
+20 −16
Original line number Diff line number Diff line
@@ -17,10 +17,6 @@
package com.android.settings.dream;

import static com.android.settings.dream.DreamMainSwitchPreferenceController.MAIN_SWITCH_PREF_KEY;
import static com.android.settingslib.dream.DreamBackend.EITHER;
import static com.android.settingslib.dream.DreamBackend.NEVER;
import static com.android.settingslib.dream.DreamBackend.WHILE_CHARGING;
import static com.android.settingslib.dream.DreamBackend.WHILE_DOCKED;

import android.app.settings.SettingsEnums;
import android.content.Context;
@@ -57,6 +53,7 @@ public class DreamSettings extends DashboardFragment implements OnCheckedChangeL
    static final String WHILE_CHARGING_ONLY = "while_charging_only";
    static final String WHILE_DOCKED_ONLY = "while_docked_only";
    static final String EITHER_CHARGING_OR_DOCKED = "either_charging_or_docked";
    static final String WHILE_POSTURED_ONLY = "while_postured_only";
    static final String NEVER_DREAM = "never";

    private MainSwitchPreference mMainSwitchPreference;
@@ -75,26 +72,30 @@ public class DreamSettings extends DashboardFragment implements OnCheckedChangeL
    static int getSettingFromPrefKey(String key) {
        switch (key) {
            case WHILE_CHARGING_ONLY:
                return WHILE_CHARGING;
                return DreamBackend.WHILE_CHARGING;
            case WHILE_DOCKED_ONLY:
                return WHILE_DOCKED;
                return DreamBackend.WHILE_DOCKED;
            case EITHER_CHARGING_OR_DOCKED:
                return EITHER;
                return DreamBackend.WHILE_CHARGING_OR_DOCKED;
            case WHILE_POSTURED_ONLY:
                return DreamBackend.WHILE_POSTURED;
            case NEVER_DREAM:
            default:
                return NEVER;
                return DreamBackend.NEVER;
        }
    }

    static String getKeyFromSetting(@WhenToDream int dreamSetting) {
        switch (dreamSetting) {
            case WHILE_CHARGING:
            case DreamBackend.WHILE_CHARGING:
                return WHILE_CHARGING_ONLY;
            case WHILE_DOCKED:
            case DreamBackend.WHILE_DOCKED:
                return WHILE_DOCKED_ONLY;
            case EITHER:
            case DreamBackend.WHILE_CHARGING_OR_DOCKED:
                return EITHER_CHARGING_OR_DOCKED;
            case NEVER:
            case DreamBackend.WHILE_POSTURED:
                return WHILE_POSTURED_ONLY;
            case DreamBackend.NEVER:
            default:
                return NEVER_DREAM;
        }
@@ -103,14 +104,17 @@ public class DreamSettings extends DashboardFragment implements OnCheckedChangeL
    static int getDreamSettingDescriptionResId(@WhenToDream int dreamSetting,
            boolean enabledOnBattery) {
        switch (dreamSetting) {
            case WHILE_CHARGING:
            case DreamBackend.WHILE_CHARGING:
                return R.string.screensaver_settings_summary_sleep;
            case WHILE_DOCKED:
            case DreamBackend.WHILE_DOCKED:
                return enabledOnBattery ? R.string.screensaver_settings_summary_dock
                        : R.string.screensaver_settings_summary_dock_and_charging;
            case EITHER:
            case DreamBackend.WHILE_CHARGING_OR_DOCKED:
                return R.string.screensaver_settings_summary_either_long;
            case NEVER:
            case DreamBackend.WHILE_POSTURED:
                return enabledOnBattery ? R.string.screensaver_settings_summary_postured
                        : R.string.screensaver_settings_summary_postured_and_charging;
            case DreamBackend.NEVER:
            default:
                return R.string.screensaver_settings_summary_never;
        }
+7 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.settings.dream;

import static android.service.dreams.Flags.allowDreamWhenPostured;

import android.app.settings.SettingsEnums;
import android.content.Context;
import android.graphics.drawable.Drawable;
@@ -65,7 +67,11 @@ public class WhenToDreamPicker extends RadioButtonPickerFragment {
        }

        for (int i = 0; i < entries.length; i++) {
            candidates.add(new WhenToDreamCandidateInfo(entries[i], values[i]));
            final String key = values[i];
            if (DreamSettings.WHILE_POSTURED_ONLY.equals(key) && !allowDreamWhenPostured()) {
                continue;
            }
            candidates.add(new WhenToDreamCandidateInfo(entries[i], key));
        }

        return candidates;
+5 −1
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ public class DreamSettingsTest {
            DreamSettings.WHILE_CHARGING_ONLY,
            DreamSettings.WHILE_DOCKED_ONLY,
            DreamSettings.EITHER_CHARGING_OR_DOCKED,
            DreamSettings.WHILE_POSTURED_ONLY,
            DreamSettings.NEVER_DREAM
    );

@@ -66,7 +67,8 @@ public class DreamSettingsTest {
    private static final int[] SETTINGS = {
            DreamBackend.WHILE_CHARGING,
            DreamBackend.WHILE_DOCKED,
            DreamBackend.EITHER,
            DreamBackend.WHILE_CHARGING_OR_DOCKED,
            DreamBackend.WHILE_POSTURED,
            DreamBackend.NEVER,
    };

@@ -74,6 +76,7 @@ public class DreamSettingsTest {
            R.string.screensaver_settings_summary_sleep,
            R.string.screensaver_settings_summary_dock,
            R.string.screensaver_settings_summary_either_long,
            R.string.screensaver_settings_summary_postured,
            R.string.screensaver_settings_summary_never
    };

@@ -81,6 +84,7 @@ public class DreamSettingsTest {
            R.string.screensaver_settings_summary_sleep,
            R.string.screensaver_settings_summary_dock_and_charging,
            R.string.screensaver_settings_summary_either_long,
            R.string.screensaver_settings_summary_postured_and_charging,
            R.string.screensaver_settings_summary_never
    };

+15 −4
Original line number Diff line number Diff line
@@ -80,9 +80,13 @@ public class WhenToDreamPickerTest {
        assertThat(mPicker.getDefaultKey())
                .isEqualTo(DreamSettings.getKeyFromSetting(DreamBackend.WHILE_DOCKED));

        when(mBackend.getWhenToDreamSetting()).thenReturn(DreamBackend.EITHER);
        when(mBackend.getWhenToDreamSetting()).thenReturn(DreamBackend.WHILE_CHARGING_OR_DOCKED);
        assertThat(mPicker.getDefaultKey())
                .isEqualTo(DreamSettings.getKeyFromSetting(DreamBackend.EITHER));
                .isEqualTo(DreamSettings.getKeyFromSetting(DreamBackend.WHILE_CHARGING_OR_DOCKED));

        when(mBackend.getWhenToDreamSetting()).thenReturn(DreamBackend.WHILE_POSTURED);
        assertThat(mPicker.getDefaultKey())
                .isEqualTo(DreamSettings.getKeyFromSetting(DreamBackend.WHILE_POSTURED));

        when(mBackend.getWhenToDreamSetting()).thenReturn(DreamBackend.NEVER);
        assertThat(mPicker.getDefaultKey())
@@ -105,9 +109,16 @@ public class WhenToDreamPickerTest {

    @Test
    public void setDreamWhileChargingOrDocked() {
        final String key = DreamSettings.getKeyFromSetting(DreamBackend.EITHER);
        final String key = DreamSettings.getKeyFromSetting(DreamBackend.WHILE_CHARGING_OR_DOCKED);
        mPicker.setDefaultKey(key);
        verify(mBackend).setWhenToDream(DreamBackend.WHILE_CHARGING_OR_DOCKED);
    }

    @Test
    public void setDreamWhilePostured() {
        final String key = DreamSettings.getKeyFromSetting(DreamBackend.WHILE_POSTURED);
        mPicker.setDefaultKey(key);
        verify(mBackend).setWhenToDream(DreamBackend.EITHER);
        verify(mBackend).setWhenToDream(DreamBackend.WHILE_POSTURED);
    }

    @Test