Add access tracker to renamed accounts

am: b9f84fb6f4

Change-Id: I3ab01b658a85fc828665abc56a5f10c0228de28e
This commit is contained in:
Svetoslav Ganov
2016-09-20 04:16:52 +00:00
committed by android-build-merger

View File

@@ -1562,8 +1562,10 @@ public class AccountManagerService
/*
* Database transaction was successful. Clean up cached
* data associated with the account in the user profile.
* The account is now being tracked for remote access.
*/
insertAccountIntoCacheLocked(accounts, renamedAccount);
renamedAccount = insertAccountIntoCacheLocked(accounts, renamedAccount);
/*
* Extract the data and token caches before removing the
* old account to preserve the user data associated with
@@ -5701,16 +5703,22 @@ public class AccountManagerService
/**
* This assumes that the caller has already checked that the account is not already present.
* IMPORTANT: The account being inserted will begin to be tracked for access in remote
* processes and if you will return this account to apps you should return the result.
* @return The inserted account which is a new instance that is being tracked.
*/
private void insertAccountIntoCacheLocked(UserAccounts accounts, Account account) {
private Account insertAccountIntoCacheLocked(UserAccounts accounts, Account account) {
Account[] accountsForType = accounts.accountCache.get(account.type);
int oldLength = (accountsForType != null) ? accountsForType.length : 0;
Account[] newAccountsForType = new Account[oldLength + 1];
if (accountsForType != null) {
System.arraycopy(accountsForType, 0, newAccountsForType, 0, oldLength);
}
newAccountsForType[oldLength] = new Account(account, new AccountAccessTracker());
IAccountAccessTracker accessTracker = account.getAccessTracker() != null
? account.getAccessTracker() : new AccountAccessTracker();
newAccountsForType[oldLength] = new Account(account, accessTracker);
accounts.accountCache.put(account.type, newAccountsForType);
return newAccountsForType[oldLength];
}
private Account[] filterSharedAccounts(UserAccounts userAccounts, Account[] unfiltered,