From 54e6426dc4690d0a1beb74815104698deba5cd3a Mon Sep 17 00:00:00 2001 From: Ricki Hirner Date: Thu, 23 Jun 2016 11:40:39 +0200 Subject: [PATCH] Version bump to 1.1.1.1 * add yield points to allow processing of groups with many contacts * new script to generate contacts for testing --- app/build.gradle | 4 ++-- .../at/bitfire/davdroid/resource/LocalContact.java | 2 ++ .../at/bitfire/davdroid/resource/LocalGroup.java | 4 ++++ .../davdroid/syncadapter/ContactsSyncManager.java | 1 + gradle.properties | 1 + scripts/gen-contacts.rb | 13 +++++++++++++ 6 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 gradle.properties create mode 100755 scripts/gen-contacts.rb diff --git a/app/build.gradle b/app/build.gradle index c81c9d7a..6499b922 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { minSdkVersion 14 targetSdkVersion 23 - versionCode 104 - versionName "1.1.1" + versionCode 105 + versionName "1.1.1.1" buildConfigField "long", "buildTime", System.currentTimeMillis() + "L" } diff --git a/app/src/main/java/at/bitfire/davdroid/resource/LocalContact.java b/app/src/main/java/at/bitfire/davdroid/resource/LocalContact.java index 5cd37328..dc851297 100644 --- a/app/src/main/java/at/bitfire/davdroid/resource/LocalContact.java +++ b/app/src/main/java/at/bitfire/davdroid/resource/LocalContact.java @@ -126,6 +126,7 @@ public class LocalContact extends AndroidContact implements LocalResource { .withValue(CachedGroupMembership.MIMETYPE, CachedGroupMembership.CONTENT_ITEM_TYPE) .withValue(CachedGroupMembership.RAW_CONTACT_ID, id) .withValue(CachedGroupMembership.GROUP_ID, groupID) + .withYieldAllowed(true) .build() ); } @@ -138,6 +139,7 @@ public class LocalContact extends AndroidContact implements LocalResource { Data.RAW_CONTACT_ID + "=? AND " + Data.MIMETYPE + " IN (?,?)", new String[] { String.valueOf(id), GroupMembership.CONTENT_ITEM_TYPE, CachedGroupMembership.CONTENT_ITEM_TYPE } ) + .withYieldAllowed(true) .build() ); } diff --git a/app/src/main/java/at/bitfire/davdroid/resource/LocalGroup.java b/app/src/main/java/at/bitfire/davdroid/resource/LocalGroup.java index 88549fa4..f9e3fcfa 100644 --- a/app/src/main/java/at/bitfire/davdroid/resource/LocalGroup.java +++ b/app/src/main/java/at/bitfire/davdroid/resource/LocalGroup.java @@ -81,6 +81,7 @@ public class LocalGroup extends AndroidGroup implements LocalResource { .withValue(CachedGroupMembership.MIMETYPE, CachedGroupMembership.CONTENT_ITEM_TYPE) .withValue(CachedGroupMembership.RAW_CONTACT_ID, member) .withValue(CachedGroupMembership.GROUP_ID, id) + .withYieldAllowed(true) .build() ); @@ -122,6 +123,7 @@ public class LocalGroup extends AndroidGroup implements LocalResource { batch.enqueue(ContentProviderOperation .newUpdate(addressBook.syncAdapterURI(ContentUris.withAppendedId(RawContacts.CONTENT_URI, member))) .withValue(RawContacts.DIRTY, 1) + .withYieldAllowed(true) .build() ); @@ -155,6 +157,7 @@ public class LocalGroup extends AndroidGroup implements LocalResource { "(" + GroupMembership.MIMETYPE + "=? AND " + GroupMembership.GROUP_ROW_ID + "=?) OR (" + CachedGroupMembership.MIMETYPE + "=? AND " + CachedGroupMembership.GROUP_ID + "=?)", new String[] { GroupMembership.CONTENT_ITEM_TYPE, String.valueOf(id), CachedGroupMembership.CONTENT_ITEM_TYPE, String.valueOf(id) }) + .withYieldAllowed(true) .build() ); @@ -181,6 +184,7 @@ public class LocalGroup extends AndroidGroup implements LocalResource { batch.enqueue(ContentProviderOperation .newUpdate(addressBook.syncAdapterURI(ContentUris.withAppendedId(Groups.CONTENT_URI, id))) .withValue(COLUMN_PENDING_MEMBERS, null) + .withYieldAllowed(true) .build() ); diff --git a/app/src/main/java/at/bitfire/davdroid/syncadapter/ContactsSyncManager.java b/app/src/main/java/at/bitfire/davdroid/syncadapter/ContactsSyncManager.java index d14a7ce1..037652d4 100644 --- a/app/src/main/java/at/bitfire/davdroid/syncadapter/ContactsSyncManager.java +++ b/app/src/main/java/at/bitfire/davdroid/syncadapter/ContactsSyncManager.java @@ -214,6 +214,7 @@ public class ContactsSyncManager extends SyncManager { batch.enqueue(ContentProviderOperation .newUpdate(addressBook.syncAdapterURI(ContentUris.withAppendedId(Groups.CONTENT_URI, groupID))) .withValue(Groups.DIRTY, 1) + .withYieldAllowed(true) .build() ); } diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 00000000..b3c7a033 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +org.gradle.jvmargs=-Xmx2048M diff --git a/scripts/gen-contacts.rb b/scripts/gen-contacts.rb new file mode 100755 index 00000000..9474b132 --- /dev/null +++ b/scripts/gen-contacts.rb @@ -0,0 +1,13 @@ +#!/usr/bin/ruby + +File.open("contacts.vcf", "w") do |f| + for i in 1..600 do + f.puts "BEGIN:VCARD" + f.puts "VERSION:3.0" + f.puts "FN:Kontakt Nr. #{i}" + f.puts "N:Kontakt Nr. #{i}" + f.puts "EMAIL:#{i}@google-god.com" + f.puts "PHONE:#{i}#{i}#{i}" + f.puts "END:VCARD" + end +end