Prevent NPE when setting up a bad account.
Bug: 8349343
Change-Id: I07ce28e5d84b9c60f09fefc3e8f5dcf1b5224b95
diff --git a/src/com/android/exchange/ExchangeService.java b/src/com/android/exchange/ExchangeService.java
index f2604b6..0efa641 100644
--- a/src/com/android/exchange/ExchangeService.java
+++ b/src/com/android/exchange/ExchangeService.java
@@ -706,6 +706,11 @@
@Override
public void newAccount(long acctId) {
Account acct = Account.restoreAccountWithId(getContext(), acctId);
+ if (acct == null) {
+ // This account is in a bad state; don't create the mailbox.
+ Log.e(TAG, "Cannot initialize bad acctId: " + acctId);
+ return;
+ }
Mailbox main = new Mailbox();
main.mDisplayName = Eas.ACCOUNT_MAILBOX_PREFIX;
main.mServerId = Eas.ACCOUNT_MAILBOX_PREFIX + System.nanoTime();
@@ -738,7 +743,7 @@
return new EasSyncService(context, m);
}
}
-
+
@Override
public String getAccountsSelector() {
if (mEasAccountSelector == null) {