Konsist: check if sealed class could be sealed interface and fix existing issues.

This commit is contained in:
Benoit Marty 2023-11-02 15:16:32 +01:00 committed by Benoit Marty
parent ddc1e1d0cc
commit 3092ca23f0
14 changed files with 66 additions and 55 deletions

View file

@ -22,14 +22,14 @@ import android.net.Uri
* This sealed class represents all the permalink cases.
* You don't have to instantiate yourself but should use [PermalinkParser] instead.
*/
sealed class PermalinkData {
sealed interface PermalinkData {
data class RoomLink(
val roomIdOrAlias: String,
val isRoomAlias: Boolean,
val eventId: String?,
val viaParameters: List<String>
) : PermalinkData()
) : PermalinkData
/*
* &room_name=Team2
@ -47,9 +47,9 @@ sealed class PermalinkData {
val token: String,
val privateKey: String,
val roomType: String?
) : PermalinkData()
) : PermalinkData
data class UserLink(val userId: String) : PermalinkData()
data class UserLink(val userId: String) : PermalinkData
data class FallbackLink(val uri: Uri, val isLegacyGroupLink: Boolean = false) : PermalinkData()
data class FallbackLink(val uri: Uri, val isLegacyGroupLink: Boolean = false) : PermalinkData
}

View file

@ -28,9 +28,9 @@ import kotlin.time.Duration
* Can be retrieved from [RoomListService] methods.
*/
interface RoomList {
sealed class LoadingState {
data object NotLoaded : LoadingState()
data class Loaded(val numberOfRooms: Int) : LoadingState()
sealed interface LoadingState {
data object NotLoaded : LoadingState
data class Loaded(val numberOfRooms: Int) : LoadingState
}
/**

View file

@ -25,16 +25,16 @@ import kotlinx.coroutines.flow.StateFlow
*/
interface RoomListService {
sealed class State {
data object Idle : State()
data object Running : State()
data object Error : State()
data object Terminated : State()
sealed interface State {
data object Idle : State
data object Running : State
data object Error : State
data object Terminated : State
}
sealed class SyncIndicator {
data object Show : SyncIndicator()
data object Hide : SyncIndicator()
sealed interface SyncIndicator {
data object Show : SyncIndicator
data object Hide : SyncIndicator
}
/**

View file

@ -16,7 +16,7 @@
package io.element.android.libraries.matrix.api.tracing
sealed class WriteToFilesConfiguration {
data object Disabled : WriteToFilesConfiguration()
data class Enabled(val directory: String, val filenamePrefix: String) : WriteToFilesConfiguration()
sealed interface WriteToFilesConfiguration {
data object Disabled : WriteToFilesConfiguration
data class Enabled(val directory: String, val filenamePrefix: String) : WriteToFilesConfiguration
}