diff --git a/api/current.txt b/api/current.txt index 0f4231d91bfb8..b7a951c39a629 100644 --- a/api/current.txt +++ b/api/current.txt @@ -34415,10 +34415,10 @@ package android.os { method @Deprecated public static String getStorageState(java.io.File); method public static boolean isExternalStorageEmulated(); method public static boolean isExternalStorageEmulated(@NonNull java.io.File); + method public static boolean isExternalStorageLegacy(); + method public static boolean isExternalStorageLegacy(@NonNull java.io.File); method public static boolean isExternalStorageRemovable(); method public static boolean isExternalStorageRemovable(@NonNull java.io.File); - method public static boolean isExternalStorageSandboxed(); - method public static boolean isExternalStorageSandboxed(@NonNull java.io.File); field public static String DIRECTORY_ALARMS; field public static String DIRECTORY_AUDIOBOOKS; field public static String DIRECTORY_DCIM; diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java index dde1e6a7f5f75..e85561c7cb9f1 100644 --- a/core/java/android/os/Environment.java +++ b/core/java/android/os/Environment.java @@ -1115,42 +1115,42 @@ public class Environment { } /** - * Returns whether the shared/external storage media at the given path is a - * sandboxed view that only contains files owned by the app. + * Returns whether the primary shared/external storage media is a legacy + * view that includes files not owned by the app. *
* This value may be different from the value requested by - * {@code allowExternalStorageSandbox} in the app's manifest, since an app - * may inherit its sandboxed state based on when it was first installed. + * {@code requestLegacyExternalStorage} in the app's manifest, since an app + * may inherit its legacy state based on when it was first installed. *
- * Sandboxed apps can continue to discover and read media belonging to other - * apps via {@link android.provider.MediaStore}. + * Non-legacy apps can continue to discover and read media belonging to + * other apps via {@link android.provider.MediaStore}. */ - public static boolean isExternalStorageSandboxed() { + public static boolean isExternalStorageLegacy() { final File externalDir = sCurrentUser.getExternalDirs()[0]; - return isExternalStorageSandboxed(externalDir); + return isExternalStorageLegacy(externalDir); } /** * Returns whether the shared/external storage media at the given path is a - * sandboxed view that only contains files owned by the app. + * legacy view that includes files not owned by the app. *
* This value may be different from the value requested by - * {@code allowExternalStorageSandbox} in the app's manifest, since an app - * may inherit its sandboxed state based on when it was first installed. + * {@code requestLegacyExternalStorage} in the app's manifest, since an app + * may inherit its legacy state based on when it was first installed. *
- * Sandboxed apps can continue to discover and read media belonging to other - * apps via {@link android.provider.MediaStore}. + * Non-legacy apps can continue to discover and read media belonging to + * other apps via {@link android.provider.MediaStore}. * * @throws IllegalArgumentException if the path is not a valid storage * device. */ - public static boolean isExternalStorageSandboxed(@NonNull File path) { + public static boolean isExternalStorageLegacy(@NonNull File path) { final Context context = AppGlobals.getInitialApplication(); final AppOpsManager appOps = context.getSystemService(AppOpsManager.class); return appOps.checkOpNoThrow(AppOpsManager.OP_LEGACY_STORAGE, context.getApplicationInfo().uid, - context.getOpPackageName()) != AppOpsManager.MODE_ALLOWED; + context.getOpPackageName()) == AppOpsManager.MODE_ALLOWED; } static File getDirectory(String variableName, String defaultPath) {