Horis 2 년 전
부모
커밋
2d03fecf23
1개의 변경된 파일과 4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      app/src/main/java/io/legado/app/utils/ActivityResult.kt

+ 4 - 2
app/src/main/java/io/legado/app/utils/ActivityResult.kt

@@ -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 {