show a time picker at pressing initial time at the timer tab

This commit is contained in:
tibbi
2018-03-09 10:13:35 +01:00
parent 8b429a5006
commit 9fc8115f26
4 changed files with 86 additions and 0 deletions

View File

@ -0,0 +1,34 @@
package com.simplemobiletools.clock.dialogs
import android.support.v7.app.AlertDialog
import com.simplemobiletools.clock.R
import com.simplemobiletools.clock.activities.SimpleActivity
import com.simplemobiletools.clock.extensions.config
import com.simplemobiletools.commons.extensions.setupDialogStuff
import kotlinx.android.synthetic.main.dialog_my_time_picker.view.*
class MyTimePickerDialogDialog(val activity: SimpleActivity, val initialSeconds: Int, private val callback: () -> Unit) {
private var view = activity.layoutInflater.inflate(R.layout.dialog_my_time_picker, null)
init {
view.apply {
val textColor = activity.config.textColor
arrayOf(my_time_picker_hours, my_time_picker_minutes, my_time_picker_seconds).forEach {
it.textColor = textColor
it.selectedTextColor = textColor
it.dividerColor = textColor
}
}
AlertDialog.Builder(activity)
.setPositiveButton(R.string.ok, { dialog, which -> dialogConfirmed() })
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this)
}
}
private fun dialogConfirmed() {
callback()
}
}

View File

@ -9,6 +9,8 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.simplemobiletools.clock.R
import com.simplemobiletools.clock.activities.SimpleActivity
import com.simplemobiletools.clock.dialogs.MyTimePickerDialogDialog
import com.simplemobiletools.clock.extensions.colorLeftDrawable
import com.simplemobiletools.clock.extensions.config
import com.simplemobiletools.commons.extensions.*
@ -80,6 +82,11 @@ class TimerFragment : Fragment() {
timer_initial_time.text = config.timerSeconds.getFormattedDuration()
timer_initial_time.colorLeftDrawable(textColor)
timer_initial_time.setOnClickListener {
MyTimePickerDialogDialog(activity as SimpleActivity, config.timerSeconds) {
}
}
timer_vibrate.isChecked = config.timerVibrate
timer_vibrate.colorLeftDrawable(textColor)