From d637719051c78db2457089ccc503e35a8cfb83ff Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Thu, 25 Apr 2024 23:05:39 -0500 Subject: [PATCH] Revert "introduce setting to ignore invites from strangers" This reverts commit 3892015310cdeb92783cd2b90a6b320be7b0ce9c. --- .../eu/siacs/conversations/AppSettings.java | 7 --- .../conversations/parser/MessageParser.java | 50 +++++-------------- .../siacs/conversations/ui/XmppActivity.java | 9 ++-- .../ui/util/MucDetailsContextMenuHelper.java | 1 - src/main/res/values/defaults.xml | 1 - src/main/res/values/strings.xml | 2 - src/main/res/xml/preferences_privacy.xml | 9 +--- 7 files changed, 18 insertions(+), 61 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/AppSettings.java b/src/main/java/eu/siacs/conversations/AppSettings.java index 0916d1e1a7d178bce439bfbc1b66334acc4f5c2e..dde4ff8db8e6233c55565dbd404c06c7e0c059cc 100644 --- a/src/main/java/eu/siacs/conversations/AppSettings.java +++ b/src/main/java/eu/siacs/conversations/AppSettings.java @@ -44,8 +44,6 @@ public class AppSettings { public static final String COLORFUL_CHAT_BUBBLES = "use_green_background"; public static final String LARGE_FONT = "large_font"; - private static final String ACCEPT_INVITES_FROM_STRANGERS = "accept_invites_from_strangers"; - private final Context context; public AppSettings(final Context context) { @@ -109,11 +107,6 @@ public class AppSettings { return getBooleanPreference(USE_TOR, R.bool.use_tor); } - public boolean isAcceptInvitesFromStrangers() { - return getBooleanPreference( - ACCEPT_INVITES_FROM_STRANGERS, R.bool.accept_invites_from_strangers); - } - private boolean getBooleanPreference(@NonNull final String name, @BoolRes int res) { final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java index e893316cfab69323d364e4c31f0d2e14bffeb446..d98176a321fe42ddc22c6f437564fa67171b5dd4 100644 --- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java +++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java @@ -501,7 +501,7 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece if (selfAddressed) { counterpart = from; } else { - counterpart = to; + counterpart = to != null ? to : account.getJid(); } } else { status = Message.STATUS_RECEIVED; @@ -1311,48 +1311,22 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece if (this.jid == null) { return false; } - final Contact contact = - this.inviter != null ? account.getRoster().getContact(this.inviter) : null; + final Contact contact = this.inviter != null ? account.getRoster().getContact(this.inviter) : null; if (contact != null && contact.isBlocked()) { - Log.d( - Config.LOGTAG, - account.getJid().asBareJid() - + ": ignore invite from " - + contact.getJid() - + " because contact is blocked"); + Log.d(Config.LOGTAG,account.getJid().asBareJid()+": ignore invite from "+contact.getJid()+" because contact is blocked"); return false; } - final AppSettings appSettings = new AppSettings(mXmppConnectionService); - if ((contact != null && contact.showInContactList()) - || appSettings.isAcceptInvitesFromStrangers()) { - final Conversation conversation = - mXmppConnectionService.findOrCreateConversation(account, jid, true, false); - if (conversation.getMucOptions().online()) { - Log.d( - Config.LOGTAG, - account.getJid().asBareJid() - + ": received invite to " - + jid - + " but muc is considered to be online"); - mXmppConnectionService.mucSelfPingAndRejoin(conversation); - } else { - conversation.getMucOptions().setPassword(password); - mXmppConnectionService.databaseBackend.updateConversation(conversation); - mXmppConnectionService.joinMuc( - conversation, contact != null && contact.showInContactList()); - mXmppConnectionService.updateConversationUi(); - } - return true; + final Conversation conversation = mXmppConnectionService.findOrCreateConversation(account, jid, true, false); + if (conversation.getMucOptions().online()) { + Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": received invite to " + jid + " but muc is considered to be online"); + mXmppConnectionService.mucSelfPingAndRejoin(conversation); } else { - Log.d( - Config.LOGTAG, - account.getJid().asBareJid() - + ": ignoring invite from " - + this.inviter - + " because we are not accepting invites from strangers. direct=" - + direct); - return false; + conversation.getMucOptions().setPassword(password); + mXmppConnectionService.databaseBackend.updateConversation(conversation); + mXmppConnectionService.joinMuc(conversation, contact != null && contact.showInContactList()); + mXmppConnectionService.updateConversationUi(); } + return true; } } } diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java index 6baba10eefad5fd29b6387404ef6b1ef510ebdfe..812167ced768c60f8622512a4064bdbc8baa2275 100644 --- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java @@ -1054,15 +1054,14 @@ public abstract class XmppActivity extends ActionBarActivity { return invite; } - public boolean execute(final XmppActivity activity) { - final XmppConnectionService service = activity.xmppConnectionService; - final Conversation conversation = service.findConversationByUuid(this.uuid); + public boolean execute(XmppActivity activity) { + XmppConnectionService service = activity.xmppConnectionService; + Conversation conversation = service.findConversationByUuid(this.uuid); if (conversation == null) { return false; } if (conversation.getMode() == Conversation.MODE_MULTI) { - for (final Jid jid : jids) { - // TODO use direct invites for public conferences + for (Jid jid : jids) { service.invite(conversation, jid); } return false; diff --git a/src/main/java/eu/siacs/conversations/ui/util/MucDetailsContextMenuHelper.java b/src/main/java/eu/siacs/conversations/ui/util/MucDetailsContextMenuHelper.java index 9d690026f057d5938f72d77e81dfd505c990899d..7109324df18b811149da82f98b5e98c7d12b8e15 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/MucDetailsContextMenuHelper.java +++ b/src/main/java/eu/siacs/conversations/ui/util/MucDetailsContextMenuHelper.java @@ -289,7 +289,6 @@ public final class MucDetailsContextMenuHelper { activity.privateMsgInMuc(conversation, user.getName()); return true; case R.id.invite: - // TODO use direct invites for public conferences if (user.getAffiliation().ranks(MucOptions.Affiliation.MEMBER)) { activity.xmppConnectionService.directInvite(conversation, jid.asBareJid()); } else { diff --git a/src/main/res/values/defaults.xml b/src/main/res/values/defaults.xml index 0d542b3436222b190927d1afcae0bac16de3cd46..bd52defbeebd84475e3cba096dc9a975c491dbce 100644 --- a/src/main/res/values/defaults.xml +++ b/src/main/res/values/defaults.xml @@ -25,7 +25,6 @@ 0 true true - true false false false diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 8ea65a6c6af4047ef612cc5aff6a43c2b02a18fa..a8a34743bddedf68f699cbee520993b4db4176bb 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -1066,7 +1066,5 @@ When acting as a UnifiedPush Distributor the persistent, reliable and battery-friendly XMPP connection will be utilized to wake up other UnifiedPush compatible app such as Tusky, Ltt.rs, FluffyChat and more. Large font Increase font size in message bubbles - Invites from strangers - Accept invites to group chats from strangers diff --git a/src/main/res/xml/preferences_privacy.xml b/src/main/res/xml/preferences_privacy.xml index f59e3c2ba7461bf5ff23015ae89165073c91b67c..a0b2cff88312080d7edb7f87570333db7bda3dac 100644 --- a/src/main/res/xml/preferences_privacy.xml +++ b/src/main/res/xml/preferences_privacy.xml @@ -15,8 +15,8 @@ android:title="@string/pref_chat_states" /> - +