From 56b2910061ec76e1d7e3c9a80f4973eca70d17c8 Mon Sep 17 00:00:00 2001 From: Ishit Date: Wed, 1 Jul 2015 01:52:31 +0530 Subject: Fix for #1357 --- .../keychain/ui/CreateKeyPassphraseFragment.java | 54 ++++++++++++++++------ 1 file changed, 41 insertions(+), 13 deletions(-) (limited to 'OpenKeychain/src/main/java/org') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyPassphraseFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyPassphraseFragment.java index 3379e0a6d..7bf1af393 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyPassphraseFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyPassphraseFragment.java @@ -21,6 +21,8 @@ import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; +import android.text.Editable; +import android.text.TextWatcher; import android.text.method.HideReturnsTransformationMethod; import android.text.method.PasswordTransformationMethod; import android.view.LayoutInflater; @@ -79,19 +81,10 @@ public class CreateKeyPassphraseFragment extends Fragment { return output; } - private static boolean areEditTextsEqual(Context context, EditText editText1, EditText editText2) { + private static boolean areEditTextsEqual(EditText editText1, EditText editText2) { Passphrase p1 = new Passphrase(editText1); Passphrase p2 = new Passphrase(editText2); - boolean output = (p1.equals(p2)); - - if (!output) { - editText2.setError(context.getString(R.string.create_key_passphrases_not_equal)); - editText2.requestFocus(); - } else { - editText2.setError(null); - } - - return output; + return (p1.equals(p2)); } @Override @@ -137,6 +130,35 @@ public class CreateKeyPassphraseFragment extends Fragment { } }); + TextWatcher textWatcher = new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + if (!isEditTextNotEmpty(getActivity(), mPassphraseEdit)) { + mPassphraseEditAgain.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0); + return; + } + + if (areEditTextsEqual(mPassphraseEdit, mPassphraseEditAgain)) { + mPassphraseEditAgain.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_done_grey_24dp, 0); + } else { + mPassphraseEditAgain.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_close_grey_24dp, 0); + } + + } + + @Override + public void afterTextChanged(Editable s) { + + } + }; + + mPassphraseEdit.addTextChangedListener(textWatcher); + mPassphraseEditAgain.addTextChangedListener(textWatcher); return view; } @@ -153,9 +175,15 @@ public class CreateKeyPassphraseFragment extends Fragment { } private void nextClicked() { - if (isEditTextNotEmpty(getActivity(), mPassphraseEdit) - && areEditTextsEqual(getActivity(), mPassphraseEdit, mPassphraseEditAgain)) { + if (isEditTextNotEmpty(getActivity(), mPassphraseEdit)) { + + if (!areEditTextsEqual(mPassphraseEdit, mPassphraseEditAgain)) { + mPassphraseEditAgain.setError(getActivity().getApplicationContext().getString(R.string.create_key_passphrases_not_equal)); + mPassphraseEditAgain.requestFocus(); + return; + } + mPassphraseEditAgain.setError(null); // save state mCreateKeyActivity.mPassphrase = new Passphrase(mPassphraseEdit); -- cgit v1.2.3 From 51ac309bcf537f944c75bdc2415b411944e46b0a Mon Sep 17 00:00:00 2001 From: Ishit Date: Thu, 2 Jul 2015 20:13:50 +0530 Subject: Change PassphraseEditAgain status icons. --- .../sufficientlysecure/keychain/ui/CreateKeyPassphraseFragment.java | 4 ++-- .../java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'OpenKeychain/src/main/java/org') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyPassphraseFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyPassphraseFragment.java index 7bf1af393..b38d874d8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyPassphraseFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyPassphraseFragment.java @@ -144,9 +144,9 @@ public class CreateKeyPassphraseFragment extends Fragment { } if (areEditTextsEqual(mPassphraseEdit, mPassphraseEditAgain)) { - mPassphraseEditAgain.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_done_grey_24dp, 0); + mPassphraseEditAgain.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_stat_retyped_ok, 0); } else { - mPassphraseEditAgain.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_close_grey_24dp, 0); + mPassphraseEditAgain.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_stat_retyped_bad, 0); } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java index e55f6b1ad..494ccb6d3 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java @@ -75,10 +75,10 @@ public class EmailEditText extends AppCompatAutoCompleteTextView { Matcher emailMatcher = Patterns.EMAIL_ADDRESS.matcher(email); if (emailMatcher.matches()) { EmailEditText.this.setCompoundDrawablesWithIntrinsicBounds(0, 0, - R.drawable.uid_mail_ok, 0); + R.drawable.ic_stat_retyped_ok, 0); } else { EmailEditText.this.setCompoundDrawablesWithIntrinsicBounds(0, 0, - R.drawable.uid_mail_bad, 0); + R.drawable.ic_stat_retyped_bad, 0); } } else { // remove drawable if email is empty -- cgit v1.2.3