aboutsummaryrefslogtreecommitdiff
path: root/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-08-12 19:31:55 -0700
committerAllan Wang <me@allanwang.ca>2017-08-30 12:24:19 -0400
commitfba4ac38a8e2dff6e53ba8ecccc95dac2550a3fa (patch)
tree7747f8f1c396cbe397f0e471ee7204e8106ac30a /kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items
parent27f38ffe00bc27b76020072a591ce63d20ddd86a (diff)
downloadkau-fba4ac38a8e2dff6e53ba8ecccc95dac2550a3fa.tar.gz
kau-fba4ac38a8e2dff6e53ba8ecccc95dac2550a3fa.tar.bz2
kau-fba4ac38a8e2dff6e53ba8ecccc95dac2550a3fa.zip
Feature/kpref activity visibility (#38)
* Add visibility toggle * Update docs
Diffstat (limited to 'kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items')
-rw-r--r--kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemCore.kt2
-rw-r--r--kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefSeekbar.kt20
2 files changed, 5 insertions, 17 deletions
diff --git a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemCore.kt b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemCore.kt
index 96f8903..dc74c97 100644
--- a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemCore.kt
+++ b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemCore.kt
@@ -84,6 +84,7 @@ abstract class KPrefItemCore(val core: CoreContract) : AbstractItem<KPrefItemCor
var descRes: Int
@StringRes get
var iicon: IIcon?
+ var visible: () -> Boolean
/**
* Attempts to reload current item by identifying it with its [titleRes]
@@ -98,6 +99,7 @@ abstract class KPrefItemCore(val core: CoreContract) : AbstractItem<KPrefItemCor
override @param:StringRes val titleRes: Int) : CoreContract {
override var descRes: Int = -1
override var iicon: IIcon? = null
+ override var visible: () -> Boolean = { true }
override fun reloadSelf() {
globalOptions.reloadByTitle(titleRes)
diff --git a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefSeekbar.kt b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefSeekbar.kt
index f161382..6a9f6b0 100644
--- a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefSeekbar.kt
+++ b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefSeekbar.kt
@@ -28,7 +28,7 @@ open class KPrefSeekbar(val builder: KPrefSeekbarContract) : KPrefItemBase<Int>(
text.tvc()
val seekbar = viewHolder.bindLowerView<SeekBar>(R.layout.kau_pref_seekbar) {
- it.max = builder.range
+ it.max = builder.max - builder.min
it.incrementProgressBy(builder.increments)
it.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
override fun onProgressChanged(sb: SeekBar, progress: Int, fromUser: Boolean) {
@@ -55,7 +55,6 @@ open class KPrefSeekbar(val builder: KPrefSeekbarContract) : KPrefItemBase<Int>(
var min: Int
var max: Int
var increments: Int
- var range: Int
/**
* Once a seekbar is let go, calculates what text to show in the text view
*/
@@ -74,23 +73,10 @@ open class KPrefSeekbar(val builder: KPrefSeekbarContract) : KPrefItemBase<Int>(
) : KPrefSeekbarContract, BaseContract<Int> by BaseBuilder(globalOptions, titleRes, getter, setter) {
override var min: Int = 0
- set(value) {
- field = value
- range = -1
- }
+
override var max: Int = 100
- set(value) {
- field = value
- range = -1
- }
- override var increments: Int = 1
- override var range: Int = max - min
- //value doesn't matter; setting will prompt the check
- set(value) {
- if (max <= min) throw KPrefException("Range min ($min) must be smaller than max ($max)")
- field = max - min
- }
+ override var increments: Int = 1
override var toText: (Int) -> String = { it.toString() }