diff --git a/core/network/src/main/assets/data.json b/core/network/src/main/assets/news.json similarity index 100% rename from core/network/src/main/assets/data.json rename to core/network/src/main/assets/news.json diff --git a/core/network/src/main/java/com/google/samples/apps/nowinandroid/core/network/fake/FakeDataSource.kt b/core/network/src/main/java/com/google/samples/apps/nowinandroid/core/network/fake/FakeDataSource.kt deleted file mode 100644 index cf6aff8b5..000000000 --- a/core/network/src/main/java/com/google/samples/apps/nowinandroid/core/network/fake/FakeDataSource.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.google.samples.apps.nowinandroid.core.network.fake - -object FakeDataSource { - const val AUTHORS = "authors.json" - const val DATA = "data.json" - const val TOPICS = "topics.json" -} diff --git a/core/network/src/main/java/com/google/samples/apps/nowinandroid/core/network/fake/FakeNiaNetworkDataSource.kt b/core/network/src/main/java/com/google/samples/apps/nowinandroid/core/network/fake/FakeNiaNetworkDataSource.kt index 027034169..dcf3722fe 100644 --- a/core/network/src/main/java/com/google/samples/apps/nowinandroid/core/network/fake/FakeNiaNetworkDataSource.kt +++ b/core/network/src/main/java/com/google/samples/apps/nowinandroid/core/network/fake/FakeNiaNetworkDataSource.kt @@ -27,6 +27,7 @@ import com.google.samples.apps.nowinandroid.core.network.model.NetworkTopic import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.withContext +import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream @@ -38,19 +39,29 @@ class FakeNiaNetworkDataSource @Inject constructor( private val networkJson: Json, private val assets: FakeAssetManager = JvmUnitTestFakeAssetManager, ) : NiaNetworkDataSource { + + companion object { + private const val AUTHORS_ASSET = "authors.json" + private const val NEWS_ASSET = "news.json" + private const val TOPICS_ASSET = "topics.json" + } + + @OptIn(ExperimentalSerializationApi::class) override suspend fun getTopics(ids: List?): List = withContext(ioDispatcher) { - assets.open(FakeDataSource.TOPICS).use(networkJson::decodeFromStream) + assets.open(TOPICS_ASSET).use(networkJson::decodeFromStream) } + @OptIn(ExperimentalSerializationApi::class) override suspend fun getNewsResources(ids: List?): List = withContext(ioDispatcher) { - assets.open(FakeDataSource.DATA).use(networkJson::decodeFromStream) + assets.open(NEWS_ASSET).use(networkJson::decodeFromStream) } + @OptIn(ExperimentalSerializationApi::class) override suspend fun getAuthors(ids: List?): List = withContext(ioDispatcher) { - assets.open(FakeDataSource.AUTHORS).use(networkJson::decodeFromStream) + assets.open(AUTHORS_ASSET).use(networkJson::decodeFromStream) } override suspend fun getTopicChangeList(after: Int?): List =