diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2015-03-29 21:00:06 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2015-03-29 21:00:06 +0200 |
commit | 7ffb55faaa42b748c7742a11ba223f0ebed65622 (patch) | |
tree | 6552e89c381a7d72f7e0a5c84e97b06894dfe151 /OpenKeychain/src | |
parent | 95f1527afe81c59a116cadc2ed37c065da1819ac (diff) | |
parent | 6b48ddd71747bc5179861c25b6b327dae3321fca (diff) | |
download | open-keychain-7ffb55faaa42b748c7742a11ba223f0ebed65622.tar.gz open-keychain-7ffb55faaa42b748c7742a11ba223f0ebed65622.tar.bz2 open-keychain-7ffb55faaa42b748c7742a11ba223f0ebed65622.zip |
Merge branch 'development' into v/crypto-input-parcel
Diffstat (limited to 'OpenKeychain/src')
3 files changed, 42 insertions, 14 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/ImportKeyResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/ImportKeyResult.java index af9f67114..1438ad698 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/ImportKeyResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/ImportKeyResult.java @@ -162,7 +162,7 @@ public class ImportKeyResult extends OperationResult { if (isOkWithErrors()) { // definitely switch to warning-style message in this case! duration = 0; - style = Style.ERROR; + style = Style.WARN; str += " " + activity.getResources().getQuantityString( R.plurals.import_keys_with_errors, mBadKeys, mBadKeys); } @@ -175,7 +175,10 @@ public class ImportKeyResult extends OperationResult { ? R.string.import_error_nothing_cancelled : R.string.import_error_nothing); } else { - str = activity.getResources().getQuantityString(R.plurals.import_error, mBadKeys); + str = activity.getResources().getQuantityString( + R.plurals.import_error, + mBadKeys, + mBadKeys); } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyEmailFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyEmailFragment.java index 2e8a1f370..7e2e1c31c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyEmailFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyEmailFragment.java @@ -39,6 +39,7 @@ import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.ui.CreateKeyActivity.FragAction; import org.sufficientlysecure.keychain.ui.dialog.AddEmailDialogFragment; import org.sufficientlysecure.keychain.ui.dialog.SetPassphraseDialogFragment; +import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.ui.widget.EmailEditText; import java.util.ArrayList; @@ -122,16 +123,22 @@ public class CreateKeyEmailFragment extends Fragment { mEmailsRecyclerView.setItemAnimator(new DefaultItemAnimator()); // initial values - mAdditionalEmailModels = new ArrayList<>(); - if (mCreateKeyActivity.mAdditionalEmails != null) { - setAdditionalEmails(mCreateKeyActivity.mAdditionalEmails); - } - mEmailAdapter = new EmailAdapter(mAdditionalEmailModels, new View.OnClickListener() { - @Override - public void onClick(View v) { - addEmail(); + if (mAdditionalEmailModels == null) { + mAdditionalEmailModels = new ArrayList<>(); + if (mCreateKeyActivity.mAdditionalEmails != null) { + setAdditionalEmails(mCreateKeyActivity.mAdditionalEmails); } - }); + } + + if (mEmailAdapter == null) { + mEmailAdapter = new EmailAdapter(mAdditionalEmailModels, new View.OnClickListener() { + @Override + public void onClick(View v) { + addEmail(); + } + }); + } + mEmailsRecyclerView.setAdapter(mEmailAdapter); return view; @@ -144,10 +151,27 @@ public class CreateKeyEmailFragment extends Fragment { if (message.what == SetPassphraseDialogFragment.MESSAGE_OKAY) { Bundle data = message.getData(); + String email = data.getString(AddEmailDialogFragment.MESSAGE_DATA_EMAIL); + + if (email.length() > 0 && mEmailEdit.getText().length() > 0 && + email.equals(mEmailEdit.getText().toString())) { + Notify.create(getActivity(), + getString(R.string.create_key_email_already_exists_text), + Notify.LENGTH_LONG, Notify.Style.ERROR).show(); + return; + } + //check for duplicated emails inside the adapter + for (EmailAdapter.ViewModel model : mAdditionalEmailModels) { + if (email.equals(model.email)) { + Notify.create(getActivity(), + getString(R.string.create_key_email_already_exists_text), + Notify.LENGTH_LONG, Notify.Style.ERROR).show(); + return; + } + } + // add new user id - mEmailAdapter.add( - data.getString(AddEmailDialogFragment.MESSAGE_DATA_EMAIL) - ); + mEmailAdapter.add(email); } } }; diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index f6fbd132c..274504315 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -630,6 +630,7 @@ <string name="create_key_edit">"Change key configuration"</string> <string name="create_key_add_email">"Add email address"</string> <string name="create_key_add_email_text">"Additional email addresses are also associated to this key and can be used for secure communication."</string> + <string name="create_key_email_already_exists_text">"Email has already been added"</string> <!-- View key --> <string name="view_key_revoked">"Revoked: Key must not be used anymore!"</string> |