diff options
author | Rakesh Iyer <rni@google.com> | 2015-04-09 11:05:08 -0700 |
---|---|---|
committer | Rakesh Iyer <rni@google.com> | 2015-04-09 11:30:10 -0700 |
commit | 600d08e46f52d510598ffe382bf83f576f7ab8a6 (patch) | |
tree | 218378672492f176a856cb648732528658cebf0e | |
parent | 753058fffd5cead5e6ebe7e81a9810cc4ca9ceea (diff) | |
download | android_frameworks_opt_vcard-600d08e46f52d510598ffe382bf83f576f7ab8a6.tar.gz android_frameworks_opt_vcard-600d08e46f52d510598ffe382bf83f576f7ab8a6.tar.bz2 android_frameworks_opt_vcard-600d08e46f52d510598ffe382bf83f576f7ab8a6.zip |
Save away unknown properties that begin with X-.
PBAP sends over call logs using the vcard format and uses
the X-IRMC-DATETIME property to add in the timestamp of
the calls. The current VCardEntry drops entries that are
not recognized, and since these aren't recongized, they
are dropped.
Given that X- properties can be anything, this change saves
them away in a list that the caller can check and parse if
they desire to do so.
Change-Id: Iece345cc5b1f0ac3b7c8fbc29c78cc4deff11b22
-rw-r--r-- | java/com/android/vcard/VCardEntry.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/java/com/android/vcard/VCardEntry.java b/java/com/android/vcard/VCardEntry.java index 255697b..44a71d8 100644 --- a/java/com/android/vcard/VCardEntry.java +++ b/java/com/android/vcard/VCardEntry.java @@ -42,6 +42,7 @@ import android.provider.ContactsContract.RawContacts; import android.telephony.PhoneNumberUtils; import android.text.TextUtils; import android.util.Log; +import android.util.Pair; import java.util.ArrayList; import java.util.Arrays; @@ -1552,6 +1553,7 @@ public class VCardEntry { private List<AndroidCustomData> mAndroidCustomDataList; private BirthdayData mBirthday; private AnniversaryData mAnniversary; + private List<Pair<String, String>> mUnknownXData; /** * Inner iterator interface. @@ -2403,6 +2405,12 @@ public class VCardEntry { final List<String> customPropertyList = VCardUtils.constructListFromValue(propValue, mVCardType); handleAndroidCustomProperty(customPropertyList); + } else if (propertyName.toUpperCase().startsWith("X-")) { + // Catch all for X- properties. The caller can decide what to do with these. + if (mUnknownXData == null) { + mUnknownXData = new ArrayList<Pair<String, String>>(); + } + mUnknownXData.add(new Pair<String, String>(propertyName, propValue)); } else { } // Be careful when adding some logic here, as some blocks above may use "return". @@ -2647,4 +2655,8 @@ public class VCardEntry { } return mNameData.displayName; } + + public List<Pair<String, String>> getUnknownXData() { + return mUnknownXData; + } } |