diff options
| author | Todd Kennedy <toddke@google.com> | 2019-07-02 07:35:15 -0700 |
|---|---|---|
| committer | Todd Kennedy <toddke@google.com> | 2019-07-02 13:17:05 -0700 |
| commit | 8f135982a868abb9365ca7bd86173ce214dc5019 (patch) | |
| tree | 598752b506183d043f1531fa39f1a1959efc76e2 /core/java/android/app/ContextImpl.java | |
| parent | b9914e06cc631bc0683fa88b2f6016db85ad06c3 (diff) | |
Create permission manager AIDL
Today, the package manager largely routes any permission related
method to the PermissionManagerService. But, PermissionManagerService
is a service in name only. Instead, we will make the
PermissionManagerService a real service and direct API calls directly
to it.
We will likely need to maintain all of the public permission APIs
that already exist on PackageManager. However, the public -> private
implementation will go directly to PermissionManagerService.
Bug: 135279435
Test: Manual. Device boots
Change-Id: Ia4992ba6d1f4b9050db98c7d7647d51a5d45fcbe
Diffstat (limited to 'core/java/android/app/ContextImpl.java')
| -rw-r--r-- | core/java/android/app/ContextImpl.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java index 41a4fba0434c..ef23d5e7a424 100644 --- a/core/java/android/app/ContextImpl.java +++ b/core/java/android/app/ContextImpl.java @@ -68,6 +68,7 @@ import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageManager; +import android.permission.IPermissionManager; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; @@ -297,10 +298,11 @@ class ContextImpl extends Context { return mPackageManager; } - IPackageManager pm = ActivityThread.getPackageManager(); - if (pm != null) { + final IPackageManager pm = ActivityThread.getPackageManager(); + final IPermissionManager permissionManager = ActivityThread.getPermissionManager(); + if (pm != null && permissionManager != null) { // Doesn't matter if we make more than one instance. - return (mPackageManager = new ApplicationPackageManager(this, pm)); + return (mPackageManager = new ApplicationPackageManager(this, pm, permissionManager)); } return null; |
