diff options
author | Allan Wang <me@allanwang.ca> | 2017-12-26 04:01:23 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-26 04:01:23 -0500 |
commit | 7a3165ac7404381eb85ea40525db1a7a7d980761 (patch) | |
tree | 2341ea4ef0488b9abeea1fbe70697705d295aeb2 /kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefTimePicker.kt | |
parent | fb9ca21757068c0fb4123a5e30b1471ae4c32cf3 (diff) | |
download | kau-7a3165ac7404381eb85ea40525db1a7a7d980761.tar.gz kau-7a3165ac7404381eb85ea40525db1a7a7d980761.tar.bz2 kau-7a3165ac7404381eb85ea40525db1a7a7d980761.zip |
Update/kpref activity (#113)
* Revamp kpref
* Clean up data
* Fix script
* Test emulator
* Test google api
* Test again
* Test gpg
* Update dependencies
Diffstat (limited to 'kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefTimePicker.kt')
-rw-r--r-- | kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefTimePicker.kt | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefTimePicker.kt b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefTimePicker.kt index d4f854b..f6fc40a 100644 --- a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefTimePicker.kt +++ b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefTimePicker.kt @@ -1,9 +1,9 @@ package ca.allanwang.kau.kpref.activity.items import android.app.TimePickerDialog -import android.view.View import android.widget.TimePicker import ca.allanwang.kau.kpref.activity.GlobalOptions +import ca.allanwang.kau.kpref.activity.KClick import ca.allanwang.kau.kpref.activity.R import java.util.* @@ -17,19 +17,24 @@ import java.util.* */ open class KPrefTimePicker(override val builder: KPrefTimeContract) : KPrefText<Int>(builder) { - interface KPrefTimeContract : KPrefText.KPrefTextContract<Int> { + interface KPrefTimeContract : KPrefText.KPrefTextContract<Int>, TimePickerDialog.OnTimeSetListener { var use24HourFormat: Boolean } + override fun KClick<Int>.defaultOnClick() { + val (hour, min) = pref.splitTime + TimePickerDialog(itemView.context, builder, hour, min, builder.use24HourFormat).show() + } + /** * Default implementation of [KPrefTimeContract] */ class KPrefTimeBuilder( globalOptions: GlobalOptions, - titleRes: Int, + titleId: Int, getter: () -> Int, setter: (value: Int) -> Unit - ) : KPrefTimeContract, BaseContract<Int> by BaseBuilder<Int>(globalOptions, titleRes, getter, setter), TimePickerDialog.OnTimeSetListener { + ) : KPrefTimeContract, BaseContract<Int> by BaseBuilder<Int>(globalOptions, titleId, getter, setter) { override var use24HourFormat: Boolean = false @@ -46,19 +51,14 @@ open class KPrefTimePicker(override val builder: KPrefTimeContract) : KPrefText< String.format(Locale.CANADA, "%d:%02d %s", hour % 12, min, if (hour >= 12) "PM" else "AM") } - override var onClick: ((itemView: View, innerContent: View?, item: KPrefItemBase<Int>) -> Boolean)? = { itemView, _, item -> - val (hour, min) = item.pref.splitTime - TimePickerDialog(itemView.context, this, hour, min, use24HourFormat).show() - true - } - - private val Int.splitTime: Pair<Int, Int> - get() = Pair(this / 100, this % 100) - - private val Pair<Int, Int>.mergeTime: Int - get() = first * 100 + second } override fun getType(): Int = R.id.kau_item_pref_time_picker -}
\ No newline at end of file +} + +private val Int.splitTime: Pair<Int, Int> + get() = Pair(this / 100, this % 100) + +private val Pair<Int, Int>.mergeTime: Int + get() = first * 100 + second
\ No newline at end of file |