Skip to content

Instantly share code, notes, and snippets.

@Runman44
Last active November 6, 2018 11:26
Show Gist options
  • Save Runman44/338387a9df3413a7c03c711b1ba58891 to your computer and use it in GitHub Desktop.
Save Runman44/338387a9df3413a7c03c711b1ba58891 to your computer and use it in GitHub Desktop.
open class ScreenState2 {
object LoadingState : ScreenState2()
class ErrorState(val error: Throwable) : ScreenState2()
class SuccessState(val data: String) : ScreenState2()
}
fun main(args: Array<String>) {
val response2: ScreenState2 = ScreenState2.SuccessState("yay")
when (response2) {
is ScreenState2.SuccessState -> doStuff(response2.data)
is ScreenState2.LoadingState -> { }
is ScreenState2.ErrorState -> { }
else -> { }
}
}
fun doStuff(data: String) {
//NO-OP
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment