Files
Simple-Clock/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/AddTimeZonesDialog.kt
Ensar Sarajčić 8e713bb68c Migrate to viewbinding and kotlin gradle scripts
- Updated to viewbinding and kotlin gradle scripts
- Updated kotlin to 1.9.0
- Updated Android Gradle Plugin to 8.1.0
- Updated `androidx.lifecycle` to 2.6.1
- Updated `room` to 2.6.0-alpha02
- Updated `androidx.work` to 2.8.1
- Updated `kotlinx.coroutines` to 1.7.3
- Updated `stetho` to 1.6.0
2023-08-04 16:19:11 +02:00

32 lines
1.4 KiB
Kotlin

package com.simplemobiletools.clock.dialogs
import com.simplemobiletools.clock.activities.SimpleActivity
import com.simplemobiletools.clock.adapters.SelectTimeZonesAdapter
import com.simplemobiletools.clock.databinding.DialogSelectTimeZonesBinding
import com.simplemobiletools.clock.extensions.config
import com.simplemobiletools.clock.helpers.getAllTimeZones
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff
class AddTimeZonesDialog(val activity: SimpleActivity, private val callback: () -> Unit) {
private val binding = DialogSelectTimeZonesBinding.inflate(activity.layoutInflater)
init {
binding.selectTimeZonesList.adapter = SelectTimeZonesAdapter(activity, getAllTimeZones())
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { dialog, which -> dialogConfirmed() }
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null)
.apply {
activity.setupDialogStuff(binding.root, this)
}
}
private fun dialogConfirmed() {
val adapter = binding.selectTimeZonesList.adapter as? SelectTimeZonesAdapter
val selectedTimeZones = adapter?.selectedKeys?.map { it.toString() }?.toHashSet() ?: LinkedHashSet()
activity.config.selectedTimeZones = selectedTimeZones
callback()
}
}