Skip to content

Commit 6645ec9

Browse files
authored
Merge pull request #902 from SimonMarquis/resource-type-to-string
Replace `NewsResourceType` enum with simpler String type
2 parents 153b34f + 0ced769 commit 6645ec9

File tree

23 files changed

+42
-399
lines changed

23 files changed

+42
-399
lines changed

core/data/src/test/java/com/google/samples/apps/nowinandroid/core/data/CompositeUserNewsResourceRepositoryTest.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ package com.google.samples.apps.nowinandroid.core.data
1919
import com.google.samples.apps.nowinandroid.core.data.repository.CompositeUserNewsResourceRepository
2020
import com.google.samples.apps.nowinandroid.core.data.repository.NewsResourceQuery
2121
import com.google.samples.apps.nowinandroid.core.model.data.NewsResource
22-
import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType.Video
2322
import com.google.samples.apps.nowinandroid.core.model.data.Topic
2423
import com.google.samples.apps.nowinandroid.core.model.data.mapToUserNewsResources
2524
import com.google.samples.apps.nowinandroid.core.testing.repository.TestNewsRepository
@@ -164,7 +163,7 @@ private val sampleNewsResources = listOf(
164163
url = "https://youtu.be/-fJ6poHQrjM",
165164
headerImageUrl = "https://i.ytimg.com/vi/-fJ6poHQrjM/maxresdefault.jpg",
166165
publishDate = Instant.parse("2021-11-09T00:00:00.000Z"),
167-
type = Video,
166+
type = "Video 📺",
168167
topics = listOf(sampleTopic1),
169168
),
170169
NewsResource(
@@ -176,7 +175,7 @@ private val sampleNewsResources = listOf(
176175
url = "https://youtu.be/ZARz0pjm5YM",
177176
headerImageUrl = "https://i.ytimg.com/vi/ZARz0pjm5YM/maxresdefault.jpg",
178177
publishDate = Instant.parse("2021-11-01T00:00:00.000Z"),
179-
type = Video,
178+
type = "Video 📺",
180179
topics = listOf(sampleTopic1, sampleTopic2),
181180
),
182181
NewsResource(
@@ -186,7 +185,7 @@ private val sampleNewsResources = listOf(
186185
url = "https://youtu.be/r5JgIyS3t3s",
187186
headerImageUrl = "https://i.ytimg.com/vi/r5JgIyS3t3s/maxresdefault.jpg",
188187
publishDate = Instant.parse("2021-11-08T00:00:00.000Z"),
189-
type = Video,
188+
type = "Video 📺",
190189
topics = listOf(sampleTopic2),
191190
),
192191
)

core/data/src/test/java/com/google/samples/apps/nowinandroid/core/data/UserNewsResourceTest.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ package com.google.samples.apps.nowinandroid.core.data
1919
import com.google.samples.apps.nowinandroid.core.model.data.DarkThemeConfig.FOLLOW_SYSTEM
2020
import com.google.samples.apps.nowinandroid.core.model.data.FollowableTopic
2121
import com.google.samples.apps.nowinandroid.core.model.data.NewsResource
22-
import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType.Article
2322
import com.google.samples.apps.nowinandroid.core.model.data.ThemeBrand.DEFAULT
2423
import com.google.samples.apps.nowinandroid.core.model.data.Topic
2524
import com.google.samples.apps.nowinandroid.core.model.data.UserData
@@ -45,7 +44,7 @@ class UserNewsResourceTest {
4544
url = "Test URL",
4645
headerImageUrl = "Test image URL",
4746
publishDate = Clock.System.now(),
48-
type = Article,
47+
type = "Article 📚",
4948
topics = listOf(
5049
Topic(
5150
id = "T1",

core/data/src/test/java/com/google/samples/apps/nowinandroid/core/data/model/NetworkEntityKtTest.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package com.google.samples.apps.nowinandroid.core.data.model
1818

19-
import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType.Article
2019
import com.google.samples.apps.nowinandroid.core.network.model.NetworkNewsResource
2120
import com.google.samples.apps.nowinandroid.core.network.model.NetworkNewsResourceExpanded
2221
import com.google.samples.apps.nowinandroid.core.network.model.NetworkTopic
@@ -56,7 +55,7 @@ class NetworkEntityKtTest {
5655
url = "url",
5756
headerImageUrl = "headerImageUrl",
5857
publishDate = Instant.fromEpochMilliseconds(1),
59-
type = Article,
58+
type = "Article 📚",
6059
)
6160
val entity = networkModel.asEntity()
6261

@@ -66,7 +65,7 @@ class NetworkEntityKtTest {
6665
assertEquals("url", entity.url)
6766
assertEquals("headerImageUrl", entity.headerImageUrl)
6867
assertEquals(Instant.fromEpochMilliseconds(1), entity.publishDate)
69-
assertEquals(Article, entity.type)
68+
assertEquals("Article 📚", entity.type)
7069

7170
val expandedNetworkModel =
7271
NetworkNewsResourceExpanded(
@@ -76,7 +75,7 @@ class NetworkEntityKtTest {
7675
url = "url",
7776
headerImageUrl = "headerImageUrl",
7877
publishDate = Instant.fromEpochMilliseconds(1),
79-
type = Article,
78+
type = "Article 📚",
8079
)
8180

8281
val entityFromExpanded = expandedNetworkModel.asEntity()
@@ -87,6 +86,6 @@ class NetworkEntityKtTest {
8786
assertEquals("url", entityFromExpanded.url)
8887
assertEquals("headerImageUrl", entityFromExpanded.headerImageUrl)
8988
assertEquals(Instant.fromEpochMilliseconds(1), entityFromExpanded.publishDate)
90-
assertEquals(Article, entityFromExpanded.type)
89+
assertEquals("Article 📚", entityFromExpanded.type)
9190
}
9291
}

core/data/src/test/java/com/google/samples/apps/nowinandroid/core/database/model/PopulatedNewsResourceKtTest.kt

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

1919
import com.google.samples.apps.nowinandroid.core.model.data.NewsResource
20-
import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType.Video
2120
import com.google.samples.apps.nowinandroid.core.model.data.Topic
2221
import kotlinx.datetime.Instant
2322
import org.junit.Test
@@ -33,7 +32,7 @@ class PopulatedNewsResourceKtTest {
3332
content = "Hilt",
3433
url = "url",
3534
headerImageUrl = "headerImageUrl",
36-
type = Video,
35+
type = "Video 📺",
3736
publishDate = Instant.fromEpochMilliseconds(1),
3837
),
3938
topics = listOf(
@@ -56,7 +55,7 @@ class PopulatedNewsResourceKtTest {
5655
content = "Hilt",
5756
url = "url",
5857
headerImageUrl = "headerImageUrl",
59-
type = Video,
58+
type = "Video 📺",
6059
publishDate = Instant.fromEpochMilliseconds(1),
6160
topics = listOf(
6261
Topic(

core/data/src/test/java/com/google/samples/apps/nowinandroid/core/database/util/NewsResourceTypeConverterTest.kt

Lines changed: 0 additions & 96 deletions
This file was deleted.

core/database/src/androidTest/java/com/google/samples/apps/nowinandroid/core/database/dao/NewsResourceDaoTest.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import com.google.samples.apps.nowinandroid.core.database.model.NewsResourceEnti
2424
import com.google.samples.apps.nowinandroid.core.database.model.NewsResourceTopicCrossRef
2525
import com.google.samples.apps.nowinandroid.core.database.model.TopicEntity
2626
import com.google.samples.apps.nowinandroid.core.database.model.asExternalModel
27-
import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType
2827
import kotlinx.coroutines.flow.first
2928
import kotlinx.coroutines.test.runTest
3029
import kotlinx.datetime.Instant
@@ -305,5 +304,5 @@ private fun testNewsResource(
305304
url = "",
306305
headerImageUrl = "",
307306
publishDate = Instant.fromEpochMilliseconds(millisSinceEpoch),
308-
type = NewsResourceType.DAC,
307+
type = "Article 📚",
309308
)

core/database/src/main/java/com/google/samples/apps/nowinandroid/core/database/NiaDatabase.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import com.google.samples.apps.nowinandroid.core.database.model.RecentSearchQuer
3232
import com.google.samples.apps.nowinandroid.core.database.model.TopicEntity
3333
import com.google.samples.apps.nowinandroid.core.database.model.TopicFtsEntity
3434
import com.google.samples.apps.nowinandroid.core.database.util.InstantConverter
35-
import com.google.samples.apps.nowinandroid.core.database.util.NewsResourceTypeConverter
3635

3736
@Database(
3837
entities = [
@@ -63,7 +62,6 @@ import com.google.samples.apps.nowinandroid.core.database.util.NewsResourceTypeC
6362
)
6463
@TypeConverters(
6564
InstantConverter::class,
66-
NewsResourceTypeConverter::class,
6765
)
6866
abstract class NiaDatabase : RoomDatabase() {
6967
abstract fun topicDao(): TopicDao

core/database/src/main/java/com/google/samples/apps/nowinandroid/core/database/model/NewsResourceEntity.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import androidx.room.ColumnInfo
2020
import androidx.room.Entity
2121
import androidx.room.PrimaryKey
2222
import com.google.samples.apps.nowinandroid.core.model.data.NewsResource
23-
import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType
2423
import kotlinx.datetime.Instant
2524

2625
/**
@@ -39,7 +38,7 @@ data class NewsResourceEntity(
3938
val headerImageUrl: String?,
4039
@ColumnInfo(name = "publish_date")
4140
val publishDate: Instant,
42-
val type: NewsResourceType,
41+
val type: String,
4342
)
4443

4544
fun NewsResourceEntity.asExternalModel() = NewsResource(

core/database/src/main/java/com/google/samples/apps/nowinandroid/core/database/util/Converters.kt renamed to core/database/src/main/java/com/google/samples/apps/nowinandroid/core/database/util/InstantConverter.kt

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
package com.google.samples.apps.nowinandroid.core.database.util
1818

1919
import androidx.room.TypeConverter
20-
import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType
21-
import com.google.samples.apps.nowinandroid.core.model.data.asNewsResourceType
2220
import kotlinx.datetime.Instant
2321

2422
class InstantConverter {
@@ -30,13 +28,3 @@ class InstantConverter {
3028
fun instantToLong(instant: Instant?): Long? =
3129
instant?.toEpochMilliseconds()
3230
}
33-
34-
class NewsResourceTypeConverter {
35-
@TypeConverter
36-
fun newsResourceTypeToString(value: NewsResourceType?): String? =
37-
value?.let(NewsResourceType::serializedName)
38-
39-
@TypeConverter
40-
fun stringToNewsResourceType(serializedName: String?): NewsResourceType =
41-
serializedName.asNewsResourceType()
42-
}

core/model/src/main/java/com/google/samples/apps/nowinandroid/core/model/data/NewsResource.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ data class NewsResource(
2828
val url: String,
2929
val headerImageUrl: String?,
3030
val publishDate: Instant,
31-
val type: NewsResourceType,
31+
val type: String,
3232
val topics: List<Topic>,
3333
)

0 commit comments

Comments
 (0)