mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 18:47:03 +05:30
refactor: use immutable collections where flagged by Lint
This commit is contained in:
parent
d7cc55ed53
commit
b969b5f0bf
11 changed files with 22 additions and 43 deletions
|
@ -36,6 +36,7 @@ dependencies {
|
|||
implementation(libs.compose.richtext.markdown)
|
||||
implementation(libs.compose.richtext.material3)
|
||||
implementation(libs.compose.richtext.ui)
|
||||
implementation(libs.kotlinx.collections.immutable)
|
||||
implementation(libs.kotlinx.coroutines.core)
|
||||
testImplementation(kotlin("test-junit"))
|
||||
testImplementation(libs.testparameterinjector)
|
||||
|
|
|
@ -1,15 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<issues format="6" by="lint 7.4.2" type="baseline" client="gradle" dependencies="false" name="AGP (7.4.2)" variant="all" version="7.4.2">
|
||||
|
||||
<issue
|
||||
id="ComposeUnstableCollections"
|
||||
message="The Compose Compiler cannot infer the stability of a parameter if a List<String> is used in it, even if the item type is stable.
You should use Kotlinx Immutable Collections instead: `tags: ImmutableList<String>` or create an `@Immutable` wrapper for this class: `@Immutable data class TagsList(val items: List<String>)`
See https://slackhq.github.io/compose-lints/rules/#avoid-using-unstable-collections for more information."
|
||||
errorLine1=" tags: List<String>,"
|
||||
errorLine2=" ~~~~~~~~~~~~">
|
||||
<location
|
||||
file="src/main/kotlin/dev/msfjarvis/claw/common/posts/LobstersCard.kt"
|
||||
line="204"
|
||||
column="9"/>
|
||||
</issue>
|
||||
|
||||
</issues>
|
||||
|
|
|
@ -48,6 +48,7 @@ import dev.msfjarvis.claw.model.LinkMetadata
|
|||
import dev.msfjarvis.claw.model.LobstersPostDetails
|
||||
import java.time.Instant
|
||||
import java.time.temporal.TemporalAccessor
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
@Composable
|
||||
internal fun CommentsHeader(
|
||||
|
@ -71,7 +72,7 @@ internal fun CommentsHeader(
|
|||
verticalArrangement = Arrangement.spacedBy(8.dp),
|
||||
) {
|
||||
PostTitle(title = postDetails.title)
|
||||
TagRow(tags = postDetails.tags)
|
||||
TagRow(tags = postDetails.tags.toImmutableList())
|
||||
Spacer(Modifier.height(4.dp))
|
||||
|
||||
if (linkMetadata.url.isNotBlank()) {
|
||||
|
|
|
@ -47,6 +47,8 @@ import com.google.accompanist.flowlayout.FlowRow
|
|||
import dev.msfjarvis.claw.common.res.ClawIcons
|
||||
import dev.msfjarvis.claw.common.ui.NetworkImage
|
||||
import dev.msfjarvis.claw.database.local.SavedPost
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
@Composable
|
||||
@OptIn(ExperimentalFoundationApi::class)
|
||||
|
@ -104,7 +106,7 @@ fun LobstersCard(
|
|||
fun PostDetails(post: SavedPost, modifier: Modifier = Modifier) {
|
||||
Column(modifier = modifier, verticalArrangement = Arrangement.spacedBy(8.dp)) {
|
||||
PostTitle(title = post.title)
|
||||
TagRow(tags = post.tags)
|
||||
TagRow(tags = post.tags.toImmutableList())
|
||||
Spacer(Modifier.height(4.dp))
|
||||
Submitter(
|
||||
text = AnnotatedString("Submitted by ${post.submitterName}"),
|
||||
|
@ -201,7 +203,7 @@ private fun CommentsButton(
|
|||
|
||||
@Composable
|
||||
internal fun TagRow(
|
||||
tags: List<String>,
|
||||
tags: ImmutableList<String>,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
FlowRow(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue