diff options
author | Alan Young <consult.awy@gmail.com> | 2014-11-13 06:42:37 (GMT) |
---|---|---|
committer | Alan Young <consult.awy@gmail.com> | 2015-04-10 06:50:58 (GMT) |
commit | 7d2101b93b6253c3ea15b663f7f3dc385cb21364 (patch) | |
tree | d81338baf0d117e83cdc07f882cbedd9471e834d /src/com/isode/stroke/muc | |
parent | a20ca7ba40d837abe228462be0aba5d32d6831e3 (diff) | |
download | stroke-7d2101b93b6253c3ea15b663f7f3dc385cb21364.zip stroke-7d2101b93b6253c3ea15b663f7f3dc385cb21364.tar.bz2 |
Checkpoint - A bunch of initial stuff for Android
MemoryStorages, Storages
NickManager, NickResolver
CryptoProvider, Hash, SafeByteArray, JavaCryptoProvider
CapsInfoGenerator, CapsManager, CapsMemoryStorage, CapsProvider,
CapsStorage, CapsInfo
CapsInfoSerializer, CapsInfoParser
ClientDiscoManager, DiscoInfoResponder, EntityCapsManager,
EntityCapsProvider
GetDiscoInfoRequest
ChatState, Idle
Presence, PayloadAddingPresenceSender, PresenceOracle,
SubscriptionManager
StatusSerializer, StatusShowSerializer, StatusParser, StatusShowParser,
Replace, ReplaceParser, ReplaceSerializer
SecurityLabel, SecurityLabelsCatalog, GetSecurityLabelsCatalogRequest
VCard, GetVCardRequest, SetVCardRequest, VCardManager,
VCardMemoryStorage, VCardStorage
RosterMemoryStorage, RosterPushResponder, RosterStorage,
SetRosterRequest
XMPPRoster, XMPPRosterController, XMPPRosterImpl, XMPPRosterItem
GetRosterRequest, SetResponder
Add parsers and serializers for Idle, VCard, PrivateStorage & Stroage.
Add
parser for Subject.
Add impromptu flag to MUCInvitation.
Update copyrights.
Change-Id: I9949f506b70e60b3a64f1dadde8f9b235b322e1d
Diffstat (limited to 'src/com/isode/stroke/muc')
-rw-r--r-- | src/com/isode/stroke/muc/MUC.java | 33 | ||||
-rw-r--r-- | src/com/isode/stroke/muc/MUCBookmarkManager.java | 8 |
2 files changed, 28 insertions, 13 deletions
diff --git a/src/com/isode/stroke/muc/MUC.java b/src/com/isode/stroke/muc/MUC.java index 8df1b89..900bb7d 100644 --- a/src/com/isode/stroke/muc/MUC.java +++ b/src/com/isode/stroke/muc/MUC.java @@ -1,13 +1,10 @@ /* - * Copyright (c) 2012, Isode Limited, London, England. - * All rights reserved. - */ -/* - * Copyright (c) 2010, Kevin Smith + * Copyright (c) 2010-2015, Isode Limited, London, England. * All rights reserved. */ package com.isode.stroke.muc; +import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -32,6 +29,7 @@ import com.isode.stroke.jid.JID.CompareType; import com.isode.stroke.presence.DirectedPresenceSender; import com.isode.stroke.queries.GenericRequest; import com.isode.stroke.queries.IQRouter; +import com.isode.stroke.signals.Signal; import com.isode.stroke.signals.Signal1; import com.isode.stroke.signals.Signal2; import com.isode.stroke.signals.Signal3; @@ -70,6 +68,8 @@ public class MUC { public Signal3<ErrorPayload,JID,MUCOccupant.Role> onRoleChangeFailed = new Signal3<ErrorPayload,JID,MUCOccupant.Role>(); + public final Signal onUnlocked = new Signal(); + private boolean createAsReservedIfNew; private IQRouter iqRouter_; private boolean joinComplete_; @@ -253,25 +253,44 @@ public class MUC { return occupants.containsKey(nick); } + public Map<String, MUCOccupant> getOccupants() { + return Collections.unmodifiableMap(occupants); + } + /** * Invite the person with give JID to the chat room * @param person jabber ID o the person to invite,not nul */ public void invitePerson(JID person) { - invitePerson(person,""); + invitePerson(person, "", false, false); + } + + /** + * Send an invite for the person to join the MUC + * @param person jabber ID of the person to invite, not null + * @param reason join reason, not null + * @param isImpromptu + */ + public void invitePerson(JID person, String reason, boolean isImpromptu) { + invitePerson(person, reason, isImpromptu, false); } + /** * Send an invite for the person to join the MUC * @param person jabber ID of the person to invite, not null * @param reason join reason, not null + * @param isImpromptu + * @param isReuseChat */ - public void invitePerson(JID person, String reason) { + public void invitePerson(JID person, String reason, boolean isImpromptu, boolean isReuseChat) { Message message = new Message(); message.setTo(person); message.setType(Message.Type.Normal); MUCInvitationPayload invite = new MUCInvitationPayload(); invite.setReason(reason); + invite.setIsImpromptu(isImpromptu); + invite.setIsContinuation(isReuseChat); invite.setJID(ownMUCJID.toBare()); message.addPayload(invite); stanzaChannel.sendMessage(message); diff --git a/src/com/isode/stroke/muc/MUCBookmarkManager.java b/src/com/isode/stroke/muc/MUCBookmarkManager.java index 78bddea..36e6d94 100644 --- a/src/com/isode/stroke/muc/MUCBookmarkManager.java +++ b/src/com/isode/stroke/muc/MUCBookmarkManager.java @@ -1,9 +1,5 @@ /* - * Copyright (c) 2012, Isode Limited, London, England. - * All rights reserved. - */ -/* - * Copyright (c) 2010, Remko Tronçon. + * Copyright (c) 2010-2015, Isode Limited, London, England. * All rights reserved. */ package com.isode.stroke.muc; @@ -116,7 +112,7 @@ public class MUCBookmarkManager { storage = payload; Vector<MUCBookmark> receivedBookmarks = new Vector<MUCBookmark>(); - for (Storage.Room room : payload.getRooms()) { + if (payload != null) for (Storage.Room room : payload.getRooms()) { receivedBookmarks.add(new MUCBookmark(room)); } |