From 355a6d172371fecadff12d5b4853a1f36b35a01f Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Thu, 10 Jul 2014 23:49:34 +0200 Subject: dirty push / delete flags are not set/reset correctly --- src/eu/siacs/conversations/services/XmppConnectionService.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/eu/siacs/conversations/services/XmppConnectionService.java b/src/eu/siacs/conversations/services/XmppConnectionService.java index fb6297e7..6c652f8d 100644 --- a/src/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/eu/siacs/conversations/services/XmppConnectionService.java @@ -431,6 +431,7 @@ public class XmppConnectionService extends Service { contact.resetOption(Contact.Options.DIRTY_DELETE); } else { contact.setOption(Contact.Options.IN_ROSTER); + contact.resetOption(Contact.Options.DIRTY_PUSH); contact.parseSubscriptionFromElement(item); } } @@ -1263,6 +1264,7 @@ public class XmppConnectionService extends Service { public void pushContactToServer(Contact contact) { contact.resetOption(Contact.Options.DIRTY_DELETE); + contact.setOption(Contact.Options.DIRTY_PUSH); Account account = contact.getAccount(); if (account.getStatus() == Account.STATUS_ONLINE) { IqPacket iq = new IqPacket(IqPacket.TYPE_SET); @@ -1275,9 +1277,6 @@ public class XmppConnectionService extends Service { Log.d("xmppService", "contact had pending subscription"); sendPresenceUpdatesTo(contact); } - contact.resetOption(Contact.Options.DIRTY_PUSH); - } else { - contact.setOption(Contact.Options.DIRTY_PUSH); } } @@ -1291,7 +1290,6 @@ public class XmppConnectionService extends Service { item.setAttribute("jid", contact.getJid()); item.setAttribute("subscription", "remove"); account.getXmppConnection().sendIqPacket(iq, null); - contact.resetOption(Contact.Options.DIRTY_DELETE); } } -- cgit v1.2.3