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

Commit 4bd6e9d0 authored by Abhijeet Kaur's avatar Abhijeet Kaur Committed by Android (Google) Code Review
Browse files

Merge "Move Scoped Storage compat flags definition to frameworks/base" into rvc-dev

parents 8b742599 14c5d835
Loading
Loading
Loading
Loading
+35 −3
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@ import android.app.AppGlobals;
import android.app.AppOpsManager;
import android.app.admin.DevicePolicyManager;
import android.compat.Compatibility;
import android.compat.annotation.ChangeId;
import android.compat.annotation.Disabled;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.content.Intent;
@@ -90,13 +92,43 @@ public class Environment {
            "/apex");

    /**
     * See definition in com.android.providers.media.LocalCallingIdentity
     * Scoped Storage is on by default. However, it is not strictly enforced and there are multiple
     * ways to opt out of scoped storage:
     * <ul>
     * <li>Target Sdk < Q</li>
     * <li>Target Sdk = Q and has `requestLegacyExternalStorage` set in AndroidManifest.xml</li>
     * <li>Target Sdk > Q: Upgrading from an app that was opted out of scoped storage and has
     * `preserveLegacyExternalStorage` set in AndroidManifest.xml</li>
     * </ul>
     * This flag is enabled for all apps by default as Scoped Storage is enabled by default.
     * Developers can disable this flag to opt out of Scoped Storage and have legacy storage
     * workflow.
     *
     * Note: {@code FORCE_ENABLE_SCOPED_STORAGE} should also be disabled for apps to opt out of
     * scoped storage.
     * Note: This flag is also used in {@code com.android.providers.media.LocalCallingIdentity}.
     * Any modifications to this flag should be reflected there as well.
     * See https://developer.android.com/training/data-storage#scoped-storage for more information.
     */
    @ChangeId
    private static final long DEFAULT_SCOPED_STORAGE = 149924527L;

    /**
     * See definition in com.android.providers.media.LocalCallingIdentity
     */
     * Setting this flag strictly enforces Scoped Storage regardless of:
     * <ul>
     * <li>The value of Target Sdk</li>
     * <li>The value of `requestLegacyExternalStorage` in AndroidManifest.xml</li>
     * <li>The value of `preserveLegacyExternalStorage` in AndroidManifest.xml</li>
     * </ul>
     *
     * Note: {@code DEFAULT_SCOPED_STORAGE} should also be enabled for apps to be enforced into
     * scoped storage.
     * Note: This flag is also used in {@code com.android.providers.media.LocalCallingIdentity}.
     * Any modifications to this flag should be reflected there as well.
     * See https://developer.android.com/training/data-storage#scoped-storage for more information.
     */
    @ChangeId
    @Disabled
    private static final long FORCE_ENABLE_SCOPED_STORAGE = 132649864L;

    @UnsupportedAppUsage