diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/GroupContactsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/GroupContactsActivity.kt index d3fca91a..0182f77d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/GroupContactsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/GroupContactsActivity.kt @@ -31,6 +31,9 @@ class GroupContactsActivity : SimpleActivity() { refreshContacts() group_contacts_fab.setOnClickListener { SelectContactsDialog(this, allContacts, groupContacts) { addedContacts, removedContacts -> + ContactsHelper(this).apply { + addContactsToGroup(addedContacts, group.id) + } refreshContacts() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt index e1559373..0503f562 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt @@ -747,6 +747,19 @@ class ContactsHelper(val activity: BaseSimpleActivity) { return operations } + fun addContactsToGroup(contacts: ArrayList, groupId: Long) { + val operations = ArrayList() + contacts.forEach { + ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI).apply { + withValue(ContactsContract.Data.RAW_CONTACT_ID, it.id) + withValue(ContactsContract.Data.MIMETYPE, CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE) + withValue(CommonDataKinds.GroupMembership.GROUP_ROW_ID, groupId) + operations.add(build()) + } + } + activity.contentResolver.applyBatch(ContactsContract.AUTHORITY, operations) + } + fun insertContact(contact: Contact): Boolean { return if (contact.source == SMT_PRIVATE) { insertLocalContact(contact)