Add access tracker to renamed accounts am: b9f84fb6f4
am: 3efa214606
Change-Id: I2f977e6fad6cb068583b7406bc15ee48dfa9b288
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user