Merge "Delete account from DE and CE databases" into nyc-dev am: a087d7f4fa am: de5521d049

am: b5a46631c9

* commit 'b5a46631c95c379c560f6d73a5c3ca074e08ad2c':
  Delete account from DE and CE databases

Change-Id: I62b7edd59d738ed46d9277ace4a34a9eecfeda62
This commit is contained in:
Fyodor Kupolov
2016-06-04 00:00:24 +00:00
committed by android-build-merger

View File

@@ -432,6 +432,7 @@ public class AccountManagerService
final HashMap<String, Integer> knownAuth = getAuthenticatorTypeAndUIDForUser(
mAuthenticatorCache, accounts.userId);
boolean userUnlocked = isLocalUnlockedUser(accounts.userId);
synchronized (accounts.cacheLock) {
final SQLiteDatabase db = accounts.openHelper.getWritableDatabase();
@@ -530,7 +531,18 @@ public class AccountManagerService
if (obsoleteAuthType.contains(accountType)) {
Slog.w(TAG, "deleting account " + accountName + " because type "
+ accountType + "'s registered authenticator no longer exist.");
db.delete(TABLE_ACCOUNTS, ACCOUNTS_ID + "=" + accountId, null);
db.beginTransaction();
try {
db.delete(TABLE_ACCOUNTS, ACCOUNTS_ID + "=" + accountId, null);
// Also delete from CE table if user is unlocked; if user is currently
// locked the account will be removed later by syncDeCeAccountsLocked
if (userUnlocked) {
db.delete(CE_TABLE_ACCOUNTS, ACCOUNTS_ID + "=" + accountId, null);
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
accountDeleted = true;
logRecord(db, DebugDbHelper.ACTION_AUTHENTICATOR_REMOVE, TABLE_ACCOUNTS,