diff --git a/app/src/googleplay/java/org/tasks/billing/BillingClientImpl.kt b/app/src/googleplay/java/org/tasks/billing/BillingClientImpl.kt index 5bcbec08e..82b451c14 100644 --- a/app/src/googleplay/java/org/tasks/billing/BillingClientImpl.kt +++ b/app/src/googleplay/java/org/tasks/billing/BillingClientImpl.kt @@ -18,11 +18,10 @@ import com.android.billingclient.api.consumePurchase import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.NonCancellable +import kotlinx.coroutines.suspendCancellableCoroutine import kotlinx.coroutines.withContext import org.tasks.BuildConfig import org.tasks.analytics.Firebase -import org.tasks.billing.Purchase.Companion.isPurchased -import org.tasks.billing.Purchase.Companion.needsAcknowledgement import org.tasks.jobs.WorkManager import timber.log.Timber import kotlin.coroutines.resume @@ -141,13 +140,15 @@ class BillingClientImpl( } private suspend fun connect(): BillingResult = - suspendCoroutine { cont -> + suspendCancellableCoroutine { cont -> billingClient.startConnection( object : BillingClientStateListener { override fun onBillingSetupFinished(result: BillingResult) { if (result.success) { connected = true - cont.resumeWith(Result.success(result)) + if (cont.isActive) { + cont.resumeWith(Result.success(result)) + } } else { cont.resumeWithException( IllegalStateException(result.responseCodeString) diff --git a/app/src/googleplay/res/values/keys.xml b/app/src/googleplay/res/values/keys.xml index 37f7e3bf6..748bd1eb2 100644 --- a/app/src/googleplay/res/values/keys.xml +++ b/app/src/googleplay/res/values/keys.xml @@ -2,7 +2,7 @@ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk8mXRE3dDXwtinUILCEzKjov2rxs3kZbLRzNrcjFWXpG9OEsUzRGLzqEN+WwibVuMRpZLj/+IxbU2sJWq/M0q+90rOhmXn46ZPeNyr77IqX2pWKIAWpzBoWq/mshRwtm9m1FIiGdBNlXrhSE7u3TGB5FuEuuSqKWvWzxeqQ7fHmlM04Lqrh1mN3FaMne8rWv+DWVHDbLrtnXBuC36glOAj17HxrzaE2v6Pv7Df3QefJ3rM1+0fAp/5jNInaP0qHAlG8WTbUmDShQ5kG3urbv3HLByyx6TSqhmNudXUK/6TusvIj50OptAG7x+UFYf956dD3diXhY3yoICvyFWx1sNwIDAQAB market://details?id=org.tasks - purchases + purchases_v3 https://play.google.com/store/account/subscriptions?sku=%s&package=org.tasks play-support@tasks.org \ No newline at end of file