summaryrefslogtreecommitdiffstats
path: root/core/java/android/accounts
diff options
context:
space:
mode:
authorCostin Manolache <costin@google.com>2011-01-19 09:35:32 -0800
committerCostin Manolache <costin@google.com>2011-01-19 12:00:32 -0800
commitf5ffe89e736caee1419f0acb469565d5100b8fb8 (patch)
tree4686a7f264afd8327b824ee318869c8cada1d271 /core/java/android/accounts
parent34829553a803d37ae3555579f4aa130e652644d9 (diff)
downloadframeworks_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.java8
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();