diff --git a/src/com/android/email/activity/setup/AccountSetupCredentialsFragment.java b/src/com/android/email/activity/setup/AccountSetupCredentialsFragment.java index 32979b936..ac0119cd8 100644 --- a/src/com/android/email/activity/setup/AccountSetupCredentialsFragment.java +++ b/src/com/android/email/activity/setup/AccountSetupCredentialsFragment.java @@ -50,7 +50,7 @@ import java.io.IOException; import java.util.List; public class AccountSetupCredentialsFragment extends AccountSetupFragment - implements OnClickListener, HostCallback { + implements OnClickListener, HostCallback, TextView.OnEditorActionListener { private static final int CERTIFICATE_REQUEST = 1000; @@ -146,24 +146,8 @@ public class AccountSetupCredentialsFragment extends AccountSetupFragment mClientCertificateSelector.setHostCallback(this); mClientCertificateSelector.setCertificate(getArguments().getString(EXTRA_CLIENT_CERT)); - TextView.OnEditorActionListener editorActionListener = - new TextView.OnEditorActionListener() { - @Override - public boolean onEditorAction(TextView view, int actionId, KeyEvent event) { - if (actionId == EditorInfo.IME_ACTION_DONE) { - final Callback callback = (Callback) getActivity(); - if (callback != null) { - final Bundle results = getCredentialResults(); - callback.onCredentialsComplete(results); - } - return true; - } else { - return false; - } - } - }; - mImapPasswordText.setOnEditorActionListener(editorActionListener); - mRegularPasswordText.setOnEditorActionListener(editorActionListener); + mImapPasswordText.setOnEditorActionListener(this); + mRegularPasswordText.setOnEditorActionListener(this); // After any text edits, call validateFields() which enables or disables the Next button mValidationTextWatcher = new TextWatcher() { @@ -326,6 +310,22 @@ public class AccountSetupCredentialsFragment extends AccountSetupFragment } } + @Override + public boolean onEditorAction(TextView view, int actionId, KeyEvent event) { + if (actionId == EditorInfo.IME_ACTION_DONE) { + if (isNextButtonEnabled()) { + final Callback callback = (Callback) getActivity(); + if (callback != null) { + final Bundle results = getCredentialResults(); + callback.onCredentialsComplete(results); + } + } + return true; + } else { + return false; + } + } + public String getPassword() { if (mOfferOAuth) { return mImapPasswordText.getText().toString(); diff --git a/src/com/android/email/activity/setup/AccountSetupFragment.java b/src/com/android/email/activity/setup/AccountSetupFragment.java index bf3a7ee3d..5eb941c0b 100644 --- a/src/com/android/email/activity/setup/AccountSetupFragment.java +++ b/src/com/android/email/activity/setup/AccountSetupFragment.java @@ -112,6 +112,11 @@ public class AccountSetupFragment extends Fragment implements View.OnClickListen } } + public boolean isNextButtonEnabled() { + return mNextButton.isEnabled(); + } + + /** * Set visibility of the "previous" button * @param visibility {@link View#INVISIBLE}, {@link View#VISIBLE}, {@link View#GONE}