Merge "Use the AuthenticationView for outgoing" into ub-mail-master
This commit is contained in:
commit
78280d51db
|
@ -106,16 +106,9 @@
|
|||
android:id="@+id/account_require_login_settings_2"
|
||||
android:paddingTop="16dip"
|
||||
android:visibility="gone" >
|
||||
<TextView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_marginRight="16dip"
|
||||
android:text="@string/account_setup_outgoing_password_label" />
|
||||
<EditText
|
||||
android:id="@+id/account_password"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="textPassword"
|
||||
android:imeOptions="actionDone" />
|
||||
<com.android.email.activity.setup.AuthenticationView
|
||||
android:id="@+id/authentication_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
</TableRow>
|
||||
</TableLayout>
|
||||
|
|
|
@ -78,17 +78,9 @@
|
|||
android:imeOptions="actionDone"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent" />
|
||||
<TextView
|
||||
android:text="@string/account_setup_outgoing_password_label"
|
||||
android:layout_height="wrap_content"
|
||||
<com.android.email.activity.setup.AuthenticationView
|
||||
android:id="@+id/authentication_view"
|
||||
android:layout_width="match_parent"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorPrimary" />
|
||||
<EditText
|
||||
android:id="@+id/account_password"
|
||||
android:inputType="textPassword"
|
||||
android:imeOptions="actionDone"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent" />
|
||||
android:layout_height="wrap_content"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
|
|
@ -376,7 +376,7 @@ public class AccountSetupIncomingFragment extends AccountServerBaseFragment
|
|||
final Account account = mSetupData.getAccount();
|
||||
final HostAuth recvAuth = account.getOrCreateHostAuthRecv(mContext);
|
||||
mServiceInfo = EmailServiceUtils.getServiceInfo(mContext, recvAuth.mProtocol);
|
||||
mAuthenticationView.setAuthInfo(mServiceInfo, recvAuth);
|
||||
mAuthenticationView.setAuthInfo(mServiceInfo.offerOAuth, mServiceInfo.offerCerts, recvAuth);
|
||||
|
||||
final String username = recvAuth.mLogin;
|
||||
if (username != null) {
|
||||
|
|
|
@ -36,7 +36,10 @@ import android.widget.Spinner;
|
|||
|
||||
import com.android.email.R;
|
||||
import com.android.email.activity.UiUtilities;
|
||||
import com.android.email.activity.setup.AuthenticationView.AuthenticationCallback;
|
||||
import com.android.email.provider.AccountBackupRestore;
|
||||
import com.android.email.service.EmailServiceUtils;
|
||||
import com.android.email.service.EmailServiceUtils.EmailServiceInfo;
|
||||
import com.android.email2.ui.MailActivityEmail;
|
||||
import com.android.emailcommon.Logging;
|
||||
import com.android.emailcommon.provider.Account;
|
||||
|
@ -51,7 +54,7 @@ import com.android.mail.utils.LogUtils;
|
|||
* (for editing existing accounts).
|
||||
*/
|
||||
public class AccountSetupOutgoingFragment extends AccountServerBaseFragment
|
||||
implements OnCheckedChangeListener {
|
||||
implements OnCheckedChangeListener, AuthenticationCallback {
|
||||
|
||||
private final static String STATE_KEY_LOADED = "AccountSetupOutgoingFragment.loaded";
|
||||
|
||||
|
@ -59,7 +62,7 @@ public class AccountSetupOutgoingFragment extends AccountServerBaseFragment
|
|||
private static final int SMTP_PORT_SSL = 465;
|
||||
|
||||
private EditText mUsernameView;
|
||||
private EditText mPasswordView;
|
||||
private AuthenticationView mAuthenticationView;
|
||||
private EditText mServerView;
|
||||
private EditText mPortView;
|
||||
private CheckBox mRequireLoginView;
|
||||
|
@ -103,7 +106,7 @@ public class AccountSetupOutgoingFragment extends AccountServerBaseFragment
|
|||
final Context context = getActivity();
|
||||
|
||||
mUsernameView = UiUtilities.getView(view, R.id.account_username);
|
||||
mPasswordView = UiUtilities.getView(view, R.id.account_password);
|
||||
mAuthenticationView = UiUtilities.getView(view, R.id.authentication_view);
|
||||
mServerView = UiUtilities.getView(view, R.id.account_server);
|
||||
mPortView = UiUtilities.getView(view, R.id.account_port);
|
||||
mRequireLoginView = UiUtilities.getView(view, R.id.account_require_login);
|
||||
|
@ -162,7 +165,6 @@ public class AccountSetupOutgoingFragment extends AccountServerBaseFragment
|
|||
public void onTextChanged(CharSequence s, int start, int before, int count) { }
|
||||
};
|
||||
mUsernameView.addTextChangedListener(validationTextWatcher);
|
||||
mPasswordView.addTextChangedListener(validationTextWatcher);
|
||||
mServerView.addTextChangedListener(validationTextWatcher);
|
||||
mPortView.addTextChangedListener(validationTextWatcher);
|
||||
|
||||
|
@ -172,6 +174,8 @@ public class AccountSetupOutgoingFragment extends AccountServerBaseFragment
|
|||
// Additional setup only used while in "settings" mode
|
||||
onCreateViewSettingsMode(view);
|
||||
|
||||
mAuthenticationView.setAuthenticationCallback(this);
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
|
@ -274,10 +278,7 @@ public class AccountSetupOutgoingFragment extends AccountServerBaseFragment
|
|||
mRequireLoginView.setChecked(true);
|
||||
}
|
||||
|
||||
final String password = sendAuth.mPassword;
|
||||
if (password != null) {
|
||||
mPasswordView.setText(password);
|
||||
}
|
||||
mAuthenticationView.setAuthInfo(true, false, sendAuth);
|
||||
}
|
||||
|
||||
final int flags = sendAuth.mFlags & ~HostAuth.FLAG_AUTHENTICATE;
|
||||
|
@ -310,11 +311,9 @@ public class AccountSetupOutgoingFragment extends AccountServerBaseFragment
|
|||
|
||||
if (enabled && mRequireLoginView.isChecked()) {
|
||||
enabled = !TextUtils.isEmpty(mUsernameView.getText())
|
||||
&& !TextUtils.isEmpty(mPasswordView.getText());
|
||||
&& mAuthenticationView.getAuthValid();
|
||||
}
|
||||
enableNextButton(enabled);
|
||||
// Warn (but don't prevent) if password has leading/trailing spaces
|
||||
AccountSettingsUtils.checkPasswordSpaces(mContext, mPasswordView);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -368,7 +367,7 @@ public class AccountSetupOutgoingFragment extends AccountServerBaseFragment
|
|||
|
||||
if (mRequireLoginView.isChecked()) {
|
||||
final String userName = mUsernameView.getText().toString().trim();
|
||||
final String userPassword = mPasswordView.getText().toString();
|
||||
final String userPassword = mAuthenticationView.getPassword().toString();
|
||||
sendAuth.setLogin(userName, userPassword);
|
||||
} else {
|
||||
sendAuth.setLogin(null, null);
|
||||
|
@ -390,4 +389,9 @@ public class AccountSetupOutgoingFragment extends AccountServerBaseFragment
|
|||
mCallback.onProceedNext(SetupDataFragment.CHECK_OUTGOING, this);
|
||||
clearButtonBounce();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onValidateStateChanged() {
|
||||
validateFields();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
package com.android.email.activity.setup;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Fragment;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
|
@ -15,25 +13,20 @@ import android.util.AttributeSet;
|
|||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.EditText;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.email.R;
|
||||
import com.android.email.activity.UiUtilities;
|
||||
import com.android.email.service.EmailServiceUtils;
|
||||
import com.android.email.service.EmailServiceUtils.EmailServiceInfo;
|
||||
import com.android.email.view.CertificateSelector;
|
||||
import com.android.email.view.CertificateSelector.HostCallback;
|
||||
import com.android.email2.ui.MailActivityEmail;
|
||||
import com.android.emailcommon.Device;
|
||||
import com.android.emailcommon.Logging;
|
||||
import com.android.emailcommon.VendorPolicyLoader.OAuthProvider;
|
||||
import com.android.emailcommon.provider.Credential;
|
||||
import com.android.emailcommon.provider.HostAuth;
|
||||
import com.android.emailcommon.utility.CertificateRequestor;
|
||||
import com.android.mail.utils.LogUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
@ -184,9 +177,10 @@ public class AuthenticationView extends LinearLayout implements HostCallback, On
|
|||
}
|
||||
}
|
||||
|
||||
public void setAuthInfo(final EmailServiceInfo serviceInfo, final HostAuth hostAuth) {
|
||||
mOfferOAuth = serviceInfo.offerOAuth;
|
||||
mOfferCerts = serviceInfo.offerCerts;
|
||||
public void setAuthInfo(final boolean offerOAuth, final boolean offerCerts,
|
||||
final HostAuth hostAuth) {
|
||||
mOfferOAuth = offerOAuth;
|
||||
mOfferCerts = offerCerts;
|
||||
|
||||
if (mOfferOAuth) {
|
||||
final Credential cred = hostAuth.getCredential(getContext());
|
||||
|
|
Loading…
Reference in New Issue