From e1c1629dbb93d277e0041f812472462e52a501db Mon Sep 17 00:00:00 2001 From: Nandana Dutt Date: Fri, 7 Feb 2020 10:52:26 +0000 Subject: [PATCH] Make legacy storage appop unsticky on upgrade to R Newly installed apps that target R are not in legacy storage. However an app that upgrades from a version that has legacy storage currently keeps the legacy access. Make it unsticky if new version targets R. BUG: 148944140 Test: atest RestrictedPermissionsTest Test: atest RestrictedStoragePermissionSharedUidTest Change-Id: If1fb226492bbaa747ed13908e49144c3a4aa4093 --- .../android/server/policy/SoftRestrictedPermissionPolicy.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java b/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java index 81ec46634e8ad..d7543805c2c6d 100644 --- a/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java +++ b/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java @@ -122,8 +122,9 @@ public abstract class SoftRestrictedPermissionPolicy { PackageManager pm = context.getPackageManager(); int flags = pm.getPermissionFlags(permission, appInfo.packageName, user); isWhiteListed = (flags & FLAGS_PERMISSION_RESTRICTION_ANY_EXEMPT) != 0; - shouldApplyRestriction = (flags & FLAG_PERMISSION_APPLY_RESTRICTION) != 0; targetSDK = getMinimumTargetSDK(context, appInfo, user); + shouldApplyRestriction = (flags & FLAG_PERMISSION_APPLY_RESTRICTION) != 0 + || targetSDK > Build.VERSION_CODES.Q; hasRequestedLegacyExternalStorage = hasUidRequestedLegacyExternalStorage( appInfo.uid, context); hasWriteMediaStorageGrantedForUid = hasWriteMediaStorageGrantedForUid(