mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-06-05 22:19:17 +02:00
- 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
32 lines
1.4 KiB
Kotlin
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()
|
|
}
|
|
}
|