mirror of
https://github.com/SimpleMobileTools/Simple-Flashlight.git
synced 2025-06-05 21:59:19 +02:00
34 lines
1.3 KiB
Kotlin
34 lines
1.3 KiB
Kotlin
package com.simplemobiletools.flashlight.dialogs
|
|
|
|
import android.app.Activity
|
|
import androidx.appcompat.app.AlertDialog
|
|
import com.simplemobiletools.commons.extensions.*
|
|
import com.simplemobiletools.flashlight.R
|
|
import com.simplemobiletools.flashlight.databinding.DialogCustomSleepTimerPickerBinding
|
|
|
|
class SleepTimerCustomDialog(val activity: Activity, val callback: (seconds: Int) -> Unit) {
|
|
private var dialog: AlertDialog? = null
|
|
private val binding = DialogCustomSleepTimerPickerBinding.inflate(activity.layoutInflater)
|
|
|
|
init {
|
|
binding.minutesHint.hint = activity.getString(R.string.minutes_raw).replaceFirstChar { it.uppercaseChar() }
|
|
activity.getAlertDialogBuilder()
|
|
.setPositiveButton(R.string.ok) { dialog, which -> dialogConfirmed() }
|
|
.setNegativeButton(R.string.cancel, null)
|
|
.apply {
|
|
activity.setupDialogStuff(binding.root, this, R.string.sleep_timer) { alertDialog ->
|
|
dialog = alertDialog
|
|
alertDialog.showKeyboard(binding.minutes)
|
|
}
|
|
}
|
|
}
|
|
|
|
private fun dialogConfirmed() {
|
|
val value = binding.minutes.value
|
|
val minutes = Integer.valueOf(if (value.isEmpty()) "0" else value)
|
|
callback(minutes * 60)
|
|
activity.hideKeyboard()
|
|
dialog?.dismiss()
|
|
}
|
|
}
|