parent
19993199db
commit
4014c48c62
@ -0,0 +1,26 @@
|
|||||||
|
package eu.kanade.tachiyomi.widget.preference
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.support.v7.preference.ListPreference
|
||||||
|
import android.util.AttributeSet
|
||||||
|
|
||||||
|
class FloatListPreference @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
|
||||||
|
ListPreference(context, attrs) {
|
||||||
|
|
||||||
|
override fun persistString(value: String?): Boolean {
|
||||||
|
return value != null && persistFloat(value.toFloat())
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getPersistedString(defaultReturnValue: String?): String? {
|
||||||
|
// When the underlying preference is using a PreferenceDataStore, there's no way (for now)
|
||||||
|
// to check if a value is in the store, so we use a most likely unused value as workaround
|
||||||
|
val defaultIntValue = Float.NEGATIVE_INFINITY
|
||||||
|
|
||||||
|
val value = getPersistedFloat(defaultIntValue)
|
||||||
|
return if (value != defaultIntValue) {
|
||||||
|
value.toString()
|
||||||
|
} else {
|
||||||
|
defaultReturnValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue