From 4498aa191f310ecf5c210386bbff98c18dfd40a9 Mon Sep 17 00:00:00 2001 From: Jonas Lochmann Date: Mon, 21 Jul 2025 02:00:00 +0200 Subject: [PATCH] Update Google Play Billing Library --- app/build.gradle | 2 +- .../android/ui/payment/ActivityPurchaseModel.kt | 13 +++++++++---- .../java/com/android/billingclient/api/Mocks.kt | 13 +++++++++++-- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d4597b0..02fb07f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -218,7 +218,7 @@ dependencies { implementation 'com.squareup.okhttp3:okhttp-tls:4.9.3' implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3' - googleApiImplementation "com.android.billingclient:billing-ktx:7.1.1" + googleApiImplementation "com.android.billingclient:billing-ktx:8.0.0" implementation('io.socket:socket.io-client:2.0.0') { exclude group: 'org.json', module: 'json' diff --git a/app/src/main/java/io/timelimit/android/ui/payment/ActivityPurchaseModel.kt b/app/src/main/java/io/timelimit/android/ui/payment/ActivityPurchaseModel.kt index 001cf94..ec3bc27 100644 --- a/app/src/main/java/io/timelimit/android/ui/payment/ActivityPurchaseModel.kt +++ b/app/src/main/java/io/timelimit/android/ui/payment/ActivityPurchaseModel.kt @@ -1,5 +1,5 @@ /* - * TimeLimit Copyright 2019 - 2023 Jonas Lochmann + * TimeLimit Copyright 2019 - 2025 Jonas Lochmann * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -74,9 +74,14 @@ class ActivityPurchaseModel(application: Application): AndroidViewModel(applicat clientMutex.withLock { if (_billingClient == null) { _billingClient = BillingClient.newBuilder(getApplication()) - .enablePendingPurchases() - .setListener(purchaseUpdatedListener) - .build() + .enablePendingPurchases( + PendingPurchasesParams + .newBuilder() + .enableOneTimeProducts() + .build() + ) + .setListener(purchaseUpdatedListener) + .build() } val initBillingClient = _billingClient!! diff --git a/app/src/noGoogleApi/java/com/android/billingclient/api/Mocks.kt b/app/src/noGoogleApi/java/com/android/billingclient/api/Mocks.kt index 660edaa..7cc9759 100644 --- a/app/src/noGoogleApi/java/com/android/billingclient/api/Mocks.kt +++ b/app/src/noGoogleApi/java/com/android/billingclient/api/Mocks.kt @@ -1,5 +1,5 @@ /* - * TimeLimit Copyright 2019 - 2022 Jonas Lochmann + * TimeLimit Copyright 2019 - 2025 Jonas Lochmann * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -42,7 +42,7 @@ object BillingClient { enum class ProductType { INAPP } object Builder { - fun enablePendingPurchases() = this + fun enablePendingPurchases(params: PendingPurchasesParams) = this fun setListener(listener: PurchasesUpdatedListener) = this fun build() = BillingClient } @@ -143,4 +143,13 @@ object QueryPurchasesParams { fun newBuilder() = this fun setProductType(type: BillingClient.ProductType) = this fun build() = this +} + +object PendingPurchasesParams { + object Builder { + fun enableOneTimeProducts() = this + fun build() = PendingPurchasesParams + } + + fun newBuilder() = Builder } \ No newline at end of file