Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb312965 authored by Simranjit Kohli's avatar Simranjit Kohli Committed by Android Git Automerger
Browse files

am 301dfe08: Merge "[Fix getAccounts MANAGE_USERS permission]" into mnc-dev

* commit '301dfe08':
  [Fix getAccounts MANAGE_USERS permission]
parents 081905c5 301dfe08
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -2604,7 +2604,8 @@ public class AccountManagerService
            // Prune the list down to just the requested type.
            visibleAccountTypes = new ArrayList<>();
            visibleAccountTypes.add(type);
        } // else aggregate all the visible accounts (it won't matter if the list is empty).
        } // else aggregate all the visible accounts (it won't matter if the
          // list is empty).

        long identityToken = clearCallingIdentity();
        try {
@@ -3788,8 +3789,15 @@ public class AccountManagerService
    private List<String> getTypesForCaller(
            int callingUid, int userId, boolean isOtherwisePermitted) {
        List<String> managedAccountTypes = new ArrayList<>();
        long identityToken = Binder.clearCallingIdentity();
        Collection<RegisteredServicesCache.ServiceInfo<AuthenticatorDescription>> serviceInfos;
        try {
            serviceInfos = mAuthenticatorCache.getAllServices(userId);
        } finally {
            Binder.restoreCallingIdentity(identityToken);
        }
        for (RegisteredServicesCache.ServiceInfo<AuthenticatorDescription> serviceInfo :
                mAuthenticatorCache.getAllServices(userId)) {
                serviceInfos) {
            final int sigChk = mPackageManager.checkSignatures(serviceInfo.uid, callingUid);
            if (isOtherwisePermitted || sigChk == PackageManager.SIGNATURE_MATCH) {
                managedAccountTypes.add(serviceInfo.type.type);