Skip to content

Commit e4afe4c

Browse files
committed
Fixed a bug with add wrong emails to the database.
1 parent bf67463 commit e4afe4c

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

FlowCrypt/src/main/java/com/flowcrypt/email/ui/activity/fragment/base/CreateMessageFragment.java

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import android.net.Uri;
1414
import android.os.Bundle;
1515
import android.provider.OpenableColumns;
16+
import android.support.annotation.NonNull;
1617
import android.support.annotation.Nullable;
1718
import android.support.design.widget.Snackbar;
1819
import android.support.design.widget.TextInputLayout;
@@ -168,7 +169,7 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
168169
}
169170

170171
@Override
171-
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
172+
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
172173
return inflater.inflate(R.layout.fragment_create_message, container, false);
173174
}
174175

@@ -333,8 +334,8 @@ public Loader<LoaderResult> onCreateLoader(int id, Bundle args) {
333334
pgpContacts.clear();
334335
progressBarCheckContactsDetails.setVisibility(View.VISIBLE);
335336
isUpdatedInfoAboutContactCompleted = false;
336-
return new UpdateInfoAboutPgpContactsAsyncTaskLoader(getContext(),
337-
editTextRecipients.getChipAndTokenValues());
337+
List<String> emails = selectOnlyValidEmails(editTextRecipients.getChipAndTokenValues());
338+
return new UpdateInfoAboutPgpContactsAsyncTaskLoader(getContext(), emails);
338339

339340
case R.id.loader_id_load_email_aliases:
340341
return new LoadGmailAliasesLoader(getContext(), activeAccountDao);
@@ -498,6 +499,22 @@ public boolean isMessageSendingNow() {
498499
return isMessageSendingNow;
499500
}
500501

502+
/**
503+
* Remove not valid emails from the recipients list.
504+
*
505+
* @param emails The input list of recipients.
506+
* @return The list of valid emails.
507+
*/
508+
private List<String> selectOnlyValidEmails(List<String> emails) {
509+
List<String> validEmails = new ArrayList<>();
510+
for (String email : emails) {
511+
if (js.str_is_email_valid(email)) {
512+
validEmails.add(email);
513+
}
514+
}
515+
return validEmails;
516+
}
517+
501518
/**
502519
* Generate an outgoing message info from entered information by user.
503520
*

0 commit comments

Comments
 (0)