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

Commit 47d84b41 authored by Lucas Silva's avatar Lucas Silva
Browse files

Update the "When to dream" settings

For devices which don't support dreaming on battery, we can offer
simpler options since the device must always be charging for
screensavers to appear. Therefore there are only two options:

1. While charging
2. While docked and charging

Test: flashed and verified on device
Test: make -j64 RunSettingsRoboTests
Fixes: 226187572
Change-Id: I6ed24cda8874f2fb941f6cfded9ed97ed78a3cb6
parent 18dd9b23
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -1216,6 +1216,20 @@
        <item>90</item>
    </string-array>

    <!-- Options for screensaver "When to start" for devices that do not support screensavers
         while on battery -->
    <string-array name="when_to_start_screensaver_entries_no_battery" translatable="false">
        <item>@string/screensaver_settings_summary_sleep</item>
        <item>@string/screensaver_settings_summary_dock_and_charging</item>
    </string-array>

    <!-- Values for screensaver "When to start" for devices that do not support screensavers
         while on battery -->
    <string-array name="when_to_start_screensaver_values_no_battery" translatable="false">
        <item>while_charging_only</item>
        <item>while_docked_only</item>
    </string-array>

    <string-array name="when_to_start_screensaver_entries" translatable="false">
        <item>@string/screensaver_settings_summary_sleep</item>
        <item>@string/screensaver_settings_summary_dock</item>
+2 −0
Original line number Diff line number Diff line
@@ -3365,6 +3365,8 @@
    <string name="screensaver_settings_toggle_title">Use screen saver</string>
    <!-- Display settings screen, summary fragment for screen saver options, activated when docked or asleep and charging [CHAR LIMIT=35] -->
    <string name="screensaver_settings_summary_either_long">While charging or docked</string>
    <!-- Display settings screen, summary fragment for screen saver options, actived while docked and charging [CHAR LIMIT=35] -->
    <string name="screensaver_settings_summary_dock_and_charging">While docked and charging</string>
    <!-- Display settings screen, summary fragment for screen saver options, activated when asleep and charging [CHAR LIMIT=35] -->
    <string name="screensaver_settings_summary_sleep">While charging</string>
    <!-- Display settings screen, summary fragment for screen saver options, activated when docked [CHAR LIMIT=35] -->
+4 −2
Original line number Diff line number Diff line
@@ -90,12 +90,14 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan
        }
    }

    static int getDreamSettingDescriptionResId(@WhenToDream int dreamSetting) {
    static int getDreamSettingDescriptionResId(@WhenToDream int dreamSetting,
            boolean enabledOnBattery) {
        switch (dreamSetting) {
            case WHILE_CHARGING:
                return R.string.screensaver_settings_summary_sleep;
            case WHILE_DOCKED:
                return R.string.screensaver_settings_summary_dock;
                return enabledOnBattery ? R.string.screensaver_settings_summary_dock
                        : R.string.screensaver_settings_summary_dock_and_charging;
            case EITHER:
                return R.string.screensaver_settings_summary_either_long;
            case NEVER:
+11 −2
Original line number Diff line number Diff line
@@ -32,12 +32,15 @@ public class WhenToDreamPicker extends RadioButtonPickerFragment {

    private static final String TAG = "WhenToDreamPicker";
    private DreamBackend mBackend;
    private boolean mDreamsSupportedOnBattery;

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);

        mBackend = DreamBackend.getInstance(context);
        mDreamsSupportedOnBattery = getResources().getBoolean(
                com.android.internal.R.bool.config_dreamsEnabledOnBattery);
    }

    @Override
@@ -69,12 +72,18 @@ public class WhenToDreamPicker extends RadioButtonPickerFragment {
    }

    private String[] entries() {
        if (mDreamsSupportedOnBattery) {
            return getResources().getStringArray(R.array.when_to_start_screensaver_entries);
        }
        return getResources().getStringArray(R.array.when_to_start_screensaver_entries_no_battery);
    }

    private String[] keys() {
        if (mDreamsSupportedOnBattery) {
            return getResources().getStringArray(R.array.when_to_start_screensaver_values);
        }
        return getResources().getStringArray(R.array.when_to_start_screensaver_values_no_battery);
    }

    @Override
    protected String getDefaultKey() {
+8 −3
Original line number Diff line number Diff line
@@ -33,19 +33,24 @@ public class WhenToDreamPreferenceController extends AbstractPreferenceControlle
    private static final String WHEN_TO_START = "when_to_start";
    private final DreamBackend mBackend;
    private final boolean mDreamsDisabledByAmbientModeSuppression;
    private final boolean mDreamsEnabledOnBattery;

    WhenToDreamPreferenceController(Context context) {
        this(context, context.getResources().getBoolean(
                com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig));
                com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig),
                context.getResources().getBoolean(
                        com.android.internal.R.bool.config_dreamsEnabledOnBattery));
    }

    @VisibleForTesting
    WhenToDreamPreferenceController(Context context,
            boolean dreamsDisabledByAmbientModeSuppression) {
            boolean dreamsDisabledByAmbientModeSuppression,
            boolean dreamsEnabledOnBattery) {
        super(context);

        mBackend = DreamBackend.getInstance(context);
        mDreamsDisabledByAmbientModeSuppression = dreamsDisabledByAmbientModeSuppression;
        mDreamsEnabledOnBattery = dreamsEnabledOnBattery;
    }

    @Override
@@ -57,7 +62,7 @@ public class WhenToDreamPreferenceController extends AbstractPreferenceControlle
            preference.setSummary(R.string.screensaver_settings_when_to_dream_bedtime);
        } else {
            final int resId = DreamSettings.getDreamSettingDescriptionResId(
                    mBackend.getWhenToDreamSetting());
                    mBackend.getWhenToDreamSetting(), mDreamsEnabledOnBattery);
            preference.setSummary(resId);
        }
    }
Loading