Loading core/java/android/os/Environment.java +15 −5 Original line number Original line Diff line number Diff line Loading @@ -159,6 +159,8 @@ public class Environment { @UnsupportedAppUsage @UnsupportedAppUsage private static UserEnvironment sCurrentUser; private static UserEnvironment sCurrentUser; private static boolean sUserRequired; private static boolean sUserRequired; private static Boolean sLegacyStorageAppOp; private static Boolean sNoIsolatedStorageAppOp; static { static { initForCurrentUser(); initForCurrentUser(); Loading Loading @@ -1459,16 +1461,24 @@ public class Environment { final AppOpsManager appOps = context.getSystemService(AppOpsManager.class); final AppOpsManager appOps = context.getSystemService(AppOpsManager.class); final String opPackageName = context.getOpPackageName(); final String opPackageName = context.getOpPackageName(); if (appOps.noteOpNoThrow(AppOpsManager.OP_LEGACY_STORAGE, uid, if (sLegacyStorageAppOp == null) { opPackageName) == AppOpsManager.MODE_ALLOWED) { sLegacyStorageAppOp = return true; appOps.checkOpNoThrow(AppOpsManager.OP_LEGACY_STORAGE, uid, opPackageName) == AppOpsManager.MODE_ALLOWED; } if (sLegacyStorageAppOp) { return sLegacyStorageAppOp; } } // Legacy external storage access is granted to instrumentations invoked with // Legacy external storage access is granted to instrumentations invoked with // "--no-isolated-storage" flag. // "--no-isolated-storage" flag. return appOps.noteOpNoThrow(AppOpsManager.OP_NO_ISOLATED_STORAGE, uid, if (sNoIsolatedStorageAppOp == null) { sNoIsolatedStorageAppOp = appOps.checkOpNoThrow(AppOpsManager.OP_NO_ISOLATED_STORAGE, uid, opPackageName) == AppOpsManager.MODE_ALLOWED; opPackageName) == AppOpsManager.MODE_ALLOWED; } } return sNoIsolatedStorageAppOp; } private static boolean isScopedStorageEnforced(boolean defaultScopedStorage, private static boolean isScopedStorageEnforced(boolean defaultScopedStorage, boolean forceEnableScopedStorage) { boolean forceEnableScopedStorage) { Loading Loading
core/java/android/os/Environment.java +15 −5 Original line number Original line Diff line number Diff line Loading @@ -159,6 +159,8 @@ public class Environment { @UnsupportedAppUsage @UnsupportedAppUsage private static UserEnvironment sCurrentUser; private static UserEnvironment sCurrentUser; private static boolean sUserRequired; private static boolean sUserRequired; private static Boolean sLegacyStorageAppOp; private static Boolean sNoIsolatedStorageAppOp; static { static { initForCurrentUser(); initForCurrentUser(); Loading Loading @@ -1459,16 +1461,24 @@ public class Environment { final AppOpsManager appOps = context.getSystemService(AppOpsManager.class); final AppOpsManager appOps = context.getSystemService(AppOpsManager.class); final String opPackageName = context.getOpPackageName(); final String opPackageName = context.getOpPackageName(); if (appOps.noteOpNoThrow(AppOpsManager.OP_LEGACY_STORAGE, uid, if (sLegacyStorageAppOp == null) { opPackageName) == AppOpsManager.MODE_ALLOWED) { sLegacyStorageAppOp = return true; appOps.checkOpNoThrow(AppOpsManager.OP_LEGACY_STORAGE, uid, opPackageName) == AppOpsManager.MODE_ALLOWED; } if (sLegacyStorageAppOp) { return sLegacyStorageAppOp; } } // Legacy external storage access is granted to instrumentations invoked with // Legacy external storage access is granted to instrumentations invoked with // "--no-isolated-storage" flag. // "--no-isolated-storage" flag. return appOps.noteOpNoThrow(AppOpsManager.OP_NO_ISOLATED_STORAGE, uid, if (sNoIsolatedStorageAppOp == null) { sNoIsolatedStorageAppOp = appOps.checkOpNoThrow(AppOpsManager.OP_NO_ISOLATED_STORAGE, uid, opPackageName) == AppOpsManager.MODE_ALLOWED; opPackageName) == AppOpsManager.MODE_ALLOWED; } } return sNoIsolatedStorageAppOp; } private static boolean isScopedStorageEnforced(boolean defaultScopedStorage, private static boolean isScopedStorageEnforced(boolean defaultScopedStorage, boolean forceEnableScopedStorage) { boolean forceEnableScopedStorage) { Loading