diff options
Diffstat (limited to 'kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemBase.kt')
-rw-r--r-- | kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemBase.kt | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemBase.kt b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemBase.kt index 6690574..a445de5 100644 --- a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemBase.kt +++ b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemBase.kt @@ -19,6 +19,7 @@ import android.view.View import androidx.annotation.CallSuper import ca.allanwang.kau.kpref.activity.GlobalOptions import ca.allanwang.kau.kpref.activity.KClick +import ca.allanwang.kau.kpref.activity.KPrefItemActions import ca.allanwang.kau.kpref.activity.R import ca.allanwang.kau.utils.resolveDrawable @@ -30,9 +31,9 @@ import ca.allanwang.kau.utils.resolveDrawable abstract class KPrefItemBase<T>(protected val base: BaseContract<T>) : KPrefItemCore(base) { open var pref: T - get() = base.getter() + get() = base.getter(this) set(value) { - base.setter(value) + base.setter(this, value) } private var _enabled: Boolean = true @@ -92,8 +93,8 @@ abstract class KPrefItemBase<T>(protected val base: BaseContract<T>) : KPrefItem var enabler: () -> Boolean var onClick: (KClick<T>.() -> Unit)? var onDisabledClick: (KClick<T>.() -> Unit)? - val getter: () -> T - val setter: (value: T) -> Unit + val getter: KPrefItemActions.() -> T + val setter: KPrefItemActions.(value: T) -> Unit } /** @@ -102,8 +103,8 @@ abstract class KPrefItemBase<T>(protected val base: BaseContract<T>) : KPrefItem class BaseBuilder<T>( globalOptions: GlobalOptions, titleId: Int, - override val getter: () -> T, - override val setter: (value: T) -> Unit + override val getter: KPrefItemActions.() -> T, + override val setter: KPrefItemActions.(value: T) -> Unit ) : CoreContract by CoreBuilder(globalOptions, titleId), BaseContract<T> { override var enabler: () -> Boolean = { true } override var onClick: (KClick<T>.() -> Unit)? = null |