commit
1d6c09e8ff
|
@ -32,6 +32,7 @@ public class Contact implements ListItem {
|
||||||
protected String accountUuid;
|
protected String accountUuid;
|
||||||
protected String systemName;
|
protected String systemName;
|
||||||
protected String serverName;
|
protected String serverName;
|
||||||
|
protected String presenceName;
|
||||||
protected String jid;
|
protected String jid;
|
||||||
protected int subscription = 0;
|
protected int subscription = 0;
|
||||||
protected String systemAccount;
|
protected String systemAccount;
|
||||||
|
@ -76,6 +77,8 @@ public class Contact implements ListItem {
|
||||||
return this.systemName;
|
return this.systemName;
|
||||||
} else if (this.serverName != null) {
|
} else if (this.serverName != null) {
|
||||||
return this.serverName;
|
return this.serverName;
|
||||||
|
} else if (this.presenceName != null) {
|
||||||
|
return this.presenceName;
|
||||||
} else {
|
} else {
|
||||||
return this.jid.split("@")[0];
|
return this.jid.split("@")[0];
|
||||||
}
|
}
|
||||||
|
@ -175,6 +178,10 @@ public class Contact implements ListItem {
|
||||||
this.systemName = systemName;
|
this.systemName = systemName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPresenceName(String presenceName) {
|
||||||
|
this.presenceName = presenceName;
|
||||||
|
}
|
||||||
|
|
||||||
public String getSystemAccount() {
|
public String getSystemAccount() {
|
||||||
return systemAccount;
|
return systemAccount;
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ public class PresenceParser extends AbstractParser implements
|
||||||
if (packet.getFrom() == null) {
|
if (packet.getFrom() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String[] fromParts = packet.getFrom().split("/");
|
String[] fromParts = packet.getFrom().split("/", 2);
|
||||||
String type = packet.getAttribute("type");
|
String type = packet.getAttribute("type");
|
||||||
if (fromParts[0].equals(account.getJid())) {
|
if (fromParts[0].equals(account.getJid())) {
|
||||||
if (fromParts.length == 2) {
|
if (fromParts.length == 2) {
|
||||||
|
@ -60,7 +60,6 @@ public class PresenceParser extends AbstractParser implements
|
||||||
account.removePresence(fromParts[1]);
|
account.removePresence(fromParts[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Contact contact = account.getRoster().getContact(packet.getFrom());
|
Contact contact = account.getRoster().getContact(packet.getFrom());
|
||||||
if (type == null) {
|
if (type == null) {
|
||||||
|
@ -108,6 +107,10 @@ public class PresenceParser extends AbstractParser implements
|
||||||
contact.setOption(Contact.Options.PENDING_SUBSCRIPTION_REQUEST);
|
contact.setOption(Contact.Options.PENDING_SUBSCRIPTION_REQUEST);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Element nick = packet.findChild("nick", "http://jabber.org/protocol/nick");
|
||||||
|
if (nick != null) {
|
||||||
|
contact.setPresenceName(nick.getContent());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
mXmppConnectionService.updateRosterUi();
|
mXmppConnectionService.updateRosterUi();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue