From 993477cd8301e1a9a19ccdc10008bc23928faf08 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Mon, 19 May 2014 15:15:09 +0200 Subject: reworked roster/contact handling. might break some stuff. not sycing to disk yet --- src/eu/siacs/conversations/entities/Roster.java | 63 +++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/eu/siacs/conversations/entities/Roster.java (limited to 'src/eu/siacs/conversations/entities/Roster.java') diff --git a/src/eu/siacs/conversations/entities/Roster.java b/src/eu/siacs/conversations/entities/Roster.java new file mode 100644 index 000000000..7c18d80aa --- /dev/null +++ b/src/eu/siacs/conversations/entities/Roster.java @@ -0,0 +1,63 @@ +package eu.siacs.conversations.entities; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +public class Roster { + Account account; + HashMap contacts = new HashMap(); + private String version = null; + + public Roster(Account account) { + this.account = account; + } + + public boolean hasContact(String jid) { + String cleanJid = jid.split("/")[0]; + return contacts.containsKey(cleanJid); + } + + public Contact getContact(String jid) { + String cleanJid = jid.split("/")[0]; + if (contacts.containsKey(cleanJid)) { + return contacts.get(cleanJid); + } else { + Contact contact = new Contact(cleanJid); + contact.setAccount(account); + contacts.put(cleanJid, contact); + return contact; + } + } + + public void clearPresences() { + // TODO Auto-generated method stub + + } + + public void markAllAsNotInRoster() { + + } + + public List getContacts() { + return new ArrayList(this.contacts.values()); + } + + public void initContact(Contact contact) { + contact.setAccount(account); + contact.setOption(Contact.Options.IN_ROSTER); + contacts.put(contact.getJid(),contact); + } + + public void setVersion(String version) { + this.version = version; + } + + public String getVersion() { + return this.version; + } + + public Account getAccount() { + return this.account; + } +} -- cgit v1.2.3