diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 4987281ff..6b5c66247 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -192,7 +192,6 @@ dependencies { // https://coil-kt.github.io/coil/changelog/ implementation("io.coil-kt:coil-compose:2.2.2") - implementation("org.jetbrains.kotlinx:atomicfu:0.20.0") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4") implementation("org.jetbrains.kotlinx:kotlinx-serialization-cbor:1.5.0-RC") implementation("org.jsoup:jsoup:1.15.4") diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index a6dff9f12..9a20ba8d8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -85,6 +85,7 @@ import eu.kanade.tachiyomi.ui.reader.setting.ReadingModeType import eu.kanade.tachiyomi.ui.reader.viewer.BaseViewer import eu.kanade.tachiyomi.ui.reader.viewer.pager.R2LPagerViewer import eu.kanade.tachiyomi.util.lang.launchIO +import eu.kanade.tachiyomi.util.lang.launchUI import eu.kanade.tachiyomi.util.lang.withUIContext import eu.kanade.tachiyomi.util.preference.toggle import eu.kanade.tachiyomi.util.system.applySystemAnimatorScale @@ -94,7 +95,6 @@ import eu.kanade.tachiyomi.util.view.copy import eu.kanade.tachiyomi.util.view.popupMenu import eu.kanade.tachiyomi.util.view.setTooltip import eu.kanade.tachiyomi.widget.listener.SimpleAnimationListener -import kotlinx.atomicfu.atomic import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.currentCoroutineContext import kotlinx.coroutines.ensureActive @@ -109,6 +109,7 @@ import java.io.FileInputStream import java.io.IOException import java.io.InputStream import java.io.OutputStream +import java.util.concurrent.atomic.AtomicReference import kotlin.coroutines.Continuation import kotlin.coroutines.resume import kotlin.math.abs @@ -211,7 +212,7 @@ class ReaderActivity : EhActivity() { Toast.makeText(this, R.string.error_reading_failed, Toast.LENGTH_SHORT).show() } - val continuation = atomic(null) + val continuation: AtomicReference?> = AtomicReference(null) mGalleryProvider = ArchivePageLoader(this, mUri!!, flow { if (!dialogShown) { @@ -224,7 +225,7 @@ class ReaderActivity : EhActivity() { if (passwd.isEmpty()) builder.setError(getString(R.string.passwd_cannot_be_empty)) else { - continuation.getAndSet(null)?.resume(passwd) + continuation.get()?.resume(passwd) } } setOnCancelListener { @@ -236,7 +237,7 @@ class ReaderActivity : EhActivity() { while (true) { currentCoroutineContext().ensureActive() val r = suspendCancellableCoroutine { - continuation.value = it + continuation.set(it) it.invokeOnCancellation { dialog.dismiss() } } emit(r) @@ -1147,5 +1148,3 @@ class ReaderActivity : EhActivity() { } } } - -typealias StringResumeable = Continuation