diff options
| author | 2024-10-02 15:02:00 -0400 | |
|---|---|---|
| committer | 2024-10-02 15:50:38 -0400 | |
| commit | a660be4ef13cd76f21f14291c42eb4360ea5b8ff (patch) | |
| tree | 16d61f284f88210ad576e74587bb8c1f06ca8a13 | |
| parent | 02b2812c1db73f3a6aa21771d41cfbdea0ea08d8 (diff) | |
Settings intent action for promoted notifs
Test: make
Flag: android.app.api_rich_ongoing
Fixes: 369152226
Change-Id: I8a4d3eb02858d7ff8697067fdd6d246326c5f9af
| -rw-r--r-- | core/api/current.txt | 1 | ||||
| -rw-r--r-- | core/java/android/app/NotificationManager.java | 3 | ||||
| -rw-r--r-- | core/java/android/provider/Settings.java | 15 |
3 files changed, 19 insertions, 0 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index 67b328057efe..8a7e8113bf17 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -37429,6 +37429,7 @@ package android.provider { field public static final String ACTION_APPLICATION_SETTINGS = "android.settings.APPLICATION_SETTINGS"; field public static final String ACTION_APP_LOCALE_SETTINGS = "android.settings.APP_LOCALE_SETTINGS"; field public static final String ACTION_APP_NOTIFICATION_BUBBLE_SETTINGS = "android.settings.APP_NOTIFICATION_BUBBLE_SETTINGS"; + field @FlaggedApi("android.app.api_rich_ongoing") public static final String ACTION_APP_NOTIFICATION_PROMOTION_SETTINGS = "android.settings.APP_NOTIFICATION_PROMOTION_SETTINGS"; field public static final String ACTION_APP_NOTIFICATION_SETTINGS = "android.settings.APP_NOTIFICATION_SETTINGS"; field public static final String ACTION_APP_OPEN_BY_DEFAULT_SETTINGS = "android.settings.APP_OPEN_BY_DEFAULT_SETTINGS"; field public static final String ACTION_APP_SEARCH_SETTINGS = "android.settings.APP_SEARCH_SETTINGS"; diff --git a/core/java/android/app/NotificationManager.java b/core/java/android/app/NotificationManager.java index dfed1f738e44..41abd68c9924 100644 --- a/core/java/android/app/NotificationManager.java +++ b/core/java/android/app/NotificationManager.java @@ -958,6 +958,9 @@ public class NotificationManager { * Returns whether the calling app's properly formatted notifications can appear in a promoted * format, which may result in higher ranking, appearances on additional surfaces, and richer * presentation. + * + * Apps can request this permission by sending the user to the activity that matches the system + * intent action {@link android.provider.Settings#ACTION_APP_NOTIFICATION_PROMOTION_SETTINGS}. */ @FlaggedApi(android.app.Flags.FLAG_API_RICH_ONGOING) public boolean canPostPromotedNotifications() { diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index d82af55e2771..b84e3bdc0ac2 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -2367,6 +2367,21 @@ public final class Settings { "android.settings.ALL_APPS_NOTIFICATION_SETTINGS_FOR_REVIEW"; /** + * Activity Action: Show the permission screen for allowing apps to post promoted notifications. + * <p> + * Input: {@link #EXTRA_APP_PACKAGE}, the package to display. + * <p> + * In some cases, a matching Activity may not exist, so ensure you + * safeguard against this. + * <p> + * Output: Nothing. + */ + @FlaggedApi(android.app.Flags.FLAG_API_RICH_ONGOING) + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) + public static final String ACTION_APP_NOTIFICATION_PROMOTION_SETTINGS + = "android.settings.APP_NOTIFICATION_PROMOTION_SETTINGS"; + + /** * Activity Action: Show notification settings for a single app. * <p> * Input: {@link #EXTRA_APP_PACKAGE}, the package to display. |