Skip to content

Commit 95479de

Browse files
feat: update dependencies and gradle, update in-app-billing implementation
1 parent a6a331e commit 95479de

File tree

4 files changed

+25
-18
lines changed

4 files changed

+25
-18
lines changed

buildSrc/src/main/java/Frames.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
object Frames {
44
const val appId = "dev.jahir.frames.app"
5-
const val version = 361
6-
const val versionName = "3.6.1"
5+
const val version = 362
6+
const val versionName = "3.6.2"
77
}

buildSrc/src/main/java/Versions.kt

+12-12
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,35 @@
22

33
object Versions {
44
// Plugins
5-
const val gradle = "8.3.0"
6-
const val kotlin = "1.9.23"
5+
const val gradle = "8.5.0"
6+
const val kotlin = "2.0.0"
77
const val sonatype = "1.3.0"
8-
const val ksp = "$kotlin-1.0.20"
8+
const val ksp = "$kotlin-1.0.22"
99

1010
// OneSignal
11-
const val oneSignal = "4.8.8"
11+
const val oneSignal = "4.8.10"
1212

1313
// App
1414
const val minSdk = 21
1515
const val targetSdk = 34
1616
const val buildTools = "34.0.0"
1717

1818
// Coroutines
19-
const val coroutines = "1.8.0"
19+
const val coroutines = "1.8.1"
2020

2121
// Android UI
22-
const val appcompat = "1.6.1"
22+
const val appcompat = "1.7.0"
2323
const val cardView = "1.0.0"
2424
const val recyclerView = "1.3.2"
2525
const val swipeRefreshLayout = "1.1.0"
2626
const val palette = "1.0.0"
2727
const val preference = "1.2.1"
28-
const val materialComponents = "1.11.0"
28+
const val materialComponents = "1.12.0"
2929
const val activityKtx = "1.9.0"
30-
const val fragmentKtx = "1.6.2"
30+
const val fragmentKtx = "1.8.1"
3131

3232
// ViewModel and LiveData
33-
const val lifecycle = "2.7.0"
33+
const val lifecycle = "2.8.2"
3434
const val lifecycleExt = "2.2.0"
3535

3636
// Room Database
@@ -40,7 +40,7 @@ object Versions {
4040
const val work = "2.9.0"
4141

4242
// Network & Serialization
43-
const val gson = "2.10.1"
43+
const val gson = "2.11.0"
4444
const val retrofit = "2.11.0"
4545

4646
// Image loading and Touch Image View
@@ -63,11 +63,11 @@ object Versions {
6363
const val licenseChecker = "1.2.8"
6464

6565
// In-App Billing
66-
const val inAppBilling = "6.2.1"
66+
const val inAppBilling = "7.0.0"
6767

6868
// MultiDex
6969
const val multidex = "2.0.1"
7070

7171
// Muzei
72-
const val muzei = "3.4.1"
72+
const val muzei = "3.4.2"
7373
}
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#Tue Jul 19 11:05:13 CEST 2022
22
distributionBase=GRADLE_USER_HOME
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
44
distributionPath=wrapper/dists
55
zipStorePath=wrapper/dists
66
zipStoreBase=GRADLE_USER_HOME

library/src/main/kotlin/dev/jahir/frames/data/viewmodels/BillingViewModel.kt

+10-3
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@ import com.android.billingclient.api.BillingClientStateListener
1111
import com.android.billingclient.api.BillingFlowParams
1212
import com.android.billingclient.api.BillingResult
1313
import com.android.billingclient.api.ConsumeParams
14+
import com.android.billingclient.api.PendingPurchasesParams
1415
import com.android.billingclient.api.ProductDetails
1516
import com.android.billingclient.api.Purchase
1617
import com.android.billingclient.api.PurchasesUpdatedListener
1718
import com.android.billingclient.api.QueryProductDetailsParams
1819
import com.android.billingclient.api.QueryPurchaseHistoryParams
1920
import com.android.billingclient.api.QueryPurchasesParams
2021
import com.android.billingclient.api.consumePurchase
22+
import com.android.billingclient.api.queryPurchasesAsync
2123
import dev.jahir.frames.data.listeners.BillingProcessesListener
2224
import dev.jahir.frames.data.models.DetailedPurchaseRecord
2325
import dev.jahir.frames.extensions.utils.asDetailedPurchase
@@ -61,7 +63,10 @@ class BillingViewModel(application: Application) : AndroidViewModel(application)
6163
billingClient = BillingClient
6264
.newBuilder(context)
6365
.setListener(this)
64-
.enablePendingPurchases()
66+
.enablePendingPurchases(
67+
PendingPurchasesParams.newBuilder()
68+
.enableOneTimeProducts().build()
69+
)
6570
.build()
6671
billingClient?.startConnection(this)
6772
}
@@ -94,6 +99,7 @@ class BillingViewModel(application: Application) : AndroidViewModel(application)
9499
BillingClient.ProductType.INAPP -> {
95100
inAppProductDetailsData.postValue(details)
96101
}
102+
97103
BillingClient.ProductType.SUBS -> {
98104
subscriptionsProductDetailsData.postValue(details)
99105
}
@@ -147,6 +153,7 @@ class BillingViewModel(application: Application) : AndroidViewModel(application)
147153
actualPurchases.sortedByDescending { it.purchaseTime }
148154
)
149155
}
156+
150157
BillingClient.ProductType.SUBS -> {
151158
subscriptionsPurchasesHistoryData.postValue(
152159
actualPurchases.sortedByDescending { it.purchaseTime }
@@ -170,9 +177,9 @@ class BillingViewModel(application: Application) : AndroidViewModel(application)
170177

171178
private suspend fun queryPurchasesHistory(@BillingClient.ProductType productType: String) {
172179
if (!isBillingClientReady) return
173-
val params = QueryPurchaseHistoryParams.newBuilder().setProductType(productType).build()
180+
val params = QueryPurchasesParams.newBuilder().setProductType(productType).build()
174181
withContext(IO) {
175-
billingClient?.queryPurchaseHistoryAsync(params) { billingResult, purchaseHistoryRecordList ->
182+
billingClient?.queryPurchasesAsync(params) { billingResult, purchaseHistoryRecordList ->
176183
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
177184
postPurchasesHistory(productType,
178185
purchaseHistoryRecordList.orEmpty()

0 commit comments

Comments
 (0)