From f5ffe89e736caee1419f0acb469565d5100b8fb8 Mon Sep 17 00:00:00 2001 From: Costin Manolache Date: Wed, 19 Jan 2011 09:35:32 -0800 Subject: [PATCH] Token cache was not reset on password change Bug: 3365443 Change-Id: I3e85c56810c0d71ddc82d3c6a1dcbba640444564 --- core/java/android/accounts/AccountManagerService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/java/android/accounts/AccountManagerService.java b/core/java/android/accounts/AccountManagerService.java index e6eaf71634aa6..2c99f14d2554d 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>(); + } + db.setTransactionSuccessful(); } finally { db.endTransaction();