use the Commons helper function for getting selected item positions

This commit is contained in:
tibbi 2018-10-15 14:36:09 +02:00
parent bdac3fba05
commit 073e759cac
4 changed files with 5 additions and 44 deletions

View File

@ -41,7 +41,7 @@ android {
}
dependencies {
implementation 'com.simplemobiletools:commons:5.0.21'
implementation 'com.simplemobiletools:commons:5.0.22'
implementation 'joda-time:joda-time:2.9.9'
implementation 'com.facebook.stetho:stetho:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'

View File

@ -153,7 +153,7 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList<Cont
}
val contactsToRemove = getSelectedItems()
val positions = getSelectedItemPositions(contactsToRemove)
val positions = getSelectedItemPositions(contactsToRemove.map { it.id })
contactItems.removeAll(contactsToRemove)
ContactsHelper(activity).deleteContacts(contactsToRemove)
@ -169,7 +169,7 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList<Cont
// used for removing contacts from groups or favorites, not deleting actual contacts
private fun removeContacts() {
val contactsToRemove = getSelectedItems()
val positions = getSelectedItemPositions(contactsToRemove)
val positions = getSelectedItemPositions(contactsToRemove.map { it.id })
contactItems.removeAll(contactsToRemove)
if (location == LOCATION_FAVORITES_TAB) {
@ -234,19 +234,6 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList<Cont
private fun getSelectedItems() = contactItems.filter { selectedKeys.contains(it.id) } as ArrayList<Contact>
private fun getSelectedItemPositions(contacts: ArrayList<Contact>): ArrayList<Int> {
val positions = ArrayList<Int>()
contacts.forEach {
val position = getItemKeyPosition(it.id)
if (position != -1) {
positions.add(position)
}
}
positions.sortDescending()
return positions
}
override fun onViewRecycled(holder: ViewHolder) {
super.onViewRecycled(holder)
if (!activity.isDestroyed) {

View File

@ -102,7 +102,7 @@ class GroupsAdapter(activity: SimpleActivity, var groups: ArrayList<Group>, val
}
val groupsToRemove = groups.filter { selectedKeys.contains(it.id.toInt()) } as ArrayList<Group>
val positions = getSelectedItemPositions(groupsToRemove)
val positions = getSelectedItemPositions(groupsToRemove.map { it.id.toInt() })
groupsToRemove.forEach {
if (it.isPrivateSecretGroup()) {
activity.dbHelper.deleteGroup(it.id)
@ -120,19 +120,6 @@ class GroupsAdapter(activity: SimpleActivity, var groups: ArrayList<Group>, val
}
}
private fun getSelectedItemPositions(groups: ArrayList<Group>): ArrayList<Int> {
val positions = ArrayList<Int>()
groups.forEach {
val position = getItemKeyPosition(it.id.toInt())
if (position != -1) {
positions.add(position)
}
}
positions.sortDescending()
return positions
}
private fun setupView(view: View, group: Group) {
view.apply {
group_frame?.isSelected = isKeySelected(group.id.toInt())

View File

@ -80,7 +80,7 @@ class RecentCallsAdapter(activity: SimpleActivity, var recentCalls: ArrayList<Re
}
val callsToRemove = getSelectedItems()
val positions = getSelectedItemPositions(callsToRemove)
val positions = getSelectedItemPositions(callsToRemove.map { it.id })
ContactsHelper(activity).removeRecentCalls(callsToRemove.map { it.id } as ArrayList<Int>)
recentCalls.removeAll(callsToRemove)
@ -94,19 +94,6 @@ class RecentCallsAdapter(activity: SimpleActivity, var recentCalls: ArrayList<Re
private fun getSelectedItems() = recentCalls.filter { selectedKeys.contains(it.id) } as ArrayList<RecentCall>
private fun getSelectedItemPositions(callsToRemove: ArrayList<RecentCall>): ArrayList<Int> {
val positions = ArrayList<Int>()
callsToRemove.forEach {
val position = getItemKeyPosition(it.id)
if (position != -1) {
positions.add(position)
}
}
positions.sortDescending()
return positions
}
private fun setupView(view: View, recentCall: RecentCall) {
view.apply {
recent_call_frame?.isSelected = selectedKeys.contains(recentCall.id)