fixed roster items w/o subscription (request) not being shown

This commit is contained in:
Daniel Gultsch 2017-07-28 18:34:55 +02:00
parent ea6289c02e
commit ad601e47c8

View File

@ -59,16 +59,14 @@ public class IqParser extends AbstractParser implements OnIqPacketReceived {
contact.setServerName(name); contact.setServerName(name);
contact.parseGroupsFromElement(item); contact.parseGroupsFromElement(item);
} }
if (subscription != null) { if ("remove".equals(subscription)) {
if (subscription.equals("remove")) { contact.resetOption(Contact.Options.IN_ROSTER);
contact.resetOption(Contact.Options.IN_ROSTER); contact.resetOption(Contact.Options.DIRTY_DELETE);
contact.resetOption(Contact.Options.DIRTY_DELETE); contact.resetOption(Contact.Options.PREEMPTIVE_GRANT);
contact.resetOption(Contact.Options.PREEMPTIVE_GRANT); } else {
} else { contact.setOption(Contact.Options.IN_ROSTER);
contact.setOption(Contact.Options.IN_ROSTER); contact.resetOption(Contact.Options.DIRTY_PUSH);
contact.resetOption(Contact.Options.DIRTY_PUSH); contact.parseSubscriptionFromElement(item);
contact.parseSubscriptionFromElement(item);
}
} }
boolean both = contact.getOption(Contact.Options.TO) && contact.getOption(Contact.Options.FROM); boolean both = contact.getOption(Contact.Options.TO) && contact.getOption(Contact.Options.FROM);
if ((both != bothPre) && both) { if ((both != bothPre) && both) {