diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationListActivity.java b/src/main/java/org/thoughtcrime/securesms/ConversationListActivity.java index 02c49f7ed..b02dbe696 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationListActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationListActivity.java @@ -86,7 +86,6 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit public static final String CLEAR_NOTIFICATIONS = "clear_notifications"; public static final String ACCOUNT_ID_EXTRA = "account_id"; public static final String FROM_WELCOME = "from_welcome"; - public static final String WARN_CANNOT_ENCRYPT = "warn_cannot_encrypt"; private ConversationListFragment conversationListFragment; public TextView title; @@ -275,11 +274,6 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit AccountManager.getInstance().switchAccountAndStartActivity(this, accountId); } - String warnAddr = getIntent().getStringExtra(WARN_CANNOT_ENCRYPT); - if (!TextUtils.isEmpty(warnAddr)) { - DcHelper.showEncryptionRequiredDialog(this, warnAddr); - } - refreshAvatar(); refreshUnreadIndicator(); refreshTitle(); diff --git a/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java b/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java index 8a624ae3d..f5a2967d4 100644 --- a/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java @@ -106,8 +106,6 @@ public class NewConversationActivity extends ContactSelectionActivity { int contactId = dcContext.lookupContactIdByAddr(addr); if (contactId!=0 && dcContext.getChatIdByContactId(contactId)!=0) { openConversation(dcContext.getChatIdByContactId(contactId)); - } else if (contactId == 0 && dcContext.isChatmail()) { - DcHelper.showEncryptionRequiredDialog(this, addr); } else { String nameNAddr = contactId == 0 ? addr : dcContext.getContact(contactId).getNameNAddr(); new AlertDialog.Builder(this) diff --git a/src/main/java/org/thoughtcrime/securesms/ShareActivity.java b/src/main/java/org/thoughtcrime/securesms/ShareActivity.java index 2c706b522..f798f78ea 100644 --- a/src/main/java/org/thoughtcrime/securesms/ShareActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/ShareActivity.java @@ -251,26 +251,18 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity implement } */ - String addr = null; if(chatId == -1 && extraEmail != null && extraEmail.length > 0) { - addr = extraEmail[0]; + final String addr = extraEmail[0]; int contactId = dcContext.lookupContactIdByAddr(addr); - if(contactId != 0 || !dcContext.isChatmail()) { - if(contactId == 0) { - contactId = dcContext.createContact(null, addr); - } - - chatId = dcContext.createChatByContactId(contactId); - addr = null; + if(contactId == 0) { + contactId = dcContext.createContact(null, addr); } + + chatId = dcContext.createChatByContactId(contactId); } Intent composeIntent; - if (addr != null) { - composeIntent = new Intent(this, ConversationListActivity.class); - composeIntent.putExtra(ConversationListActivity.WARN_CANNOT_ENCRYPT, addr); - startActivity(composeIntent); - } else if (chatId != -1) { + if (chatId != -1) { composeIntent = getBaseShareIntent(ConversationActivity.class); composeIntent.putExtra(ConversationActivity.CHAT_ID_EXTRA, chatId); RelayUtil.setSharedUris(composeIntent, resolvedExtras); diff --git a/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java b/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java index ab5900de6..cf18d2341 100644 --- a/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java +++ b/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java @@ -484,16 +484,6 @@ public class DcHelper { .show(); } - public static void showEncryptionRequiredDialog(Context context, String addr) { - new AlertDialog.Builder(context) - .setMessage(context.getString(R.string.encryption_required_for_new_contact, addr)) - .setNeutralButton(R.string.learn_more, (d, w) -> openHelp(context, "#howtoe2ee")) - .setNegativeButton(R.string.qrscan_title, (d, w) -> context.startActivity(new Intent(context, QrActivity.class))) - .setPositiveButton(R.string.ok, null) - .setCancelable(true) - .show(); - } - public static void openHelp(Context context, String section) { Intent intent = new Intent(context, LocalHelpActivity.class); if (section != null) { intent.putExtra(LocalHelpActivity.SECTION_EXTRA, section); } diff --git a/src/main/java/org/thoughtcrime/securesms/util/LongClickCopySpan.java b/src/main/java/org/thoughtcrime/securesms/util/LongClickCopySpan.java index cda3b41c2..3f8282b0d 100644 --- a/src/main/java/org/thoughtcrime/securesms/util/LongClickCopySpan.java +++ b/src/main/java/org/thoughtcrime/securesms/util/LongClickCopySpan.java @@ -58,18 +58,14 @@ public class LongClickCopySpan extends ClickableSpan { String addr = prepareUrl(url); Activity activity = (Activity) widget.getContext(); DcContext dcContext = DcHelper.getContext(activity); - int contactId = dcContext.lookupContactIdByAddr(addr); - DcContact contact = (contactId != 0)? dcContext.getContact(contactId) : null; - if (contact != null && !contact.isBlocked() && dcContext.getChatIdByContactId(contactId) != 0) { + DcContact contact = dcContext.getContact(dcContext.createContact(null, addr)); + if (contact.getId() != 0 && !contact.isBlocked() && dcContext.getChatIdByContactId(contact.getId()) != 0) { openChat(activity, contact); - } else if (contact == null && dcContext.isChatmail()) { - DcHelper.showEncryptionRequiredDialog(activity, addr); } else { - String nameNAddr = contact != null ? contact.getNameNAddr() : addr; new AlertDialog.Builder(activity) - .setMessage(activity.getString(R.string.ask_start_chat_with, nameNAddr)) + .setMessage(activity.getString(R.string.ask_start_chat_with, contact.getNameNAddr())) .setPositiveButton(android.R.string.ok, (dialog, which) -> { - openChat(activity, contact == null? dcContext.getContact(dcContext.createContact(null, addr)) : contact); + openChat(activity, contact); }) .setNegativeButton(R.string.cancel, null) .show(); diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 039bf980d..956557482 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -955,6 +955,7 @@ End-to-end encryption cannot be guaranteed anymore, likely because %1$s reinstalled Delta Chat or sent a message from another device.\n\nYou may meet them in person and scan their QR code again to reestablish guaranteed end-to-end encryption. ⚠️ %1$s requires end-to-end encryption which is not setup for this chat yet. Tap to learn more. To establish end-to-end-encryption, you may meet contacts in person and scan their QR Code to introduce them. + End-to-end encryption is required but it is not setup for %1$s yet.\n\nYou may share your invite link with them or meet in person and scan their QR Code. Learn More