Convert some sealed classes to interfaces (#4347)

There is no non-abstract field in them, we can just fall back to
interfaces.
This commit is contained in:
Zongle Wang 2024-03-30 03:11:53 +08:00 committed by GitHub
commit 1acae50845
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 43 additions and 40 deletions

View file

@ -22,12 +22,12 @@ import com.keylesspalace.tusky.entity.Translation
import com.keylesspalace.tusky.util.parseAsMastodonHtml
import com.keylesspalace.tusky.util.shouldTrimStatus
sealed class TranslationViewData {
abstract val data: Translation?
sealed interface TranslationViewData {
val data: Translation?
data class Loaded(override val data: Translation) : TranslationViewData()
data class Loaded(override val data: Translation) : TranslationViewData
data object Loading : TranslationViewData() {
data object Loading : TranslationViewData {
override val data: Translation?
get() = null
}

View file

@ -17,15 +17,14 @@ package com.keylesspalace.tusky.viewdata
import java.util.Date
sealed class TrendingViewData {
abstract val id: String
sealed interface TrendingViewData {
val id: String
data class Header(
val start: Date,
val end: Date
) : TrendingViewData() {
override val id: String
get() = start.toString() + end.toString()
) : TrendingViewData {
override val id: String = start.toString() + end.toString()
}
data class Tag(
@ -33,8 +32,7 @@ sealed class TrendingViewData {
val usage: List<Long>,
val accounts: List<Long>,
val maxTrendingValue: Long
) : TrendingViewData() {
override val id: String
get() = name
) : TrendingViewData {
override val id: String = name
}
}