From db72917bb42efa862c797ef736c3ca7c89b89fdc Mon Sep 17 00:00:00 2001 From: damencho Date: Sat, 5 Dec 2015 23:17:22 -0600 Subject: [PATCH] Uses voice as default number detail, if no type is available. --- .../smackx/vcardtemp/provider/VCardProvider.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/provider/VCardProvider.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/provider/VCardProvider.java index f4612fd19..e3d381e6e 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/provider/VCardProvider.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/provider/VCardProvider.java @@ -18,6 +18,7 @@ package org.jivesoftware.smackx.vcardtemp.provider; import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.provider.IQProvider; +import org.jivesoftware.smack.util.StringUtils; import org.jivesoftware.smackx.vcardtemp.packet.VCard; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -172,7 +173,12 @@ public class VCardProvider extends IQProvider { isWork = false; } else { - if (telLabel != null && "NUMBER".equals(name)) { + if ("NUMBER".equals(name)) { + if (StringUtils.isNullOrEmpty(telLabel)) { + // RFC 2426 ยง 3.3.1: + // "The default type is 'voice'" + telLabel = "VOICE"; + } if (isWork) { vCard.setPhoneWork(telLabel, parser.nextText()); }