-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRssReader.kt
26 lines (24 loc) · 850 Bytes
/
RssReader.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.github.jetbrains.rssreader.core
import android.content.Context
import com.github.jetbrains.rssreader.core.datasource.network.FeedLoader
import com.github.jetbrains.rssreader.core.datasource.storage.FeedStorage
import com.russhwolf.settings.AndroidSettings
import io.github.aakira.napier.DebugAntilog
import io.github.aakira.napier.Napier
import kotlinx.serialization.json.Json
fun RssReader.Companion.create(ctx: Context, withLog: Boolean) = RssReader(
FeedLoader(
AndroidHttpClient(withLog),
AndroidFeedParser()
),
FeedStorage(
AndroidSettings(ctx.getSharedPreferences("rss_reader_pref", Context.MODE_PRIVATE)),
Json {
ignoreUnknownKeys = true
isLenient = true
encodeDefaults = false
}
)
).also {
if (withLog) Napier.base(DebugAntilog())
}