Revert "introduce setting to ignore invites from strangers"

Stephen Paul Weber created

This reverts commit 3892015310cdeb92783cd2b90a6b320be7b0ce9c.

Change summary

src/main/java/eu/siacs/conversations/AppSettings.java                         |  7 
src/main/java/eu/siacs/conversations/parser/MessageParser.java                | 50 
src/main/java/eu/siacs/conversations/ui/XmppActivity.java                     |  9 
src/main/java/eu/siacs/conversations/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(-)

Detailed changes

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);

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;
         }
     }
 }

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;

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 {

src/main/res/values/defaults.xml 🔗

@@ -25,7 +25,6 @@
     <integer name="automatic_message_deletion">0</integer>
     <bool name="trust_system_ca_store">true</bool>
     <bool name="allow_message_correction">true</bool>
-    <bool name="accept_invites_from_strangers">true</bool>
     <bool name="use_tor">false</bool>
     <bool name="show_connection_options">false</bool>
     <bool name="display_enter_key">false</bool>

src/main/res/values/strings.xml 🔗

@@ -1066,7 +1066,5 @@
     <string name="pref_up_long_summary">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.</string>
     <string name="pref_large_font">Large font</string>
     <string name="pref_large_font_summary">Increase font size in message bubbles</string>
-    <string name="pref_accept_invites_from_strangers">Invites from strangers</string>
-    <string name="pref_accept_invites_from_strangers_summary">Accept invites to group chats from strangers</string>
 
 </resources>

src/main/res/xml/preferences_privacy.xml 🔗

@@ -15,8 +15,8 @@
             android:title="@string/pref_chat_states" />
         <SwitchPreferenceCompat
             android:defaultValue="@bool/last_activity"
-            android:icon="@drawable/ic_visibility_24dp"
             android:key="last_activity"
+            android:icon="@drawable/ic_visibility_24dp"
             android:summary="@string/pref_broadcast_last_activity_summary"
             android:title="@string/pref_broadcast_last_activity" />
         <SwitchPreferenceCompat
@@ -34,12 +34,7 @@
             android:key="allow_message_correction"
             android:summary="@string/pref_allow_message_correction_summary"
             android:title="@string/pref_allow_message_correction" />
-        <SwitchPreferenceCompat
-            android:defaultValue="@bool/accept_invites_from_strangers"
-            android:icon="@drawable/ic_domino_mask_24dp"
-            android:key="accept_invites_from_strangers"
-            android:summary="@string/pref_accept_invites_from_strangers_summary"
-            android:title="@string/pref_accept_invites_from_strangers" />
+
     </PreferenceCategory>
     <PreferenceCategory android:title="@string/pref_presence_settings">
         <SwitchPreferenceCompat