diff options
| author | Costin Manolache <costin@google.com> | 2011-01-19 09:35:32 -0800 |
|---|---|---|
| committer | Costin Manolache <costin@google.com> | 2011-01-19 12:00:32 -0800 |
| commit | f5ffe89e736caee1419f0acb469565d5100b8fb8 (patch) | |
| tree | 4686a7f264afd8327b824ee318869c8cada1d271 /core/java/android/accounts | |
| parent | 34829553a803d37ae3555579f4aa130e652644d9 (diff) | |
| download | frameworks_base-f5ffe89e736caee1419f0acb469565d5100b8fb8.zip frameworks_base-f5ffe89e736caee1419f0acb469565d5100b8fb8.tar.gz frameworks_base-f5ffe89e736caee1419f0acb469565d5100b8fb8.tar.bz2 | |
Token cache was not reset on password change
Bug: 3365443
Change-Id: I3e85c56810c0d71ddc82d3c6a1dcbba640444564
Diffstat (limited to 'core/java/android/accounts')
| -rw-r--r-- | core/java/android/accounts/AccountManagerService.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/accounts/AccountManagerService.java b/core/java/android/accounts/AccountManagerService.java index e6eaf71..2c99f14 100644 --- a/core/java/android/accounts/AccountManagerService.java +++ b/core/java/android/accounts/AccountManagerService.java @@ -722,6 +722,9 @@ public class AccountManagerService final String[] argsAccountId = {String.valueOf(accountId)}; db.update(TABLE_ACCOUNTS, values, ACCOUNTS_ID + "=?", argsAccountId); db.delete(TABLE_AUTHTOKENS, AUTHTOKENS_ACCOUNTS_ID + "=?", argsAccountId); + synchronized (mCacheLock) { + mAuthTokenCache.remove(account); + } db.setTransactionSuccessful(); } } finally { @@ -1812,6 +1815,11 @@ public class AccountManagerService try { db.execSQL("DELETE from " + TABLE_AUTHTOKENS); db.execSQL("UPDATE " + TABLE_ACCOUNTS + " SET " + ACCOUNTS_PASSWORD + " = ''"); + + synchronized (mCacheLock) { + mAuthTokenCache = new HashMap<Account, HashMap<String, String>>(); + } + db.setTransactionSuccessful(); } finally { db.endTransaction(); |
