diff options
author | iNPUTmice <daniel@gultsch.de> | 2014-07-10 23:49:34 +0200 |
---|---|---|
committer | iNPUTmice <daniel@gultsch.de> | 2014-07-10 23:49:34 +0200 |
commit | 355a6d172371fecadff12d5b4853a1f36b35a01f (patch) | |
tree | 9b05c207fe5c9f768bb4db03a68a879d7afcab9d | |
parent | 0078aee3434aeb9526658109935146575e954539 (diff) |
dirty push / delete flags are not set/reset correctly
-rw-r--r-- | src/eu/siacs/conversations/services/XmppConnectionService.java | 6 |
1 files 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); } } |