diff --git a/res/drawable/ic_power_settings.xml b/res/drawable/ic_power_settings.xml
deleted file mode 100644
index b56e3328474..00000000000
--- a/res/drawable/ic_power_settings.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 2ddbae37c4b..aeaea6116b8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -13203,23 +13203,29 @@
cards & passes
- Power menu
+ Press and hold power button
-
- Power button menu
-
-
- Don\u2019t show any content
+
+ Press and hold for the Assistant
+
+ Press and hold for the power menu
+
+ Press and hold disabled
To use, first set a screen lock
-
+
Hold for Assistant
-
+
Trigger the Assistant by holding the power button
+
+ Power & Emergency Menu:\nPress Power and Volume up at the same time.
+
+ Prevent ringing:\nShortcut available in the volume menu.
+
Show wallet
diff --git a/res/xml/gestures.xml b/res/xml/gestures.xml
index 6de9c1ac4a3..175a826f108 100644
--- a/res/xml/gestures.xml
+++ b/res/xml/gestures.xml
@@ -86,4 +86,10 @@
android:title="@string/gesture_prevent_ringing_screen_title"
android:fragment="com.android.settings.gestures.PreventRingingGestureSettings"
settings:controller="com.android.settings.gestures.PreventRingingParentPreferenceController" />
+
+
diff --git a/res/xml/power_menu_settings.xml b/res/xml/power_menu_settings.xml
index f88531e3802..caaeb979387 100644
--- a/res/xml/power_menu_settings.xml
+++ b/res/xml/power_menu_settings.xml
@@ -1,19 +1,16 @@
-
+
+
+
diff --git a/res/xml/system_dashboard_fragment.xml b/res/xml/system_dashboard_fragment.xml
index 67377753f33..9228ddd5f5a 100644
--- a/res/xml/system_dashboard_fragment.xml
+++ b/res/xml/system_dashboard_fragment.xml
@@ -43,14 +43,6 @@
android:fragment="com.android.settings.datetime.DateTimeSettings"
settings:controller="com.android.settings.datetime.DateTimePreferenceController"/>
-
-
) invocation -> {
+ int id = invocation.getArgument(0);
+ return getString(id);
+ });
when(mResources.getBoolean(
com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
.thenReturn(true);
mController = new LongPressPowerButtonPreferenceController(mContext,
KEY_LONG_PRESS_POWER_BUTTON);
+ mController.mAssistSwitch = mock(Preference.class);
+ mController.mFooterHint = mock(Preference.class);
}
@Test
@@ -74,6 +88,60 @@ public class LongPressPowerButtonPreferenceControllerTest {
assertThat(mController.isAvailable()).isFalse();
}
+ @Test
+ public void preferenceChecked_powerMenuHintTextShown() {
+ mController.onPreferenceChange(null, true);
+
+ verify(mController.mFooterHint).setSummary(
+ getString(
+ R.string.power_menu_power_volume_up_hint));
+ verify(mController.mFooterHint).setVisible(true);
+ }
+
+
+ @Test
+ public void preferenceUnchecked_keyChordEnabled_powerMenuHintTextShown() {
+ when(mResources.getInteger(
+ com.android.internal.R.integer.config_keyChordPowerVolumeUp))
+ .thenReturn(
+ LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_GLOBAL_ACTIONS);
+
+ mController.onPreferenceChange(null, false);
+
+ verify(mController.mFooterHint).setSummary(
+ getString(
+ R.string.power_menu_power_volume_up_hint));
+ verify(mController.mFooterHint).setVisible(true);
+ }
+
+ @Test
+ public void preferenceChecked_hushGestureEnabled_powerMenuHintTextIncludesHushHint() {
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_volumeHushGestureEnabled))
+ .thenReturn(true);
+
+ mController.onPreferenceChange(null, true);
+
+ verify(mController.mFooterHint).setSummary(
+ getString(
+ R.string.power_menu_power_volume_up_hint) + "\n\n"
+ + getString(
+ R.string.power_menu_power_prevent_ringing_hint));
+ verify(mController.mFooterHint).setVisible(true);
+ }
+
+
+ @Test
+ public void preferenceUnchecked_keyChordDisabled_powerMenuHintTextHidden() {
+ mController.onPreferenceChange(null, false);
+ when(mResources.getInteger(
+ com.android.internal.R.integer.config_keyChordPowerVolumeUp))
+ .thenReturn(
+ LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION);
+
+ verify(mController.mFooterHint).setVisible(false);
+ }
+
@Test
public void preferenceChecked_longPressPowerSettingSetToAssistant() {
mController.onPreferenceChange(null, true);
@@ -84,21 +152,29 @@ public class LongPressPowerButtonPreferenceControllerTest {
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo(
LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_GLOBAL_ACTIONS);
+ verify(mController.mAssistSwitch).setSummary(
+ getString(
+ R.string.power_menu_summary_long_press_for_assist_enabled));
}
@Test
public void preferenceUnchecked_longPressPowerSettingSetToDefaultValue() {
- // Value out of range chosen deliberately.
when(mResources.getInteger(
com.android.internal.R.integer.config_longPressOnPowerBehavior))
- .thenReturn(8);
+ .thenReturn(
+ LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_GLOBAL_ACTIONS);
mController.onPreferenceChange(null, false);
+
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
- Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(8);
+ Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(
+ LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_GLOBAL_ACTIONS);
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo(
LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION);
+ verify(mController.mAssistSwitch).setSummary(
+ getString(
+ R.string.power_menu_summary_long_press_for_assist_disabled_with_power_menu));
}
@Test
@@ -110,9 +186,10 @@ public class LongPressPowerButtonPreferenceControllerTest {
when(mResources.getInteger(
com.android.internal.R.integer.config_keyChordPowerVolumeUp))
.thenReturn(
- LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE);
+ LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE);
mController.onPreferenceChange(null, false);
+
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(8);
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
@@ -121,7 +198,7 @@ public class LongPressPowerButtonPreferenceControllerTest {
}
@Test
- public void preferenceUnchecked_assistDefault_setShutOff() {
+ public void preferenceUnchecked_assistDefault_setNoAction() {
// Value out of range chosen deliberately.
when(mResources.getInteger(
com.android.internal.R.integer.config_longPressOnPowerBehavior))
@@ -129,33 +206,19 @@ public class LongPressPowerButtonPreferenceControllerTest {
LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_ASSISTANT_VALUE);
mController.onPreferenceChange(null, false);
+
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(
- LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_SHUT_OFF);
+ LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_NO_ACTION);
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo(
LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION);
+ verify(mController.mAssistSwitch).setSummary(
+ getString(
+ R.string.power_menu_summary_long_press_for_assist_disabled_no_action));
}
-
- @Test
- public void preferenceUnchecked_assistDefaultGlobalActionsEnabled_setGlobalActions() {
- // Value out of range chosen deliberately.
- when(mResources.getInteger(
- com.android.internal.R.integer.config_longPressOnPowerBehavior))
- .thenReturn(
- LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_ASSISTANT_VALUE);
- Settings.Secure.putInt(mContext.getContentResolver(),
- LongPressPowerButtonPreferenceController.CARDS_AVAILABLE_KEY, 1);
- Settings.Secure.putInt(mContext.getContentResolver(),
- LongPressPowerButtonPreferenceController.CARDS_ENABLED_KEY, 1);
-
- mController.onPreferenceChange(null, false);
- assertThat(Settings.Global.getInt(mContext.getContentResolver(),
- Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(
- LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_GLOBAL_ACTIONS);
- assertThat(Settings.Global.getInt(mContext.getContentResolver(),
- Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo(
- LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION);
+ private String getString(@StringRes int id) {
+ return ApplicationProvider.getApplicationContext().getString(id);
}
}
diff --git a/tests/robotests/src/com/android/settings/gestures/PowerMenuPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PowerMenuPreferenceControllerTest.java
index 811ed70f268..1a82a139922 100644
--- a/tests/robotests/src/com/android/settings/gestures/PowerMenuPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/PowerMenuPreferenceControllerTest.java
@@ -70,6 +70,6 @@ public class PowerMenuPreferenceControllerTest {
.thenReturn(false);
assertThat(mController.getAvailabilityStatus()).isEqualTo(
- BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+ BasePreferenceController.UNSUPPORTED_ON_DEVICE);
}
}