diff --git a/api/current.txt b/api/current.txt index 76a22899bc163..05ced6eeae7c7 100644 --- a/api/current.txt +++ b/api/current.txt @@ -33513,6 +33513,7 @@ package android.provider { field public static final java.lang.String ACTION_BLUETOOTH_SETTINGS = "android.settings.BLUETOOTH_SETTINGS"; field public static final java.lang.String ACTION_CAPTIONING_SETTINGS = "android.settings.CAPTIONING_SETTINGS"; field public static final java.lang.String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS"; + field public static final java.lang.String ACTION_CHANNEL_NOTIFICATION_SETTINGS = "android.settings.CHANNEL_NOTIFICATION_SETTINGS"; field public static final java.lang.String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS"; field public static final java.lang.String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS"; field public static final java.lang.String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS"; @@ -33565,8 +33566,10 @@ package android.provider { field public static final java.lang.String AUTHORITY = "settings"; field public static final java.lang.String EXTRA_ACCOUNT_TYPES = "account_types"; field public static final java.lang.String EXTRA_AIRPLANE_MODE_ENABLED = "airplane_mode_enabled"; + field public static final java.lang.String EXTRA_APP_PACKAGE = "android.provider.extra.APP_PACKAGE"; field public static final java.lang.String EXTRA_AUTHORITIES = "authorities"; field public static final java.lang.String EXTRA_BATTERY_SAVER_MODE_ENABLED = "android.settings.extra.battery_saver_mode_enabled"; + field public static final java.lang.String EXTRA_CHANNEL_ID = "android.provider.extra.CHANNEL_ID"; field public static final java.lang.String EXTRA_DO_NOT_DISTURB_MODE_ENABLED = "android.settings.extra.do_not_disturb_mode_enabled"; field public static final java.lang.String EXTRA_DO_NOT_DISTURB_MODE_MINUTES = "android.settings.extra.do_not_disturb_mode_minutes"; field public static final java.lang.String EXTRA_INPUT_METHOD_ID = "input_method_id"; diff --git a/api/system-current.txt b/api/system-current.txt index bda634f45d485..4a1fd394ef08b 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -36504,6 +36504,7 @@ package android.provider { field public static final java.lang.String ACTION_BLUETOOTH_SETTINGS = "android.settings.BLUETOOTH_SETTINGS"; field public static final java.lang.String ACTION_CAPTIONING_SETTINGS = "android.settings.CAPTIONING_SETTINGS"; field public static final java.lang.String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS"; + field public static final java.lang.String ACTION_CHANNEL_NOTIFICATION_SETTINGS = "android.settings.CHANNEL_NOTIFICATION_SETTINGS"; field public static final java.lang.String ACTION_CONFIGURE_WIFI_SETTINGS = "android.settings.CONFIGURE_WIFI_SETTINGS"; field public static final java.lang.String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS"; field public static final java.lang.String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS"; @@ -36559,8 +36560,10 @@ package android.provider { field public static final java.lang.String AUTHORITY = "settings"; field public static final java.lang.String EXTRA_ACCOUNT_TYPES = "account_types"; field public static final java.lang.String EXTRA_AIRPLANE_MODE_ENABLED = "airplane_mode_enabled"; + field public static final java.lang.String EXTRA_APP_PACKAGE = "android.provider.extra.APP_PACKAGE"; field public static final java.lang.String EXTRA_AUTHORITIES = "authorities"; field public static final java.lang.String EXTRA_BATTERY_SAVER_MODE_ENABLED = "android.settings.extra.battery_saver_mode_enabled"; + field public static final java.lang.String EXTRA_CHANNEL_ID = "android.provider.extra.CHANNEL_ID"; field public static final java.lang.String EXTRA_DO_NOT_DISTURB_MODE_ENABLED = "android.settings.extra.do_not_disturb_mode_enabled"; field public static final java.lang.String EXTRA_DO_NOT_DISTURB_MODE_MINUTES = "android.settings.extra.do_not_disturb_mode_minutes"; field public static final java.lang.String EXTRA_INPUT_METHOD_ID = "input_method_id"; diff --git a/api/test-current.txt b/api/test-current.txt index c6de2e47e0e24..8f4b5044a6b4e 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -33629,6 +33629,7 @@ package android.provider { field public static final java.lang.String ACTION_BLUETOOTH_SETTINGS = "android.settings.BLUETOOTH_SETTINGS"; field public static final java.lang.String ACTION_CAPTIONING_SETTINGS = "android.settings.CAPTIONING_SETTINGS"; field public static final java.lang.String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS"; + field public static final java.lang.String ACTION_CHANNEL_NOTIFICATION_SETTINGS = "android.settings.CHANNEL_NOTIFICATION_SETTINGS"; field public static final java.lang.String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS"; field public static final java.lang.String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS"; field public static final java.lang.String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS"; @@ -33682,8 +33683,10 @@ package android.provider { field public static final java.lang.String AUTHORITY = "settings"; field public static final java.lang.String EXTRA_ACCOUNT_TYPES = "account_types"; field public static final java.lang.String EXTRA_AIRPLANE_MODE_ENABLED = "airplane_mode_enabled"; + field public static final java.lang.String EXTRA_APP_PACKAGE = "android.provider.extra.APP_PACKAGE"; field public static final java.lang.String EXTRA_AUTHORITIES = "authorities"; field public static final java.lang.String EXTRA_BATTERY_SAVER_MODE_ENABLED = "android.settings.extra.battery_saver_mode_enabled"; + field public static final java.lang.String EXTRA_CHANNEL_ID = "android.provider.extra.CHANNEL_ID"; field public static final java.lang.String EXTRA_DO_NOT_DISTURB_MODE_ENABLED = "android.settings.extra.do_not_disturb_mode_enabled"; field public static final java.lang.String EXTRA_DO_NOT_DISTURB_MODE_MINUTES = "android.settings.extra.do_not_disturb_mode_minutes"; field public static final java.lang.String EXTRA_INPUT_METHOD_ID = "input_method_id"; diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 9e2d4a7b23705..b92d29339afb5 100755 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -30,6 +30,7 @@ import android.annotation.UserIdInt; import android.app.ActivityThread; import android.app.AppOpsManager; import android.app.Application; +import android.app.NotificationChannel; import android.app.SearchManager; import android.app.WallpaperManager; import android.content.ComponentName; @@ -1274,12 +1275,42 @@ public final class Settings { /** * Activity Action: Show notification settings for a single app. * + * Input: Optionally, {@link #EXTRA_CHANNEL_ID}, to highlight that channel. * @hide */ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_APP_NOTIFICATION_SETTINGS = "android.settings.APP_NOTIFICATION_SETTINGS"; + /** + * Activity Action: Show notification settings for a single {@link NotificationChannel}. + *

+ * Must be called from an activity. + *

+ * Input: {@link #EXTRA_APP_PACKAGE}, the package containing the channel to display. + * Input: {@link #EXTRA_CHANNEL_ID}, the id of the channel to display. + *

+ * Output: Nothing. + */ + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) + public static final String ACTION_CHANNEL_NOTIFICATION_SETTINGS + = "android.settings.CHANNEL_NOTIFICATION_SETTINGS"; + + /** + * Activity Extra: The package owner of the notification channel settings to display. + *

+ * This must be passed as an extra field to the {@link #ACTION_CHANNEL_NOTIFICATION_SETTINGS}. + */ + public static final String EXTRA_APP_PACKAGE = "android.provider.extra.APP_PACKAGE"; + + /** + * Activity Extra: The {@link NotificationChannel#getId()} of the notification channel settings + * to display. + *

+ * This must be passed as an extra field to the {@link #ACTION_CHANNEL_NOTIFICATION_SETTINGS}. + */ + public static final String EXTRA_CHANNEL_ID = "android.provider.extra.CHANNEL_ID"; + /** * Activity Action: Show notification redaction settings. * @@ -1290,7 +1321,6 @@ public final class Settings { = "android.settings.ACTION_APP_NOTIFICATION_REDACTION"; /** @hide */ public static final String EXTRA_APP_UID = "app_uid"; - /** @hide */ public static final String EXTRA_APP_PACKAGE = "app_package"; /** * Activity Action: Show a dialog with disabled by policy message.