Intents for Voice controlled settings actions.
Add new voice interaction intents for battery saver mode, airplane mode and do not disturb.
Change-Id: Id5bd4e4f23a798eef91d797ffcd17df482b30c08
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index bf9a1ad..5ee8fb3 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -138,7 +138,7 @@
"android.settings.AIRPLANE_MODE_SETTINGS";
/**
- * Activity Action: Modify Airplane mode settings using the users voice.
+ * Activity Action: Modify Airplane mode settings using a voice command.
* <p>
* In some cases, a matching Activity may not exist, so ensure you safeguard against this.
* <p>
@@ -146,15 +146,13 @@
* {@link android.service.voice.VoiceInteractionSession#startVoiceActivity
* startVoiceActivity}.
* <p>
- * To tell which state airplane mode should be set to, add the
- * {@link #EXTRA_AIRPLANE_MODE_ENABLED} extra to this Intent with the state specified.
- * If there is no extra in this Intent, no changes will be made.
- * <p>
- * The activity should verify that
+ * Note: The activity implementing this intent MUST verify that
* {@link android.app.Activity#isVoiceInteraction isVoiceInteraction} returns true before
* modifying the setting.
* <p>
- * Input: Nothing.
+ * Input: To tell which state airplane mode should be set to, add the
+ * {@link #EXTRA_AIRPLANE_MODE_ENABLED} extra to this Intent with the state specified.
+ * If the extra is not included, no changes will be made.
* <p>
* Output: Nothing.
*/
@@ -857,6 +855,31 @@
= "android.settings.ZEN_MODE_AUTOMATION_SETTINGS";
/**
+ * Activity Action: Modify do not disturb mode settings.
+ * <p>
+ * In some cases, a matching Activity may not exist, so ensure you safeguard against this.
+ * <p>
+ * This intent MUST be started using
+ * {@link android.service.voice.VoiceInteractionSession#startVoiceActivity
+ * startVoiceActivity}.
+ * <p>
+ * Note: The Activity implementing this intent MUST verify that
+ * {@link android.app.Activity#isVoiceInteraction isVoiceInteraction}.
+ * returns true before modifying the setting.
+ * <p>
+ * Input: The optional {@link #EXTRA_DO_NOT_DISTURB_MODE_MINUTES} extra can be used to indicate
+ * how long the user wishes to avoid interruptions for. The optional
+ * {@link #EXTRA_DO_NOT_DISTURB_MODE_ENABLED} extra can be to indicate if the user is
+ * enabling or disabling do not disturb mode. If either extra is not included, the
+ * user maybe asked to provide the value.
+ * <p>
+ * Output: Nothing.
+ */
+ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
+ public static final String ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE =
+ "android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE";
+
+ /**
* Activity Action: Show the regulatory information screen for the device.
* <p>
* In some cases, a matching Activity may not exist, so ensure you safeguard
@@ -903,6 +926,29 @@
= "android.settings.BATTERY_SAVER_SETTINGS";
/**
+ * Activity Action: Modify Battery Saver mode setting using a voice command.
+ * <p>
+ * In some cases, a matching Activity may not exist, so ensure you safeguard against this.
+ * <p>
+ * This intent MUST be started using
+ * {@link android.service.voice.VoiceInteractionSession#startVoiceActivity
+ * startVoiceActivity}.
+ * <p>
+ * Note: The activity implementing this intent MUST verify that
+ * {@link android.app.Activity#isVoiceInteraction isVoiceInteraction} returns true before
+ * modifying the setting.
+ * <p>
+ * Input: To tell which state batter saver mode should be set to, add the
+ * {@link #EXTRA_BATTERY_SAVER_MODE_ENABLED} extra to this Intent with the state specified.
+ * If the extra is not included, no changes will be made.
+ * <p>
+ * Output: Nothing.
+ */
+ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
+ public static final String ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE =
+ "android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE";
+
+ /**
* Activity Action: Show Home selection settings. If there are multiple activities
* that can satisfy the {@link Intent#CATEGORY_HOME} intent, this screen allows you
* to pick your preferred activity.
@@ -1016,10 +1062,37 @@
* Activity Extra: Enable or disable Airplane Mode.
* <p>
* This can be passed as an extra field to the {@link #ACTION_VOICE_CONTROL_AIRPLANE_MODE}
- * intent as a boolean.
+ * intent as a boolean to indicate if it should be enabled.
*/
public static final String EXTRA_AIRPLANE_MODE_ENABLED = "airplane_mode_enabled";
+ /**
+ * Activity Extra: Enable or disable Battery saver mode.
+ * <p>
+ * This can be passed as an extra field to the {@link #ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE}
+ * intent as a boolean to indicate if it should be enabled.
+ */
+ public static final String EXTRA_BATTERY_SAVER_MODE_ENABLED =
+ "android.settings.extra.battery_saver_mode_enabled";
+
+ /**
+ * Activity Extra: Enable or disable Do Not Disturb mode.
+ * <p>
+ * This can be passed as an extra field to the {@link #ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE}
+ * intent as a boolean to indicate if it should be enabled.
+ */
+ public static final String EXTRA_DO_NOT_DISTURB_MODE_ENABLED =
+ "android.settings.extra.do_not_disturb_mode_enabled";
+
+ /**
+ * Activity Extra: How many minutes to enable do not disturb mode for.
+ * <p>
+ * This can be passed as an extra field to the {@link #ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE}
+ * intent to indicate how long do not disturb mode should be enabled for.
+ */
+ public static final String EXTRA_DO_NOT_DISTURB_MODE_MINUTES =
+ "android.settings.extra.do_not_disturb_mode_minutes";
+
private static final String JID_RESOURCE_PREFIX = "android";
public static final String AUTHORITY = "settings";