Skip to content

Commit 553ec77

Browse files
authored
Merge pull request #1550 from DimensionDev/bugfix/paging_error
fix paging loading error
2 parents 2b6b91d + 0e5df9e commit 553ec77

File tree

7 files changed

+364
-1
lines changed

7 files changed

+364
-1
lines changed

gradle/libs.versions.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ firebase-bom = "34.6.0"
5050
google-services = "4.4.4"
5151
firebase-crashlytics = "3.0.6"
5252
materialKolor = "4.0.4"
53-
room = "2.8.4"
53+
room = "2.8.3"
5454
sqlite = "2.6.2"
5555
compose-multiplatform = "1.9.3"
5656
logback = "1.5.21"
@@ -99,6 +99,7 @@ material3-adaptive-layout = { group = "androidx.compose.material3.adaptive", nam
9999
material3-adaptive-navigation = { group = "androidx.compose.material3.adaptive", name = "adaptive-navigation" }
100100
paging-common = { group = "androidx.paging", name = "paging-common", version.ref = "paging" }
101101
paging-compose = { group = "androidx.paging", name = "paging-compose", version.ref = "paging" }
102+
paging-testing = { group = "androidx.paging", name = "paging-testing", version.ref = "paging" }
102103
composeIcons-fontAwesome = { module = "moe.tlaster.compose.icons:font-awesome", version.ref = "composeIcons" }
103104
datastore = { group = "androidx.datastore", name = "datastore", version = "1.2.0" }
104105
desugar_jdk_libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar_jdk_libs" }

shared/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ kotlin {
8686
dependencies {
8787
implementation(kotlin("test"))
8888
implementation(libs.kotlinx.coroutines.test)
89+
implementation(libs.paging.testing)
8990
}
9091
}
9192
val androidJvmMain by getting {

shared/src/commonMain/kotlin/dev/dimension/flare/data/database/cache/dao/StatusReferenceDao.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@ internal interface StatusReferenceDao {
1717

1818
@Query("DELETE FROM status_reference WHERE statusKey in (:keys)")
1919
suspend fun delete(keys: List<MicroBlogKey>)
20+
21+
@Query("SELECT * FROM status_reference WHERE statusKey = :key")
22+
suspend fun getByStatusKey(key: MicroBlogKey): List<DbStatusReference>
2023
}

shared/src/commonMain/kotlin/dev/dimension/flare/data/database/cache/model/StatusContent.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,12 @@ internal sealed interface StatusContent {
123123
) : RssContent
124124
}
125125
}
126+
127+
@Serializable
128+
@SerialName("Test")
129+
data class Test internal constructor(
130+
internal val data: String,
131+
) : StatusContent
126132
}
127133

128134
internal suspend inline fun <reified T : StatusContent> updateStatusUseCase(

shared/src/commonMain/kotlin/dev/dimension/flare/data/database/cache/model/UserContent.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,10 @@ internal sealed interface UserContent {
5050
data class VVO internal constructor(
5151
internal val data: dev.dimension.flare.data.network.vvo.model.User,
5252
) : UserContent
53+
54+
@Serializable
55+
@SerialName("Test")
56+
data class Test internal constructor(
57+
internal val data: String,
58+
) : UserContent
5359
}

shared/src/commonMain/kotlin/dev/dimension/flare/ui/model/mapper/Render.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ internal fun StatusContent.render(
129129
)
130130

131131
is StatusContent.Rss -> data.render()
132+
is StatusContent.Test -> error("Test content cannot be rendered")
132133
}
133134

134135
internal fun DbUser.render(accountKey: MicroBlogKey) =
@@ -145,6 +146,7 @@ internal fun DbUser.render(accountKey: MicroBlogKey) =
145146
is UserContent.MisskeyLite -> content.data.render(accountKey = accountKey)
146147
is UserContent.VVO -> content.data.render(accountKey = accountKey)
147148
is UserContent.XQT -> content.data.render(accountKey = accountKey)
149+
is UserContent.Test -> error("Test content cannot be rendered")
148150
}
149151

150152
internal fun DbDirectMessageTimelineWithRoom.render(

0 commit comments

Comments
 (0)