fix #28, lowering the number of bulk update lists

This commit is contained in:
hanjoong.cho
2018-01-06 08:29:46 +09:00
parent 7857859a65
commit 09b41d2422

View File

@ -564,6 +564,7 @@ class ContactsHelper(val activity: BaseSimpleActivity) {
} }
private fun toggleFavorites(ids: ArrayList<String>, areFavorites: Boolean) { private fun toggleFavorites(ids: ArrayList<String>, areFavorites: Boolean) {
val applyBatchSize = 100
try { try {
val operations = ArrayList<ContentProviderOperation>() val operations = ArrayList<ContentProviderOperation>()
ids.forEach { ids.forEach {
@ -572,6 +573,10 @@ class ContactsHelper(val activity: BaseSimpleActivity) {
withValue(ContactsContract.Contacts.STARRED, if (areFavorites) 1 else 0) withValue(ContactsContract.Contacts.STARRED, if (areFavorites) 1 else 0)
operations.add(build()) operations.add(build())
} }
if (operations.size % applyBatchSize == 0) {
activity.contentResolver.applyBatch(ContactsContract.AUTHORITY, operations)
operations.clear()
}
} }
activity.contentResolver.applyBatch(ContactsContract.AUTHORITY, operations) activity.contentResolver.applyBatch(ContactsContract.AUTHORITY, operations)
} catch (e: Exception) { } catch (e: Exception) {