Update to play billing 4.0

pull/2068/head
Alex Baker 3 years ago
parent 55a994fcca
commit f2a728a579

@ -253,7 +253,7 @@ dependencies {
googleplayImplementation("com.google.firebase:firebase-config-ktx:${Versions.remote_config}") googleplayImplementation("com.google.firebase:firebase-config-ktx:${Versions.remote_config}")
googleplayImplementation("com.google.android.gms:play-services-location:19.0.1") googleplayImplementation("com.google.android.gms:play-services-location:19.0.1")
googleplayImplementation("com.google.android.gms:play-services-maps:18.0.2") googleplayImplementation("com.google.android.gms:play-services-maps:18.0.2")
googleplayImplementation("com.android.billingclient:billing-ktx:3.0.3") googleplayImplementation("com.android.billingclient:billing-ktx:4.0.0")
googleplayImplementation("com.google.android.play:core:1.10.3") googleplayImplementation("com.google.android.play:core:1.10.3")
googleplayImplementation("com.google.android.play:core-ktx:1.8.1") googleplayImplementation("com.google.android.play:core-ktx:1.8.1")
googleplayImplementation("com.google.android.gms:play-services-oss-licenses:17.0.0") googleplayImplementation("com.google.android.gms:play-services-oss-licenses:17.0.0")

@ -2,19 +2,12 @@ package org.tasks.billing
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context
import com.android.billingclient.api.AcknowledgePurchaseParams import com.android.billingclient.api.*
import com.android.billingclient.api.BillingClient.* import com.android.billingclient.api.BillingClient.*
import com.android.billingclient.api.BillingClientStateListener
import com.android.billingclient.api.BillingFlowParams
import com.android.billingclient.api.BillingFlowParams.ProrationMode import com.android.billingclient.api.BillingFlowParams.ProrationMode
import com.android.billingclient.api.BillingResult import com.android.billingclient.api.BillingFlowParams.SubscriptionUpdateParams
import com.android.billingclient.api.ConsumeParams
import com.android.billingclient.api.Purchase.PurchaseState import com.android.billingclient.api.Purchase.PurchaseState
import com.android.billingclient.api.Purchase.PurchasesResult import com.android.billingclient.api.Purchase.PurchasesResult
import com.android.billingclient.api.PurchasesUpdatedListener
import com.android.billingclient.api.SkuDetailsParams
import com.android.billingclient.api.querySkuDetails
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
@ -77,7 +70,7 @@ class BillingClientImpl(
purchases?.forEach { purchases?.forEach {
firebase.reportIabResult( firebase.reportIabResult(
result.responseCodeString, result.responseCodeString,
it.sku, it.skus.joinToString(","),
it.purchaseState.purchaseStateString it.purchaseState.purchaseStateString
) )
} }
@ -112,9 +105,12 @@ class BillingClientImpl(
?: throw IllegalStateException("Sku $sku not found") ?: throw IllegalStateException("Sku $sku not found")
val params = BillingFlowParams.newBuilder().setSkuDetails(skuDetails) val params = BillingFlowParams.newBuilder().setSkuDetails(skuDetails)
oldPurchase?.let { oldPurchase?.let {
params params.setSubscriptionUpdateParams(
.setOldSku(it.sku, it.purchaseToken) SubscriptionUpdateParams.newBuilder()
.setReplaceSkusProrationMode(ProrationMode.IMMEDIATE_WITH_TIME_PRORATION) .setOldSkuPurchaseToken(it.purchaseToken)
.setReplaceSkusProrationMode(ProrationMode.IMMEDIATE_WITH_TIME_PRORATION)
.build()
)
} }
if (activity is OnPurchasesUpdated) { if (activity is OnPurchasesUpdated) {
onPurchasesUpdated = activity onPurchasesUpdated = activity

@ -24,7 +24,7 @@ class Purchase(private val purchase: Purchase) {
get() = purchase.signature get() = purchase.signature
val sku: String val sku: String
get() = purchase.sku get() = purchase.skus.first()
val purchaseToken: String val purchaseToken: String
get() = purchase.purchaseToken get() = purchase.purchaseToken

@ -250,8 +250,8 @@
+| +--- androidx.fragment:fragment:1.0.0 -> 1.4.0 (*) +| +--- androidx.fragment:fragment:1.0.0 -> 1.4.0 (*)
+| +--- com.google.android.gms:play-services-base:18.0.1 (*) +| +--- com.google.android.gms:play-services-base:18.0.1 (*)
+| \--- com.google.android.gms:play-services-basement:18.0.0 (*) +| \--- com.google.android.gms:play-services-basement:18.0.0 (*)
++--- com.android.billingclient:billing-ktx:3.0.3 ++--- com.android.billingclient:billing-ktx:4.0.0
+| +--- com.android.billingclient:billing:3.0.3 +| +--- com.android.billingclient:billing:4.0.0
+| +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.0 -> 1.7.20 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.0 -> 1.7.20 (*)
+| \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.6.4 (*) +| \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.6.4 (*)
++--- com.google.android.play:core:1.10.3 ++--- com.google.android.play:core:1.10.3

Loading…
Cancel
Save