Detailed changes
@@ -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);
@@ -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;
}
}
}
@@ -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;
@@ -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 {
@@ -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>
@@ -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>
@@ -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