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 New Issue
	
	 Daniel Gultsch
						Daniel Gultsch