aboutsummaryrefslogtreecommitdiff
path: root/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemBase.kt
diff options
context:
space:
mode:
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.kt13
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