diff options
| author | 2017-02-08 09:44:52 +0000 | |
|---|---|---|
| committer | 2017-02-08 09:44:56 +0000 | |
| commit | 74b16a1e6b87a4295598fa835e6577211e02fb0f (patch) | |
| tree | 83da9a065732a0ab2027a1b1247df50e06ed45f9 | |
| parent | c534f4ca8a6435dddccbf56b38931745855a8871 (diff) | |
| parent | f794c8dc1b62b3a54f3edcfc8031050d9486398a (diff) | |
Merge "GET_ACCOUNTS_PRIVILEGED permission check for Account Discovery API."
| -rw-r--r-- | services/core/java/com/android/server/accounts/AccountManagerService.java | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java index fdd7cb139204..fbc444026539 100644 --- a/services/core/java/com/android/server/accounts/AccountManagerService.java +++ b/services/core/java/com/android/server/accounts/AccountManagerService.java @@ -636,11 +636,10 @@ public class AccountManagerService return visibility; } - if (isPermittedForPackage(packageName, accounts.userId, - Manifest.permission.GET_ACCOUNTS_PRIVILEGED)) { - return AccountManager.VISIBILITY_VISIBLE; - } - // Profile owner gets visibility by default. + boolean isPrivileged = isPermittedForPackage(packageName, accounts.userId, + Manifest.permission.GET_ACCOUNTS_PRIVILEGED); + + // Device/Profile owner gets visibility by default. if (isProfileOwner(uid)) { return AccountManager.VISIBILITY_VISIBLE; } @@ -650,7 +649,7 @@ public class AccountManagerService boolean preO = isPreOApplication(packageName); if ((signatureCheckResult != SIGNATURE_CHECK_MISMATCH) || (preO && checkGetAccountsPermission(packageName, accounts.userId)) - || canReadContacts) { + || canReadContacts || isPrivileged) { // Use legacy for preO apps with GET_ACCOUNTS permission or pre/postO with signature // match. visibility = getAccountVisibility(account, |