mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-02-17 03:51:03 +01:00
handle local group deleting
This commit is contained in:
parent
55ce3efb05
commit
2408cabd81
@ -13,7 +13,7 @@ import com.simplemobiletools.contacts.pro.R
|
|||||||
import com.simplemobiletools.contacts.pro.activities.SimpleActivity
|
import com.simplemobiletools.contacts.pro.activities.SimpleActivity
|
||||||
import com.simplemobiletools.contacts.pro.dialogs.RenameGroupDialog
|
import com.simplemobiletools.contacts.pro.dialogs.RenameGroupDialog
|
||||||
import com.simplemobiletools.contacts.pro.extensions.config
|
import com.simplemobiletools.contacts.pro.extensions.config
|
||||||
import com.simplemobiletools.contacts.pro.extensions.dbHelper
|
import com.simplemobiletools.contacts.pro.extensions.groupsDB
|
||||||
import com.simplemobiletools.contacts.pro.helpers.ContactsHelper
|
import com.simplemobiletools.contacts.pro.helpers.ContactsHelper
|
||||||
import com.simplemobiletools.contacts.pro.helpers.GROUPS_TAB_MASK
|
import com.simplemobiletools.contacts.pro.helpers.GROUPS_TAB_MASK
|
||||||
import com.simplemobiletools.contacts.pro.interfaces.RefreshContactsListener
|
import com.simplemobiletools.contacts.pro.interfaces.RefreshContactsListener
|
||||||
@ -92,7 +92,9 @@ class GroupsAdapter(activity: SimpleActivity, var groups: ArrayList<Group>, val
|
|||||||
|
|
||||||
private fun askConfirmDelete() {
|
private fun askConfirmDelete() {
|
||||||
ConfirmationDialog(activity) {
|
ConfirmationDialog(activity) {
|
||||||
deleteGroups()
|
Thread {
|
||||||
|
deleteGroups()
|
||||||
|
}.start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,18 +107,20 @@ class GroupsAdapter(activity: SimpleActivity, var groups: ArrayList<Group>, val
|
|||||||
val positions = getSelectedItemPositions()
|
val positions = getSelectedItemPositions()
|
||||||
groupsToRemove.forEach {
|
groupsToRemove.forEach {
|
||||||
if (it.isPrivateSecretGroup()) {
|
if (it.isPrivateSecretGroup()) {
|
||||||
activity.dbHelper.deleteGroup(it.id!!)
|
activity.groupsDB.deleteGroupId(it.id!!)
|
||||||
} else {
|
} else {
|
||||||
ContactsHelper(activity).deleteGroup(it.id!!)
|
ContactsHelper(activity).deleteGroup(it.id!!)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
groups.removeAll(groupsToRemove)
|
groups.removeAll(groupsToRemove)
|
||||||
|
|
||||||
if (groups.isEmpty()) {
|
activity.runOnUiThread {
|
||||||
refreshListener?.refreshContacts(GROUPS_TAB_MASK)
|
if (groups.isEmpty()) {
|
||||||
finishActMode()
|
refreshListener?.refreshContacts(GROUPS_TAB_MASK)
|
||||||
} else {
|
finishActMode()
|
||||||
removeSelectedItems(positions)
|
} else {
|
||||||
|
removeSelectedItems(positions)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@ import android.content.Context
|
|||||||
import android.database.sqlite.SQLiteDatabase
|
import android.database.sqlite.SQLiteDatabase
|
||||||
import android.database.sqlite.SQLiteOpenHelper
|
import android.database.sqlite.SQLiteOpenHelper
|
||||||
import android.graphics.BitmapFactory
|
import android.graphics.BitmapFactory
|
||||||
import android.text.TextUtils
|
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.google.gson.reflect.TypeToken
|
import com.google.gson.reflect.TypeToken
|
||||||
import com.simplemobiletools.commons.extensions.getBlobValue
|
import com.simplemobiletools.commons.extensions.getBlobValue
|
||||||
@ -80,14 +79,6 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||||||
db.execSQL("REPLACE INTO sqlite_sequence (name, seq) VALUES ('$GROUPS_TABLE_NAME', $FIRST_GROUP_ID)")
|
db.execSQL("REPLACE INTO sqlite_sequence (name, seq) VALUES ('$GROUPS_TABLE_NAME', $FIRST_GROUP_ID)")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun deleteGroup(id: Long) = deleteGroups(arrayOf(id.toString()))
|
|
||||||
|
|
||||||
private fun deleteGroups(ids: Array<String>) {
|
|
||||||
val args = TextUtils.join(", ", ids)
|
|
||||||
val selection = "$GROUPS_TABLE_NAME.$COL_ID IN ($args)"
|
|
||||||
mDb.delete(GROUPS_TABLE_NAME, selection, null)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun addContactsToGroup(contacts: ArrayList<Contact>, groupId: Long) {
|
fun addContactsToGroup(contacts: ArrayList<Contact>, groupId: Long) {
|
||||||
contacts.forEach {
|
contacts.forEach {
|
||||||
val currentGroupIds = it.groups.map { it.id } as ArrayList<Long>
|
val currentGroupIds = it.groups.map { it.id } as ArrayList<Long>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user