diff --git a/app/src/main/java/com/etesync/syncadapter/Constants.java b/app/src/main/java/com/etesync/syncadapter/Constants.java index 32de59f2..8b203b3b 100644 --- a/app/src/main/java/com/etesync/syncadapter/Constants.java +++ b/app/src/main/java/com/etesync/syncadapter/Constants.java @@ -38,6 +38,8 @@ public class Constants { public static final Uri serviceUrl = Uri.parse((DEBUG_REMOTE_URL == null) ? "https://api.etesync.com/" : DEBUG_REMOTE_URL); + public static final String PRODID_BASE = "-//EteSync//" + BuildConfig.APPLICATION_ID + " " + BuildConfig.VERSION_NAME; + public static final int DEFAULT_SYNC_INTERVAL = 4 * 3600; // 4 hours public static final long DEFAULT_RETRY_DELAY = 30 * 60; // 30 minutes diff --git a/app/src/main/java/com/etesync/syncadapter/resource/LocalContact.java b/app/src/main/java/com/etesync/syncadapter/resource/LocalContact.java index 6ce19d76..6ab6b65c 100644 --- a/app/src/main/java/com/etesync/syncadapter/resource/LocalContact.java +++ b/app/src/main/java/com/etesync/syncadapter/resource/LocalContact.java @@ -22,6 +22,8 @@ import android.support.annotation.Nullable; import android.text.TextUtils; import com.etesync.syncadapter.App; +import com.etesync.syncadapter.BuildConfig; +import com.etesync.syncadapter.Constants; import com.etesync.syncadapter.model.UnknownProperties; import java.io.ByteArrayOutputStream; @@ -39,12 +41,16 @@ import at.bitfire.vcard4android.BatchOperation; import at.bitfire.vcard4android.CachedGroupMembership; import at.bitfire.vcard4android.Contact; import at.bitfire.vcard4android.ContactsStorageException; +import ezvcard.Ezvcard; import ezvcard.VCardVersion; import lombok.Cleanup; import static at.bitfire.vcard4android.GroupMethod.GROUP_VCARDS; public class LocalContact extends AndroidContact implements LocalResource { + static { + Contact.productID = Constants.PRODID_BASE + "//vcard4android ez-vcard/0.10.x"; + } public static final String COLUMN_HASHCODE = ContactsContract.RawContacts.SYNC3; private boolean saveAsDirty = false; // When true, the resource will be saved as dirty diff --git a/app/src/main/java/com/etesync/syncadapter/resource/LocalEvent.java b/app/src/main/java/com/etesync/syncadapter/resource/LocalEvent.java index 02d43d2a..05d04c4b 100644 --- a/app/src/main/java/com/etesync/syncadapter/resource/LocalEvent.java +++ b/app/src/main/java/com/etesync/syncadapter/resource/LocalEvent.java @@ -21,6 +21,9 @@ import android.support.annotation.NonNull; import android.text.TextUtils; import com.etesync.syncadapter.App; +import com.etesync.syncadapter.Constants; + +import net.fortuna.ical4j.model.property.ProdId; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -38,6 +41,9 @@ import lombok.Setter; @TargetApi(17) public class LocalEvent extends AndroidEvent implements LocalResource { + static { + Event.prodId = new ProdId(Constants.PRODID_BASE + "//ical4android ical4j/2.x"); + } static final String COLUMN_ETAG = CalendarContract.Events.SYNC_DATA1, COLUMN_UID = Build.VERSION.SDK_INT >= 17 ? Events.UID_2445 : Events.SYNC_DATA2, COLUMN_SEQUENCE = CalendarContract.Events.SYNC_DATA3; diff --git a/app/src/main/java/com/etesync/syncadapter/resource/LocalTask.java b/app/src/main/java/com/etesync/syncadapter/resource/LocalTask.java index d7652ddd..101fa8a2 100644 --- a/app/src/main/java/com/etesync/syncadapter/resource/LocalTask.java +++ b/app/src/main/java/com/etesync/syncadapter/resource/LocalTask.java @@ -15,6 +15,9 @@ import android.provider.CalendarContract.Events; import android.support.annotation.NonNull; import com.etesync.syncadapter.App; +import com.etesync.syncadapter.Constants; + +import net.fortuna.ical4j.model.property.ProdId; import org.dmfs.provider.tasks.TaskContract.Tasks; @@ -32,6 +35,10 @@ import lombok.Getter; import lombok.Setter; public class LocalTask extends AndroidTask implements LocalResource { + static { + Task.prodId = new ProdId(Constants.PRODID_BASE + "//ical4android ical4j/2.x"); + } + @Getter protected String uuid;