summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/isode/stroke/presence/SubscriptionManager.java')
-rw-r--r--src/com/isode/stroke/presence/SubscriptionManager.java14
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());
}
}