improve NotificationViewData

This commit is contained in:
Conny Duck 2024-05-03 15:18:56 +02:00
parent a6e9fc1a4d
commit 3581e9a933
No known key found for this signature in database
1 changed files with 12 additions and 4 deletions

View File

@ -22,19 +22,27 @@ sealed class NotificationViewData {
abstract val id: String
abstract fun asStatusOrNull(): StatusViewData.Concrete?
abstract fun asPlaceholderOrNull(): Placeholder?
data class Concrete(
override val id: String,
val type: Notification.Type,
val account: TimelineAccount,
val statusViewData: StatusViewData.Concrete?,
val report: Report?
) : NotificationViewData()
) : NotificationViewData() {
override fun asStatusOrNull() = statusViewData
override fun asPlaceholderOrNull() = null
}
data class Placeholder(
override val id: String,
val isLoading: Boolean
) : NotificationViewData()
) : NotificationViewData() {
override fun asStatusOrNull() = null
fun asStatusOrNull() = (this as? Concrete)?.statusViewData
fun asPlaceholderOrNull() = (this as? Placeholder)
override fun asPlaceholderOrNull() = this
}
}