summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/isode/stroke/vcards/VCardManager.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/com/isode/stroke/vcards/VCardManager.java b/src/com/isode/stroke/vcards/VCardManager.java
index 082aeeb..251b787 100644
--- a/src/com/isode/stroke/vcards/VCardManager.java
+++ b/src/com/isode/stroke/vcards/VCardManager.java
@@ -26,12 +26,17 @@ public class VCardManager {
/**
* The JID will always be bare.
*/
public final Signal2<JID, VCard> onVCardChanged = new Signal2<JID, VCard>();
/**
+ * Emitted when we received an error on looking up a vCard.
+ */
+ public final Signal2<JID,ErrorPayload> onVCardRetrievalError = new Signal2<JID,ErrorPayload>();
+
+ /**
* Emitted when our own vcard changes.
*
* onVCardChanged will also be emitted.
*/
public final Signal1<VCard> onOwnVCardChanged = new Signal1<VCard>();
@@ -88,12 +93,15 @@ public class VCardManager {
vcard = new VCard();
}
requestedVCards.remove(actualJID);
JID jid = actualJID.isValid() ? actualJID : ownJID.toBare();
setVCard(jid, vcard);
}
+ else {
+ onVCardRetrievalError.emit(actualJID, error);
+ }
}
public SetVCardRequest createSetVCardRequest(final VCard vcard) {
SetVCardRequest request = SetVCardRequest.create(vcard, iqRouter);
request.onResponse.connect(new Slot2<VCard, ErrorPayload>() {
@Override