Fix billing upgrade issues

pull/1463/head
Alex Baker 5 years ago
parent d8599c6aff
commit 62c507c37f

@ -18,11 +18,10 @@ import com.android.billingclient.api.consumePurchase
import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.NonCancellable
import kotlinx.coroutines.suspendCancellableCoroutine
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import org.tasks.BuildConfig import org.tasks.BuildConfig
import org.tasks.analytics.Firebase 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 org.tasks.jobs.WorkManager
import timber.log.Timber import timber.log.Timber
import kotlin.coroutines.resume import kotlin.coroutines.resume
@ -141,13 +140,15 @@ class BillingClientImpl(
} }
private suspend fun connect(): BillingResult = private suspend fun connect(): BillingResult =
suspendCoroutine { cont -> suspendCancellableCoroutine { cont ->
billingClient.startConnection( billingClient.startConnection(
object : BillingClientStateListener { object : BillingClientStateListener {
override fun onBillingSetupFinished(result: BillingResult) { override fun onBillingSetupFinished(result: BillingResult) {
if (result.success) { if (result.success) {
connected = true connected = true
cont.resumeWith(Result.success(result)) if (cont.isActive) {
cont.resumeWith(Result.success(result))
}
} else { } else {
cont.resumeWithException( cont.resumeWithException(
IllegalStateException(result.responseCodeString) IllegalStateException(result.responseCodeString)

@ -2,7 +2,7 @@
<resources> <resources>
<string name="gp_key">MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk8mXRE3dDXwtinUILCEzKjov2rxs3kZbLRzNrcjFWXpG9OEsUzRGLzqEN+WwibVuMRpZLj/+IxbU2sJWq/M0q+90rOhmXn46ZPeNyr77IqX2pWKIAWpzBoWq/mshRwtm9m1FIiGdBNlXrhSE7u3TGB5FuEuuSqKWvWzxeqQ7fHmlM04Lqrh1mN3FaMne8rWv+DWVHDbLrtnXBuC36glOAj17HxrzaE2v6Pv7Df3QefJ3rM1+0fAp/5jNInaP0qHAlG8WTbUmDShQ5kG3urbv3HLByyx6TSqhmNudXUK/6TusvIj50OptAG7x+UFYf956dD3diXhY3yoICvyFWx1sNwIDAQAB</string> <string name="gp_key">MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk8mXRE3dDXwtinUILCEzKjov2rxs3kZbLRzNrcjFWXpG9OEsUzRGLzqEN+WwibVuMRpZLj/+IxbU2sJWq/M0q+90rOhmXn46ZPeNyr77IqX2pWKIAWpzBoWq/mshRwtm9m1FIiGdBNlXrhSE7u3TGB5FuEuuSqKWvWzxeqQ7fHmlM04Lqrh1mN3FaMne8rWv+DWVHDbLrtnXBuC36glOAj17HxrzaE2v6Pv7Df3QefJ3rM1+0fAp/5jNInaP0qHAlG8WTbUmDShQ5kG3urbv3HLByyx6TSqhmNudXUK/6TusvIj50OptAG7x+UFYf956dD3diXhY3yoICvyFWx1sNwIDAQAB</string>
<string name="market_url">market://details?id=org.tasks</string> <string name="market_url">market://details?id=org.tasks</string>
<string name="p_purchases">purchases</string> <string name="p_purchases">purchases_v3</string>
<string name="manage_subscription_url">https://play.google.com/store/account/subscriptions?sku=%s&amp;package=org.tasks</string> <string name="manage_subscription_url">https://play.google.com/store/account/subscriptions?sku=%s&amp;package=org.tasks</string>
<string name="support_email">play-support@tasks.org</string> <string name="support_email">play-support@tasks.org</string>
</resources> </resources>
Loading…
Cancel
Save