diff options
Diffstat (limited to 'src/com/isode/stroke/presence/SubscriptionManager.java')
-rw-r--r-- | src/com/isode/stroke/presence/SubscriptionManager.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/com/isode/stroke/presence/SubscriptionManager.java b/src/com/isode/stroke/presence/SubscriptionManager.java index 91075fc..24cfd0a 100644 --- a/src/com/isode/stroke/presence/SubscriptionManager.java +++ b/src/com/isode/stroke/presence/SubscriptionManager.java @@ -15,7 +15,15 @@ import com.isode.stroke.signals.Slot1; public class SubscriptionManager { private StanzaChannel stanzaChannel; private SignalConnection onPresenceReceivedConnection; - + + /** + * This signal is emitted when a presence subscription request is + * received. + * + * The third parameter of this signal is the original presence stanza + * received. This is useful when the subscriber adds extensions to + * the request. + */ public final Signal3<JID, String, Presence> onPresenceSubscriptionRequest = new Signal3<JID, String, Presence>(); public final Signal2<JID, String> onPresenceSubscriptionRevoked = new Signal2<JID, String>(); @@ -58,10 +66,10 @@ public class SubscriptionManager { void handleIncomingPresence(Presence presence) { JID bareJID = presence.getFrom().toBare(); - if (presence.getType() == Presence.Type.Subscribe) { + if (Presence.Type.Subscribe.equals(presence.getType())) { onPresenceSubscriptionRequest.emit(bareJID, presence.getStatus(), presence); } - else if (presence.getType() == Presence.Type.Unsubscribe) { + else if (Presence.Type.Unsubscribe.equals(presence.getType())) { onPresenceSubscriptionRevoked.emit(bareJID, presence.getStatus()); } } |