package xmpp.client.service.bookmark; import java.util.Collection; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smackx.bookmark.BookmarkManager; import org.jivesoftware.smackx.bookmark.BookmarkedConference; import xmpp.client.service.chat.multi.MultiChatInfo; import xmpp.client.service.chat.multi.MultiChatInfoList; public class ConferenceBookmarkHandler { BookmarkManager mBookmarkManager; public ConferenceBookmarkHandler(BookmarkManager bm) { mBookmarkManager = bm; } public void addConference(MultiChatInfo mucinfo) { try { mBookmarkManager.addBookmarkedConference(mucinfo.getName(), mucinfo.getJid(), mucinfo.isAutoJoin(), mucinfo.getNickname(), mucinfo.getPassword()); } catch (final XMPPException e) { throw new RuntimeException(e); } } public MultiChatInfo getMultiUserChatInfo(String id) { for (final MultiChatInfo mucinfo : getMultiUserChatInfoList()) { if (mucinfo.getJid().equalsIgnoreCase(id)) { return mucinfo; } } return null; } public MultiChatInfoList getMultiUserChatInfoList() { try { final Collection<BookmarkedConference> bcc = mBookmarkManager .getBookmarkedConferences(); final MultiChatInfoList list = new MultiChatInfoList(); for (final BookmarkedConference bc : bcc) { list.add(new MultiChatInfo(bc)); } return list; } catch (final XMPPException e) { throw new RuntimeException(e); } } }