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:
@@ -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>
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
};
|
||||
|
||||
|
@@ -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.EITHER);
|
||||
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.WHILE_POSTURED);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user