Don't assume mHostAuthRecv is loaded when checking outgoing

b/18031180

Change-Id: I428021830db373145344a3477e1c5590e8062c10
This commit is contained in:
Tony Mantler 2014-10-17 14:33:32 -07:00
parent 1182e1f932
commit d716d89459
1 changed files with 18 additions and 6 deletions

View File

@ -314,8 +314,8 @@ public class AccountCheckSettingsFragment extends Fragment {
final SetupDataFragment mSetupData; final SetupDataFragment mSetupData;
final Account mAccount; final Account mAccount;
final String mStoreHost; final String mStoreHost;
final String mCheckEmail;
final String mCheckPassword; final String mCheckPassword;
final String mCheckEmail;
/** /**
* Create task and parameterize it * Create task and parameterize it
@ -330,9 +330,14 @@ public class AccountCheckSettingsFragment extends Fragment {
mMode = mode; mMode = mode;
mSetupData = setupData; mSetupData = setupData;
mAccount = setupData.getAccount(); 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; mCheckEmail = mAccount.mEmailAddress;
mCheckPassword = mAccount.mHostAuthRecv.mPassword;
} }
@Override @Override
@ -411,11 +416,18 @@ public class AccountCheckSettingsFragment extends Fragment {
} }
} }
final String protocol = mAccount.mHostAuthRecv.mProtocol; final EmailServiceInfo info;
final EmailServiceInfo info = EmailServiceUtils.getServiceInfo(mContext, protocol); if (mAccount.mHostAuthRecv != null) {
final String protocol = mAccount.mHostAuthRecv.mProtocol;
info = EmailServiceUtils
.getServiceInfo(mContext, protocol);
} else {
info = null;
}
// Check Outgoing Settings // 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; if (isCancelled()) return null;
LogUtils.d(Logging.LOG_TAG, "Begin check of outgoing email settings"); LogUtils.d(Logging.LOG_TAG, "Begin check of outgoing email settings");
publishProgress(STATE_CHECK_OUTGOING); publishProgress(STATE_CHECK_OUTGOING);