implementing some adapter deleting

This commit is contained in:
tibbi 2019-01-24 21:55:28 +01:00
parent 921873f9a6
commit e0078d8f2a
2 changed files with 19 additions and 13 deletions

View File

@ -7,6 +7,7 @@ import android.widget.RelativeLayout
import com.simplemobiletools.clock.R import com.simplemobiletools.clock.R
import com.simplemobiletools.clock.activities.SimpleActivity import com.simplemobiletools.clock.activities.SimpleActivity
import com.simplemobiletools.clock.extensions.config import com.simplemobiletools.clock.extensions.config
import com.simplemobiletools.clock.extensions.dbHelper
import com.simplemobiletools.clock.extensions.getFormattedTime import com.simplemobiletools.clock.extensions.getFormattedTime
import com.simplemobiletools.clock.interfaces.ToggleAlarmInterface import com.simplemobiletools.clock.interfaces.ToggleAlarmInterface
import com.simplemobiletools.clock.models.Alarm import com.simplemobiletools.clock.models.Alarm
@ -67,16 +68,18 @@ class AlarmsAdapter(activity: SimpleActivity, var alarms: ArrayList<Alarm>, val
private fun deleteItems() { private fun deleteItems() {
val alarmsToRemove = ArrayList<Alarm>() val alarmsToRemove = ArrayList<Alarm>()
/*selectedPositions.sortedDescending().forEach { val positions = getSelectedItemPositions()
val alarm = alarms[it] getSelectedItems().forEach {
alarmsToRemove.add(alarm) alarmsToRemove.add(it)
} }
alarms.removeAll(alarmsToRemove) alarms.removeAll(alarmsToRemove)
removeSelectedItems() removeSelectedItems(positions)
activity.dbHelper.deleteAlarms(alarmsToRemove)*/ activity.dbHelper.deleteAlarms(alarmsToRemove)
} }
private fun getSelectedItems() = alarms.filter { selectedKeys.contains(it.id) } as ArrayList<Alarm>
private fun setupView(view: View, alarm: Alarm) { private fun setupView(view: View, alarm: Alarm) {
val isSelected = selectedKeys.contains(alarm.id) val isSelected = selectedKeys.contains(alarm.id)
view.apply { view.apply {

View File

@ -5,6 +5,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.simplemobiletools.clock.R import com.simplemobiletools.clock.R
import com.simplemobiletools.clock.activities.SimpleActivity import com.simplemobiletools.clock.activities.SimpleActivity
import com.simplemobiletools.clock.extensions.config
import com.simplemobiletools.clock.extensions.getFormattedDate import com.simplemobiletools.clock.extensions.getFormattedDate
import com.simplemobiletools.clock.extensions.getFormattedTime import com.simplemobiletools.clock.extensions.getFormattedTime
import com.simplemobiletools.clock.models.MyTimeZone import com.simplemobiletools.clock.models.MyTimeZone
@ -69,22 +70,24 @@ class TimeZonesAdapter(activity: SimpleActivity, var timeZones: ArrayList<MyTime
} }
private fun deleteItems() { private fun deleteItems() {
val timeZonesToRemove = ArrayList<MyTimeZone>() val timeZonesToRemove = ArrayList<MyTimeZone>(selectedKeys.size)
val timeZoneIDsToRemove = ArrayList<String>() val timeZoneIDsToRemove = ArrayList<String>(selectedKeys.size)
/*selectedPositions.sortedDescending().forEach { val positions = getSelectedItemPositions()
val timeZone = timeZones[it] getSelectedItems().forEach {
timeZonesToRemove.add(timeZone) timeZonesToRemove.add(it)
timeZoneIDsToRemove.add(timeZone.id.toString()) timeZoneIDsToRemove.add(it.id.toString())
} }
timeZones.removeAll(timeZonesToRemove) timeZones.removeAll(timeZonesToRemove)
removeSelectedItems() removeSelectedItems(positions)
val selectedTimeZones = activity.config.selectedTimeZones val selectedTimeZones = activity.config.selectedTimeZones
val newTimeZones = selectedTimeZones.filter { !timeZoneIDsToRemove.contains(it) }.toHashSet() val newTimeZones = selectedTimeZones.filter { !timeZoneIDsToRemove.contains(it) }.toHashSet()
activity.config.selectedTimeZones = newTimeZones*/ activity.config.selectedTimeZones = newTimeZones
} }
private fun getSelectedItems() = timeZones.filter { selectedKeys.contains(it.id) } as ArrayList<MyTimeZone>
private fun setupView(view: View, timeZone: MyTimeZone) { private fun setupView(view: View, timeZone: MyTimeZone) {
val currTimeZone = TimeZone.getTimeZone(timeZone.zoneName) val currTimeZone = TimeZone.getTimeZone(timeZone.zoneName)
val calendar = Calendar.getInstance(currTimeZone) val calendar = Calendar.getInstance(currTimeZone)