Safe checked casting
This commit is contained in:
@@ -926,7 +926,14 @@ open class Note(
|
||||
}
|
||||
}
|
||||
|
||||
fun <T : Event> toEventHint() = (event as? T)?.let { EventHintBundle(it, relayHintUrl(), author?.bestRelayHint()) }
|
||||
inline fun <reified T : Event> toEventHint(): EventHintBundle<T>? {
|
||||
val safeEvent = event
|
||||
return if (safeEvent is T) {
|
||||
EventHintBundle(safeEvent, relayHintUrl(), author?.bestRelayHint())
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
fun toMarkedETag(marker: MarkedETag.MARKER): MarkedETag {
|
||||
val noteEvent = event
|
||||
|
||||
+7
-2
@@ -31,7 +31,12 @@ class HiddenAccountsFeedViewModel(
|
||||
class Factory(
|
||||
val account: Account,
|
||||
) : ViewModelProvider.Factory {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T = HiddenAccountsFeedViewModel(account) as T
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
if (modelClass.isAssignableFrom(HiddenAccountsFeedViewModel::class.java)) {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
return HiddenAccountsFeedViewModel(account) as T
|
||||
}
|
||||
throw IllegalArgumentException("Unknown ViewModel class: ${modelClass.name}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user