diff --git a/core/java/android/accounts/AccountManager.java b/core/java/android/accounts/AccountManager.java index 632e4b9436265..0a9dc3a183750 100644 --- a/core/java/android/accounts/AccountManager.java +++ b/core/java/android/accounts/AccountManager.java @@ -2703,8 +2703,6 @@ public class AccountManager { * @@ -2792,8 +2790,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);