Update to play billing 4.0

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

@ -253,7 +253,7 @@ dependencies {
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-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-ktx:1.8.1")
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.content.Context
import com.android.billingclient.api.AcknowledgePurchaseParams
import com.android.billingclient.api.*
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.BillingResult
import com.android.billingclient.api.ConsumeParams
import com.android.billingclient.api.BillingFlowParams.SubscriptionUpdateParams
import com.android.billingclient.api.Purchase.PurchaseState
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 kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.NonCancellable
@ -77,7 +70,7 @@ class BillingClientImpl(
purchases?.forEach {
firebase.reportIabResult(
result.responseCodeString,
it.sku,
it.skus.joinToString(","),
it.purchaseState.purchaseStateString
)
}
@ -112,9 +105,12 @@ class BillingClientImpl(
?: throw IllegalStateException("Sku $sku not found")
val params = BillingFlowParams.newBuilder().setSkuDetails(skuDetails)
oldPurchase?.let {
params
.setOldSku(it.sku, it.purchaseToken)
.setReplaceSkusProrationMode(ProrationMode.IMMEDIATE_WITH_TIME_PRORATION)
params.setSubscriptionUpdateParams(
SubscriptionUpdateParams.newBuilder()
.setOldSkuPurchaseToken(it.purchaseToken)
.setReplaceSkusProrationMode(ProrationMode.IMMEDIATE_WITH_TIME_PRORATION)
.build()
)
}
if (activity is OnPurchasesUpdated) {
onPurchasesUpdated = activity

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

@ -250,8 +250,8 @@
+| +--- 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-basement:18.0.0 (*)
++--- com.android.billingclient:billing-ktx:3.0.3
+| +--- com.android.billingclient:billing:3.0.3
++--- com.android.billingclient:billing-ktx:4.0.0
+| +--- com.android.billingclient:billing:4.0.0
+| +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.0 -> 1.7.20 (*)
+| \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.6.4 (*)
++--- com.google.android.play:core:1.10.3

Loading…
Cancel
Save