Add posturing dream trigger to Settings UI

Adds ability for users to select posturing as the trigger for when
dreams will be shown.

Bug: 383208131
Test: locally - mp droid and verified posturing option is displayed in
Settings
Flag: android.service.dreams.allow_dream_when_postured

Change-Id: Iae69b9e488181b1e2af7474e3e9879a92b51274c
This commit is contained in:
Lucas Silva
2025-01-08 14:59:58 -05:00
parent e28dcd02bc
commit 9c4dba40b4
5 changed files with 51 additions and 22 deletions

View File

@@ -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;
}