diff --git a/core/java/android/accounts/AccountManagerService.java b/core/java/android/accounts/AccountManagerService.java index cc90b860d3380..dae38db128598 100644 --- a/core/java/android/accounts/AccountManagerService.java +++ b/core/java/android/accounts/AccountManagerService.java @@ -261,6 +261,7 @@ public class AccountManagerService accounts = new UserAccounts(mContext, userId); mUsers.append(userId, accounts); purgeOldGrants(accounts); + mAuthenticatorCache.invalidateCache(accounts.userId); validateAccountsAndPopulateCache(accounts); } return accounts; @@ -300,8 +301,6 @@ public class AccountManagerService } private void validateAccountsAndPopulateCache(UserAccounts accounts) { - mAuthenticatorCache.invalidateCache(accounts.userId); - final HashSet knownAuth = Sets.newHashSet(); for (RegisteredServicesCache.ServiceInfo service : mAuthenticatorCache.getAllServices(accounts.userId)) { diff --git a/core/tests/coretests/src/android/accounts/AccountManagerServiceTest.java b/core/tests/coretests/src/android/accounts/AccountManagerServiceTest.java index fd4454d42e846..84c995719a849 100644 --- a/core/tests/coretests/src/android/accounts/AccountManagerServiceTest.java +++ b/core/tests/coretests/src/android/accounts/AccountManagerServiceTest.java @@ -223,6 +223,10 @@ public class AccountManagerServiceTest extends AndroidTestCase { final RegisteredServicesCacheListener listener, final Handler handler) { } + + @Override + public void invalidateCache(int userId) { + } } static public class MyMockContext extends MockContext {