Skip to content

Commit a888c87

Browse files
committed
Below than api24,use decodeFromString
Change-Id: Icf428ebfe7e153e132e112c2dc6926bd40ab3951
1 parent 85129e4 commit a888c87

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

core/network/src/main/kotlin/com/google/samples/apps/nowinandroid/core/network/demo/DemoNiaNetworkDataSource.kt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.google.samples.apps.nowinandroid.core.network.demo
1818

1919
import JvmUnitTestDemoAssetManager
20+
import android.os.Build
2021
import com.google.samples.apps.nowinandroid.core.network.Dispatcher
2122
import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO
2223
import com.google.samples.apps.nowinandroid.core.network.NiaNetworkDataSource
@@ -28,6 +29,7 @@ import kotlinx.coroutines.withContext
2829
import kotlinx.serialization.ExperimentalSerializationApi
2930
import kotlinx.serialization.json.Json
3031
import kotlinx.serialization.json.decodeFromStream
32+
import okio.use
3133
import javax.inject.Inject
3234

3335
/**
@@ -42,13 +44,21 @@ class DemoNiaNetworkDataSource @Inject constructor(
4244
@OptIn(ExperimentalSerializationApi::class)
4345
override suspend fun getTopics(ids: List<String>?): List<NetworkTopic> =
4446
withContext(ioDispatcher) {
45-
assets.open(TOPICS_ASSET).use(networkJson::decodeFromStream)
47+
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
48+
assets.open(TOPICS_ASSET).use(networkJson::decodeFromStream)
49+
} else {
50+
networkJson.decodeFromString(assets.open(TOPICS_ASSET).toString())
51+
}
4652
}
4753

4854
@OptIn(ExperimentalSerializationApi::class)
4955
override suspend fun getNewsResources(ids: List<String>?): List<NetworkNewsResource> =
5056
withContext(ioDispatcher) {
51-
assets.open(NEWS_ASSET).use(networkJson::decodeFromStream)
57+
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
58+
assets.open(NEWS_ASSET).use(networkJson::decodeFromStream)
59+
} else {
60+
networkJson.decodeFromString(assets.open(TOPICS_ASSET).toString())
61+
}
5262
}
5363

5464
override suspend fun getTopicChangeList(after: Int?): List<NetworkChangeList> =

0 commit comments

Comments
 (0)