diff --git a/core/java/android/permission/IPermissionManager.aidl b/core/java/android/permission/IPermissionManager.aidl index 9855a9a98cfb7..a94077dd7ad67 100644 --- a/core/java/android/permission/IPermissionManager.aidl +++ b/core/java/android/permission/IPermissionManager.aidl @@ -87,10 +87,6 @@ interface IPermissionManager { void revokeDefaultPermissionsFromLuiApps(in String[] packageNames, int userId); - void setPermissionEnforced(String permName, boolean enforced); - - boolean isPermissionEnforced(String permName); - boolean shouldShowRequestPermissionRationale(String permName, String packageName, int userId); diff --git a/services/core/java/android/content/pm/PackageManagerInternal.java b/services/core/java/android/content/pm/PackageManagerInternal.java index 6989e320f4653..53bfcec11a60c 100644 --- a/services/core/java/android/content/pm/PackageManagerInternal.java +++ b/services/core/java/android/content/pm/PackageManagerInternal.java @@ -949,9 +949,6 @@ public abstract class PackageManagerInternal { /** Returns whether or not permissions need to be upgraded for the given user */ public abstract boolean isPermissionUpgradeNeeded(@UserIdInt int userId); - /** Sets the enforcement of reading external storage */ - public abstract void setReadExternalStorageEnforced(boolean enforced); - /** * Allows the integrity component to respond to the * {@link Intent#ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION package verification diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 91b41f87c0ad2..b13de35df7f3a 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -25884,18 +25884,6 @@ public class PackageManagerService extends IPackageManager.Stub } } - @Override - public void setReadExternalStorageEnforced(boolean enforced) { - synchronized (mLock) { - if (mSettings.mReadExternalStorageEnforced != null - && mSettings.mReadExternalStorageEnforced == enforced) { - return; - } - mSettings.mReadExternalStorageEnforced = enforced ? Boolean.TRUE : Boolean.FALSE; - writeSettingsLPrTEMP(); - } - } - @Override public void setIntegrityVerificationResult(int verificationId, int verificationResult) { final Message msg = mHandler.obtainMessage(INTEGRITY_VERIFICATION_COMPLETE); diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java index fa100dca0efab..318b2293a13a8 100644 --- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java +++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java @@ -2324,7 +2324,7 @@ class PackageManagerShellCommand extends ShellCommand { getErrPrintWriter().println("Error: no enforcement specified"); return 1; } - mPermissionManager.setPermissionEnforced(permission, Boolean.parseBoolean(enforcedRaw)); + // Permissions are always enforced now. return 0; } diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index cb4c6a9fd564f..2d5034e624cd8 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -362,8 +362,6 @@ public final class Settings { } } - Boolean mReadExternalStorageEnforced; - /** Device identity for the purpose of package verification. */ private VerifierDeviceIdentity mVerifierDeviceIdentity; @@ -2342,13 +2340,6 @@ public final class Settings { serializer.endTag(null, "verifier"); } - if (mReadExternalStorageEnforced != null) { - serializer.startTag(null, TAG_READ_EXTERNAL_STORAGE); - serializer.attribute( - null, ATTR_ENFORCEMENT, mReadExternalStorageEnforced ? "1" : "0"); - serializer.endTag(null, TAG_READ_EXTERNAL_STORAGE); - } - serializer.startTag(null, "permission-trees"); mPermissions.writePermissionTrees(serializer); serializer.endTag(null, "permission-trees"); @@ -2959,9 +2950,7 @@ public final class Settings { + e.getMessage()); } } else if (TAG_READ_EXTERNAL_STORAGE.equals(tagName)) { - final String enforcement = parser.getAttributeValue(null, ATTR_ENFORCEMENT); - mReadExternalStorageEnforced = - "1".equals(enforcement) ? Boolean.TRUE : Boolean.FALSE; + // No longer used. } else if (tagName.equals("keyset-settings")) { mKeySetManagerService.readKeySetsLPw(parser, mKeySetRefs); } else if (TAG_VERSION.equals(tagName)) { @@ -4900,8 +4889,7 @@ public final class Settings { DumpState dumpState) { LegacyPermissionSettings.dumpPermissions(pw, packageName, permissionNames, mPermissionDataProvider.getLegacyPermissions(), - mPermissionDataProvider.getAllAppOpPermissionPackages(), - (mReadExternalStorageEnforced == Boolean.TRUE), dumpState); + mPermissionDataProvider.getAllAppOpPermissionPackages(), true, dumpState); } void dumpSharedUsersLPr(PrintWriter pw, String packageName, ArraySet permissionNames, diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java index 4847504abd417..fe461b2147a55 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java @@ -2061,38 +2061,6 @@ public class PermissionManagerService extends IPermissionManager.Stub { .revokeDefaultPermissionsFromLuiApps(packageNames, userId)); } - @Override - public void setPermissionEnforced(String permName, boolean enforced) { - // TODO: Now that we no longer change GID for storage, this should to away. - mContext.enforceCallingOrSelfPermission(Manifest.permission.GRANT_RUNTIME_PERMISSIONS, - "setPermissionEnforced"); - if (READ_EXTERNAL_STORAGE.equals(permName)) { - mPackageManagerInt.setReadExternalStorageEnforced(enforced); - // kill any non-foreground processes so we restart them and - // grant/revoke the GID. - final IActivityManager am = ActivityManager.getService(); - if (am != null) { - final long token = Binder.clearCallingIdentity(); - try { - am.killProcessesBelowForeground("setPermissionEnforcement"); - } catch (RemoteException e) { - } finally { - Binder.restoreCallingIdentity(token); - } - } - } else { - throw new IllegalArgumentException("No selective enforcement for " + permName); - } - } - - /** @deprecated */ - @Override - @Deprecated - public boolean isPermissionEnforced(String permName) { - // allow instant applications - return true; - } - /** * This change makes it so that apps are told to show rationale for asking for background * location access every time they request.