Add null-safe SharedPreferences.getStringSafe
Null-safe alternative to SharedPreferences.getString that guarantees the return value is non-null when defValue is non-null.
This commit is contained in:
parent
94f992a2e2
commit
734b6e2b67
2 changed files with 12 additions and 6 deletions
|
@ -0,0 +1,7 @@
|
||||||
|
package org.schabi.newpipe.ktx
|
||||||
|
|
||||||
|
import android.content.SharedPreferences
|
||||||
|
|
||||||
|
fun SharedPreferences.getStringSafe(key: String, defValue: String): String {
|
||||||
|
return getString(key, null) ?: defValue
|
||||||
|
}
|
|
@ -19,6 +19,7 @@ import org.schabi.newpipe.extractor.Info
|
||||||
import org.schabi.newpipe.extractor.NewPipe
|
import org.schabi.newpipe.extractor.NewPipe
|
||||||
import org.schabi.newpipe.extractor.feed.FeedInfo
|
import org.schabi.newpipe.extractor.feed.FeedInfo
|
||||||
import org.schabi.newpipe.extractor.stream.StreamInfoItem
|
import org.schabi.newpipe.extractor.stream.StreamInfoItem
|
||||||
|
import org.schabi.newpipe.ktx.getStringSafe
|
||||||
import org.schabi.newpipe.local.feed.FeedDatabaseManager
|
import org.schabi.newpipe.local.feed.FeedDatabaseManager
|
||||||
import org.schabi.newpipe.local.subscription.SubscriptionManager
|
import org.schabi.newpipe.local.subscription.SubscriptionManager
|
||||||
import org.schabi.newpipe.util.ChannelTabHelper
|
import org.schabi.newpipe.util.ChannelTabHelper
|
||||||
|
@ -69,12 +70,10 @@ class FeedLoadManager(private val context: Context) {
|
||||||
val outdatedThreshold = if (ignoreOutdatedThreshold) {
|
val outdatedThreshold = if (ignoreOutdatedThreshold) {
|
||||||
OffsetDateTime.now(ZoneOffset.UTC)
|
OffsetDateTime.now(ZoneOffset.UTC)
|
||||||
} else {
|
} else {
|
||||||
val thresholdOutdatedSeconds = (
|
val thresholdOutdatedSeconds = defaultSharedPreferences.getStringSafe(
|
||||||
defaultSharedPreferences.getString(
|
context.getString(R.string.feed_update_threshold_key),
|
||||||
context.getString(R.string.feed_update_threshold_key),
|
context.getString(R.string.feed_update_threshold_default_value)
|
||||||
context.getString(R.string.feed_update_threshold_default_value)
|
).toInt()
|
||||||
) ?: context.getString(R.string.feed_update_threshold_default_value)
|
|
||||||
).toInt()
|
|
||||||
OffsetDateTime.now(ZoneOffset.UTC).minusSeconds(thresholdOutdatedSeconds.toLong())
|
OffsetDateTime.now(ZoneOffset.UTC).minusSeconds(thresholdOutdatedSeconds.toLong())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue