diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 5202b13..0ebe13d 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -33,3 +33,8 @@ -dontwarn org.conscrypt.** -dontwarn org.bouncycastle.** -dontwarn org.openjsse.** + +# ─── Tink / EncryptedSharedPreferences (androidx.security-crypto) ───────────── +# Tink references compile-only Error Prone annotations that aren't on the runtime +# classpath; they're not needed at runtime, so silence the missing-class errors. +-dontwarn com.google.errorprone.annotations.** diff --git a/app/src/main/java/no/svorka/mcms/core/ApiClient.kt b/app/src/main/java/no/svorka/mcms/core/ApiClient.kt index f44274b..8c5946c 100644 --- a/app/src/main/java/no/svorka/mcms/core/ApiClient.kt +++ b/app/src/main/java/no/svorka/mcms/core/ApiClient.kt @@ -1,6 +1,7 @@ package no.svorka.mcms.core import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.suspendCancellableCoroutine import kotlinx.coroutines.withContext import kotlinx.serialization.json.JsonElement @@ -24,6 +25,7 @@ import kotlin.coroutines.resumeWithException private fun Response.closeQuietly() { runCatching { close() } } /** Suspend bridge for an OkHttp call, with coroutine cancellation. */ +@OptIn(ExperimentalCoroutinesApi::class) // resume(value) { onCancellation } overload suspend fun Call.await(): Response = suspendCancellableCoroutine { cont -> enqueue(object : Callback { override fun onResponse(call: Call, response: Response) {