From 7c3b70bd08a85b6bf367c98ed5502df14c49a4ba Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Mon, 5 Feb 2024 23:49:51 -0800 Subject: Intent API for background restriction settings The intent allows developers to request the user to unrestrict an app that has background restrictions set on it. Bug: 323201239 Test: atest ActivityManagerTest Change-Id: I8af7b45f4b096e5415808e6f6323f61e1db92f51 --- core/api/current.txt | 1 + core/java/android/provider/Settings.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/core/api/current.txt b/core/api/current.txt index 3fde9a69c5fb..83bd48d5cb93 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -36923,6 +36923,7 @@ package android.provider { field public static final String ACTION_APP_USAGE_SETTINGS = "android.settings.action.APP_USAGE_SETTINGS"; field @FlaggedApi("android.app.modes_api") public static final String ACTION_AUTOMATIC_ZEN_RULE_SETTINGS = "android.settings.AUTOMATIC_ZEN_RULE_SETTINGS"; field public static final String ACTION_AUTO_ROTATE_SETTINGS = "android.settings.AUTO_ROTATE_SETTINGS"; + field @FlaggedApi("android.app.app_restrictions_api") public static final String ACTION_BACKGROUND_RESTRICTIONS_SETTINGS = "android.settings.BACKGROUND_RESTRICTIONS_SETTINGS"; field public static final String ACTION_BATTERY_SAVER_SETTINGS = "android.settings.BATTERY_SAVER_SETTINGS"; field public static final String ACTION_BIOMETRIC_ENROLL = "android.settings.BIOMETRIC_ENROLL"; field public static final String ACTION_BLUETOOTH_SETTINGS = "android.settings.BLUETOOTH_SETTINGS"; diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index e782703b1b10..4831a57f8dc1 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -1533,6 +1533,23 @@ public final class Settings { public static final String ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS = "android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"; + /** + * Activity Action: Show screen for controlling any background restrictions imposed on + * an app. If the system returns true for + * {@link android.app.ActivityManager#isBackgroundRestricted()}, and the app is not able to + * satisfy user requests due to being restricted in the background, then this intent can be + * used to request the user to unrestrict the app. + *

+ * Input: The Intent's data URI must specify the application package name + * to be shown, with the "package" scheme, such as "package:com.my.app". + *

+ * Output: Nothing. + */ + @FlaggedApi(android.app.Flags.FLAG_APP_RESTRICTIONS_API) + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) + public static final String ACTION_BACKGROUND_RESTRICTIONS_SETTINGS = + "android.settings.BACKGROUND_RESTRICTIONS_SETTINGS"; + /** * Activity Action: Open the advanced power usage details page of an associated app. *

-- cgit v1.2.3-59-g8ed1b