From d716d89459f736402e74f3cfb2f20a71e50768f0 Mon Sep 17 00:00:00 2001 From: Tony Mantler Date: Fri, 17 Oct 2014 14:33:32 -0700 Subject: [PATCH] Don't assume mHostAuthRecv is loaded when checking outgoing b/18031180 Change-Id: I428021830db373145344a3477e1c5590e8062c10 --- .../setup/AccountCheckSettingsFragment.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/com/android/email/activity/setup/AccountCheckSettingsFragment.java b/src/com/android/email/activity/setup/AccountCheckSettingsFragment.java index 1a5636a88..1806b50cf 100644 --- a/src/com/android/email/activity/setup/AccountCheckSettingsFragment.java +++ b/src/com/android/email/activity/setup/AccountCheckSettingsFragment.java @@ -314,8 +314,8 @@ public class AccountCheckSettingsFragment extends Fragment { final SetupDataFragment mSetupData; final Account mAccount; final String mStoreHost; - final String mCheckEmail; final String mCheckPassword; + final String mCheckEmail; /** * Create task and parameterize it @@ -330,9 +330,14 @@ public class AccountCheckSettingsFragment extends Fragment { mMode = mode; mSetupData = setupData; mAccount = setupData.getAccount(); - mStoreHost = mAccount.mHostAuthRecv.mAddress; + if (mAccount.mHostAuthRecv != null) { + mStoreHost = mAccount.mHostAuthRecv.mAddress; + mCheckPassword = mAccount.mHostAuthRecv.mPassword; + } else { + mStoreHost = null; + mCheckPassword = null; + } mCheckEmail = mAccount.mEmailAddress; - mCheckPassword = mAccount.mHostAuthRecv.mPassword; } @Override @@ -411,11 +416,18 @@ public class AccountCheckSettingsFragment extends Fragment { } } - final String protocol = mAccount.mHostAuthRecv.mProtocol; - final EmailServiceInfo info = EmailServiceUtils.getServiceInfo(mContext, protocol); + final EmailServiceInfo info; + if (mAccount.mHostAuthRecv != null) { + final String protocol = mAccount.mHostAuthRecv.mProtocol; + info = EmailServiceUtils + .getServiceInfo(mContext, protocol); + } else { + info = null; + } // Check Outgoing Settings - if (info.usesSmtp && (mMode & SetupDataFragment.CHECK_OUTGOING) != 0) { + if ((info == null || info.usesSmtp) && + (mMode & SetupDataFragment.CHECK_OUTGOING) != 0) { if (isCancelled()) return null; LogUtils.d(Logging.LOG_TAG, "Begin check of outgoing email settings"); publishProgress(STATE_CHECK_OUTGOING);