Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6c41e5c authored by shafik's avatar shafik
Browse files

Add Intent Actions to control OP_MANAGE_EXTERNAL_STORAGE

Adds 2 new intents that are intended to launch Settings activity that
control apps' ability to MANAGE_EXTERNAL_STORAGE.
ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION launches a generic activity
to control all apps that declared MANAGE_EXTERNAL_STORAGE permission.
Any app can launch this activity.

ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION launches an activity for a
specific app. Package name should be specified in the intent data as a
package-schemed URI.

Test: manual
Bug: 146425146
Change-Id: I232df1f61ec8e76b5b0233d202114c5b260fecb7
parent df1b6de0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -39474,7 +39474,9 @@ package android.provider {
    field public static final String ACTION_LOCALE_SETTINGS = "android.settings.LOCALE_SETTINGS";
    field public static final String ACTION_LOCATION_SOURCE_SETTINGS = "android.settings.LOCATION_SOURCE_SETTINGS";
    field public static final String ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS = "android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS";
    field public static final String ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION = "android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION";
    field public static final String ACTION_MANAGE_APPLICATIONS_SETTINGS = "android.settings.MANAGE_APPLICATIONS_SETTINGS";
    field public static final String ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION = "android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION";
    field public static final String ACTION_MANAGE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_DEFAULT_APPS_SETTINGS";
    field public static final String ACTION_MANAGE_OVERLAY_PERMISSION = "android.settings.action.MANAGE_OVERLAY_PERMISSION";
    field public static final String ACTION_MANAGE_UNKNOWN_APP_SOURCES = "android.settings.MANAGE_UNKNOWN_APP_SOURCES";
+36 −0
Original line number Diff line number Diff line
@@ -14399,6 +14399,42 @@ public final class Settings {
        android.Manifest.permission.SYSTEM_ALERT_WINDOW
    };
    /**
     * Activity Action: Show screen for controlling which apps have access to manage external
     * storage.
     * <p>
     * In some cases, a matching Activity may not exist, so ensure you safeguard against this.
     * <p>
     * If you want to control a specific app's access to manage external storage, use
     * {@link #ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION} instead.
     * <p>
     * Output: Nothing.
     * @see #ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION
     */
    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
    public static final String ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION =
            "android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION";
    /**
     * Activity Action: Show screen for controlling if the app specified in the data URI of the
     * intent can manage external storage.
     * <p>
     * Launching the corresponding activity requires the permission
     * {@link Manifest.permission#MANAGE_EXTERNAL_STORAGE}.
     * <p>
     * In some cases, a matching Activity may not exist, so ensure you safeguard against this.
     * <p>
     * Input: The Intent's data URI MUST specify the application package name whose ability of
     * managing external storage you want to control.
     * For example "package:com.my.app".
     * <p>
     * Output: Nothing.
     * @see #ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION
     */
    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
    public static final String ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION =
            "android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION";
    /**
     * Performs a strict and comprehensive check of whether a calling package is allowed to
     * write/modify system settings, as the condition differs for pre-M, M+, and