Konsist: check that if sealed interface is used in parameter of Composable, it has the @Stable or @Immutable annotation
This commit is contained in:
parent
3092ca23f0
commit
21200df294
19 changed files with 63 additions and 3 deletions
|
|
@ -16,6 +16,9 @@
|
|||
|
||||
package io.element.android.features.lockscreen.impl.pin.model
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
|
||||
@Immutable
|
||||
sealed interface PinDigit {
|
||||
data object Empty : PinDigit
|
||||
data class Filled(val value: Char) : PinDigit
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import android.Manifest
|
|||
import android.annotation.SuppressLint
|
||||
import android.net.Uri
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.Immutable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.MutableState
|
||||
import androidx.compose.runtime.getValue
|
||||
|
|
@ -409,6 +410,7 @@ class MessageComposerPresenter @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
@Immutable
|
||||
sealed interface RoomMemberSuggestion {
|
||||
data object Room : RoomMemberSuggestion
|
||||
data class Member(val roomMember: RoomMember) : RoomMemberSuggestion
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ import androidx.compose.foundation.shape.CornerSize
|
|||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.Immutable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
|
|
@ -103,6 +104,7 @@ fun MessagesReactionButton(
|
|||
}
|
||||
}
|
||||
|
||||
@Immutable
|
||||
sealed interface MessagesReactionsButtonContent {
|
||||
data class Text(val text: String) : MessagesReactionsButtonContent
|
||||
data class Icon(@DrawableRes val resourceId: Int) : MessagesReactionsButtonContent
|
||||
|
|
|
|||
|
|
@ -16,6 +16,9 @@
|
|||
|
||||
package io.element.android.features.messages.impl.timeline.model.event
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
|
||||
@Immutable
|
||||
sealed interface TimelineItemStateContent : TimelineItemEventContent {
|
||||
val body: String
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,8 +16,10 @@
|
|||
|
||||
package io.element.android.features.messages.impl.timeline.model.event
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import org.jsoup.nodes.Document
|
||||
|
||||
@Immutable
|
||||
sealed interface TimelineItemTextBasedContent : TimelineItemEventContent {
|
||||
val body: String
|
||||
val htmlDocument: Document?
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue