diff options
| author | Todd Kennedy <toddke@google.com> | 2019-07-02 14:49:28 -0700 |
|---|---|---|
| committer | Todd Kennedy <toddke@google.com> | 2019-07-03 10:14:09 -0700 |
| commit | 1d29b4af0b0989db39fee968166a7b6384a4b7c0 (patch) | |
| tree | 40d268cb50d1df7d4d7e3d5328df5bb67129c987 /core/java/android/app/ApplicationPackageManager.java | |
| parent | 8f135982a868abb9365ca7bd86173ce214dc5019 (diff) | |
Move permission info queries
Now begins the parade of methods that can be migrated to the
permission manager service and be removed from the package
manager service.
We will still need to maintain some sub-set of APIs in the
package manager service due to unsupported app usage. When
we finally no longer support these AIDL methods, they can
be removed from package manager service.
Bug: 135279435
Test: Manual. Builds and runs
Change-Id: If12609ffdaeb75445d3ec9bcc7f946b8829ba769
Diffstat (limited to 'core/java/android/app/ApplicationPackageManager.java')
| -rw-r--r-- | core/java/android/app/ApplicationPackageManager.java | 81 |
1 files changed, 40 insertions, 41 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index 1c123dec1c10..2feede0b92ba 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -321,30 +321,60 @@ public class ApplicationPackageManager extends PackageManager { } @Override - public PermissionInfo getPermissionInfo(String name, int flags) + @SuppressWarnings("unchecked") + public List<PermissionGroupInfo> getAllPermissionGroups(int flags) { + try { + final ParceledListSlice<PermissionGroupInfo> parceledList = + mPermissionManager.getAllPermissionGroups(flags); + if (parceledList == null) { + return Collections.emptyList(); + } + return parceledList.getList(); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + @Override + public PermissionGroupInfo getPermissionGroupInfo(String groupName, int flags) throws NameNotFoundException { try { - PermissionInfo pi = mPM.getPermissionInfo(name, - mContext.getOpPackageName(), flags); + final PermissionGroupInfo pgi = + mPermissionManager.getPermissionGroupInfo(groupName, flags); + if (pgi != null) { + return pgi; + } + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + throw new NameNotFoundException(groupName); + } + + @Override + public PermissionInfo getPermissionInfo(String permName, int flags) + throws NameNotFoundException { + try { + final String packageName = mContext.getOpPackageName(); + final PermissionInfo pi = + mPermissionManager.getPermissionInfo(permName, packageName, flags); if (pi != null) { return pi; } } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } - - throw new NameNotFoundException(name); + throw new NameNotFoundException(permName); } @Override @SuppressWarnings("unchecked") - public List<PermissionInfo> queryPermissionsByGroup(String group, int flags) + public List<PermissionInfo> queryPermissionsByGroup(String groupName, int flags) throws NameNotFoundException { try { - ParceledListSlice<PermissionInfo> parceledList = - mPM.queryPermissionsByGroup(group, flags); + final ParceledListSlice<PermissionInfo> parceledList = + mPermissionManager.queryPermissionsByGroup(groupName, flags); if (parceledList != null) { - List<PermissionInfo> pi = parceledList.getList(); + final List<PermissionInfo> pi = parceledList.getList(); if (pi != null) { return pi; } @@ -352,8 +382,7 @@ public class ApplicationPackageManager extends PackageManager { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } - - throw new NameNotFoundException(group); + throw new NameNotFoundException(groupName); } @Override @@ -369,36 +398,6 @@ public class ApplicationPackageManager extends PackageManager { } @Override - public PermissionGroupInfo getPermissionGroupInfo(String name, - int flags) throws NameNotFoundException { - try { - PermissionGroupInfo pgi = mPM.getPermissionGroupInfo(name, flags); - if (pgi != null) { - return pgi; - } - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } - - throw new NameNotFoundException(name); - } - - @Override - @SuppressWarnings("unchecked") - public List<PermissionGroupInfo> getAllPermissionGroups(int flags) { - try { - ParceledListSlice<PermissionGroupInfo> parceledList = - mPM.getAllPermissionGroups(flags); - if (parceledList == null) { - return Collections.emptyList(); - } - return parceledList.getList(); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } - } - - @Override public ApplicationInfo getApplicationInfo(String packageName, int flags) throws NameNotFoundException { return getApplicationInfoAsUser(packageName, flags, getUserId()); |
