diff options
author | Svetoslav Ganov <svetoslavganov@google.com> | 2015-07-29 17:54:23 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-07-29 17:54:23 +0000 |
commit | 9352af2a9ef95e3f577a04474625249d3da62a04 (patch) | |
tree | b4f13ca45bea5c9fdac99b42dd91c7b948593e92 /core/java/android | |
parent | 6b96de8dae8be99f75c86c795672905e10fca153 (diff) | |
parent | f1b7f20bb839c96e8254ccb65398135f10fd45d9 (diff) | |
download | frameworks_base-9352af2a9ef95e3f577a04474625249d3da62a04.zip frameworks_base-9352af2a9ef95e3f577a04474625249d3da62a04.tar.gz frameworks_base-9352af2a9ef95e3f577a04474625249d3da62a04.tar.bz2 |
Merge "Remove dependencies on the package installer's package name" into mnc-dev
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/app/ApplicationPackageManager.java | 20 | ||||
-rw-r--r-- | core/java/android/content/pm/IPackageManager.aidl | 2 | ||||
-rw-r--r-- | core/java/android/content/pm/PackageManager.java | 22 |
3 files changed, 34 insertions, 10 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index 1fb0b2a..dbe91f9 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -110,6 +110,9 @@ final class ApplicationPackageManager extends PackageManager { @GuardedBy("mDelegates") private final ArrayList<MoveCallbackDelegate> mDelegates = new ArrayList<>(); + @GuardedBy("mLock") + private String mPermissionsControllerPackageName; + UserManager getUserManager() { synchronized (mLock) { if (mUserManager == null) { @@ -429,6 +432,23 @@ final class ApplicationPackageManager extends PackageManager { } } + /** + * @hide + */ + @Override + public String getPermissionControllerPackageName() { + synchronized (mLock) { + if (mPermissionsControllerPackageName == null) { + try { + mPermissionsControllerPackageName = mPM.getPermissionControllerPackageName(); + } catch (RemoteException e) { + throw new RuntimeException("Package manager has died", e); + } + } + return mPermissionsControllerPackageName; + } + } + @Override public boolean addPermission(PermissionInfo info) { try { diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl index bc24d67..0336645 100644 --- a/core/java/android/content/pm/IPackageManager.aidl +++ b/core/java/android/content/pm/IPackageManager.aidl @@ -505,4 +505,6 @@ interface IPackageManager { void grantDefaultPermissionsToEnabledCarrierApps(in String[] packageNames, int userId); boolean isPermissionRevokedByPolicy(String permission, String packageName, int userId); + + String getPermissionControllerPackageName(); } diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index cda5816..0f936fd 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -1876,14 +1876,6 @@ public abstract class PackageManager { "android.content.pm.action.REQUEST_PERMISSIONS"; /** - * The component name handling runtime permission grants. - * - * @hide - */ - public static final String GRANT_PERMISSIONS_PACKAGE_NAME = - "com.android.packageinstaller"; - - /** * The names of the requested permissions. * <p> * <strong>Type:</strong> String[] @@ -2431,7 +2423,17 @@ public abstract class PackageManager { * @return Whether the permission is restricted by policy. */ @CheckResult - public abstract boolean isPermissionRevokedByPolicy(String permName, String pkgName); + public abstract boolean isPermissionRevokedByPolicy(@NonNull String permName, + @NonNull String pkgName); + + /** + * Gets the package name of the component controlling runtime permissions. + * + * @return The package name. + * + * @hide + */ + public abstract String getPermissionControllerPackageName(); /** * Add a new dynamic permission to the system. For this to work, your @@ -2615,7 +2617,7 @@ public abstract class PackageManager { } Intent intent = new Intent(ACTION_REQUEST_PERMISSIONS); intent.putExtra(EXTRA_REQUEST_PERMISSIONS_NAMES, permissions); - intent.setPackage(GRANT_PERMISSIONS_PACKAGE_NAME); + intent.setPackage(getPermissionControllerPackageName()); return intent; } |