优化
This commit is contained in:
@@ -8,9 +8,11 @@ import kotlinx.coroutines.suspendCancellableCoroutine
|
|||||||
import kotlin.coroutines.resume
|
import kotlin.coroutines.resume
|
||||||
|
|
||||||
fun <I, O> AppCompatActivity.registerForActivityResult(contract: ActivityResultContract<I, O>): ActivityResultLauncherAwait<I, O> {
|
fun <I, O> AppCompatActivity.registerForActivityResult(contract: ActivityResultContract<I, O>): ActivityResultLauncherAwait<I, O> {
|
||||||
var cout: CancellableContinuation<O>? = null
|
lateinit var cout: CancellableContinuation<O>
|
||||||
val launcher = registerForActivityResult(contract) {
|
val launcher = registerForActivityResult(contract) {
|
||||||
cout?.resume(it)
|
if (cout.isActive) {
|
||||||
|
cout.resume(it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return object : ActivityResultLauncherAwait<I, O>() {
|
return object : ActivityResultLauncherAwait<I, O>() {
|
||||||
override suspend fun launch(input: I, options: ActivityOptionsCompat?): O {
|
override suspend fun launch(input: I, options: ActivityOptionsCompat?): O {
|
||||||
|
|||||||
Reference in New Issue
Block a user