Allow account setting screen without outbound hostauth.
We have a way to handle lack of outbound host auth, and it's a legitimate state for Exchange accounts (since it's unused anyway). Bug: 8631134 Change-Id: I99863f627c4f364e61f7a4b99dea3e2606a55275
This commit is contained in:
parent
229c070b0b
commit
9c45527779
@ -257,8 +257,7 @@ public class AccountSettingsFragment extends EmailPreferenceFragment
|
|||||||
// Because "delete policy" UI is on edit incoming settings, we have
|
// Because "delete policy" UI is on edit incoming settings, we have
|
||||||
// to refresh that as well.
|
// to refresh that as well.
|
||||||
Account refreshedAccount = Account.restoreAccountWithId(mContext, mAccount.mId);
|
Account refreshedAccount = Account.restoreAccountWithId(mContext, mAccount.mId);
|
||||||
if (refreshedAccount == null || mAccount.mHostAuthRecv == null
|
if (refreshedAccount == null || mAccount.mHostAuthRecv == null) {
|
||||||
|| mAccount.mHostAuthSend == null) {
|
|
||||||
mSaveOnExit = false;
|
mSaveOnExit = false;
|
||||||
mCallback.abandonEdit();
|
mCallback.abandonEdit();
|
||||||
return;
|
return;
|
||||||
@ -447,7 +446,7 @@ public class AccountSettingsFragment extends EmailPreferenceFragment
|
|||||||
HostAuth.restoreHostAuthWithId(mContext, account.mHostAuthKeyRecv);
|
HostAuth.restoreHostAuthWithId(mContext, account.mHostAuthKeyRecv);
|
||||||
account.mHostAuthSend =
|
account.mHostAuthSend =
|
||||||
HostAuth.restoreHostAuthWithId(mContext, account.mHostAuthKeySend);
|
HostAuth.restoreHostAuthWithId(mContext, account.mHostAuthKeySend);
|
||||||
if (account.mHostAuthRecv == null || account.mHostAuthSend == null) {
|
if (account.mHostAuthRecv == null) {
|
||||||
account = null;
|
account = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -798,7 +797,7 @@ public class AccountSettingsFragment extends EmailPreferenceFragment
|
|||||||
|
|
||||||
// Hide the outgoing account setup link if it's not activated
|
// Hide the outgoing account setup link if it's not activated
|
||||||
Preference prefOutgoing = findPreference(PREFERENCE_OUTGOING);
|
Preference prefOutgoing = findPreference(PREFERENCE_OUTGOING);
|
||||||
if (info.usesSmtp) {
|
if (info.usesSmtp && mAccount.mHostAuthSend != null) {
|
||||||
prefOutgoing.setOnPreferenceClickListener(
|
prefOutgoing.setOnPreferenceClickListener(
|
||||||
new Preference.OnPreferenceClickListener() {
|
new Preference.OnPreferenceClickListener() {
|
||||||
@Override
|
@Override
|
||||||
@ -809,6 +808,11 @@ public class AccountSettingsFragment extends EmailPreferenceFragment
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
if (info.usesSmtp) {
|
||||||
|
// We really ought to have an outgoing host auth but we don't.
|
||||||
|
// There's nothing we can do at this point, so just log the error.
|
||||||
|
LogUtils.e(Logging.LOG_TAG, "Account %d has a bad outbound hostauth", mAccount.mId);
|
||||||
|
}
|
||||||
PreferenceCategory serverCategory = (PreferenceCategory) findPreference(
|
PreferenceCategory serverCategory = (PreferenceCategory) findPreference(
|
||||||
PREFERENCE_CATEGORY_SERVER);
|
PREFERENCE_CATEGORY_SERVER);
|
||||||
serverCategory.removePreference(prefOutgoing);
|
serverCategory.removePreference(prefOutgoing);
|
||||||
|
Loading…
Reference in New Issue
Block a user