Fix performance issue reported by Konsist test Sealed interface used in Composable MUST be Immutable or Stable
This commit is contained in:
parent
b994a1ea91
commit
7348f74702
6 changed files with 14 additions and 0 deletions
|
|
@ -42,6 +42,7 @@ data class JoinRoomState(
|
|||
}
|
||||
}
|
||||
|
||||
@Immutable
|
||||
sealed interface ContentState {
|
||||
data class Loading(val roomIdOrAlias: RoomIdOrAlias) : ContentState
|
||||
data class Failure(val roomIdOrAlias: RoomIdOrAlias, val error: Throwable) : ContentState
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
package io.element.android.features.messages.impl.attachments.preview
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import io.element.android.features.messages.impl.attachments.Attachment
|
||||
|
||||
data class AttachmentsPreviewState(
|
||||
|
|
@ -24,8 +25,11 @@ data class AttachmentsPreviewState(
|
|||
val eventSink: (AttachmentsPreviewEvents) -> Unit
|
||||
)
|
||||
|
||||
@Immutable
|
||||
sealed interface SendActionState {
|
||||
data object Idle : SendActionState
|
||||
|
||||
@Immutable
|
||||
sealed interface Sending : SendActionState {
|
||||
data object Processing : Sending
|
||||
data class Uploading(val progress: Float) : Sending
|
||||
|
|
|
|||
|
|
@ -16,8 +16,10 @@
|
|||
|
||||
package io.element.android.features.messages.impl.sender
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import androidx.compose.ui.graphics.Color
|
||||
|
||||
@Immutable
|
||||
sealed interface SenderNameMode {
|
||||
data class Timeline(val mainColor: Color) : SenderNameMode
|
||||
data object Reply : SenderNameMode
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
package io.element.android.features.roomdetails.impl
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import io.element.android.features.leaveroom.api.LeaveRoomState
|
||||
import io.element.android.features.userprofile.shared.UserProfileState
|
||||
import io.element.android.libraries.matrix.api.core.RoomAlias
|
||||
|
|
@ -45,11 +46,13 @@ data class RoomDetailsState(
|
|||
val eventSink: (RoomDetailsEvent) -> Unit
|
||||
)
|
||||
|
||||
@Immutable
|
||||
sealed interface RoomDetailsType {
|
||||
data object Room : RoomDetailsType
|
||||
data class Dm(val roomMember: RoomMember) : RoomDetailsType
|
||||
}
|
||||
|
||||
@Immutable
|
||||
sealed interface RoomTopicState {
|
||||
data object Hidden : RoomTopicState
|
||||
data object CanAddTopic : RoomTopicState
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue