therealbluepandabear
03/19/2022, 3:24 AMtailrec
do here?
tailrec fun Context.activity(): Activity? = when {
this is Activity -> this
else -> (this as? ContextWrapper)?.baseContext?.activity()
}
Luke
03/19/2022, 4:48 AMephemient
03/19/2022, 5:08 AMfun Context.activity(): Activity? =
generateSequence(this) { (it as? ContextWrapper)?.baseContext }
.filterIsInstance<Activity>()
.firstOrNull()
Adam Powell
03/19/2022, 3:05 PMgenerateSequence
version is dramatically less efficient than the tailrec
version