diff --git a/core/java/android/accounts/AccountManager.java b/core/java/android/accounts/AccountManager.java index 4e18b34ff2f2e..1763acd4c15b2 100644 --- a/core/java/android/accounts/AccountManager.java +++ b/core/java/android/accounts/AccountManager.java @@ -2707,8 +2707,6 @@ public class AccountManager { * @@ -2796,8 +2794,6 @@ public class AccountManager { * diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java index bee7fdb398137..b697507947611 100644 --- a/services/core/java/com/android/server/accounts/AccountManagerService.java +++ b/services/core/java/com/android/server/accounts/AccountManagerService.java @@ -2852,10 +2852,9 @@ public class AccountManagerService boolean isPasswordForwardingAllowed = isPermitted( callerPkg, uid, Manifest.permission.GET_PASSWORD); - int usrId = UserHandle.getCallingUserId(); long identityToken = clearCallingIdentity(); try { - UserAccounts accounts = getUserAccounts(usrId); + UserAccounts accounts = getUserAccounts(userId); logRecordWithUid(accounts, DebugDbHelper.ACTION_CALLED_START_ACCOUNT_ADD, TABLE_ACCOUNTS, uid); new StartAccountSession( @@ -2916,10 +2915,6 @@ public class AccountManagerService checkKeyIntent( Binder.getCallingUid(), intent); - // Omit passwords if the caller isn't permitted to see them. - if (!mIsPasswordForwardingAllowed) { - result.remove(AccountManager.KEY_PASSWORD); - } } IAccountManagerResponse response; if (mExpectActivityLaunch && result != null @@ -2949,6 +2944,11 @@ public class AccountManagerService return; } + // Omit passwords if the caller isn't permitted to see them. + if (!mIsPasswordForwardingAllowed) { + result.remove(AccountManager.KEY_PASSWORD); + } + // Strip auth token from result. result.remove(AccountManager.KEY_AUTHTOKEN);