Skip to content

Commit 88a80a2

Browse files
committed
chore(fc/billing): add logging
Signed-off-by: Brandon McAnsh <[email protected]>
1 parent dcd818f commit 88a80a2

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

services/flipchat/payments/src/main/kotlin/xyz/flipchat/services/billing/GooglePlayBillingController.kt

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package xyz.flipchat.services.billing
22

33
import android.app.Activity
44
import android.content.Context
5-
import android.util.Base64
65
import com.android.billingclient.api.AcknowledgePurchaseParams
76
import com.android.billingclient.api.BillingClient
87
import com.android.billingclient.api.BillingClient.BillingResponseCode
@@ -20,12 +19,7 @@ import com.android.billingclient.api.QueryProductDetailsParams
2019
import com.android.billingclient.api.QueryPurchasesParams
2120
import com.android.billingclient.api.acknowledgePurchase
2221
import com.android.billingclient.api.consumePurchase
23-
import com.codeinc.gen.user.v1.user
2422
import com.getcode.model.uuid
25-
import com.getcode.services.utils.base64EncodedData
26-
import com.getcode.utils.base58
27-
import com.getcode.utils.base64
28-
import com.getcode.utils.encodeBase64
2923
import com.google.common.collect.ImmutableList
3024
import dagger.hilt.android.qualifiers.ApplicationContext
3125
import kotlinx.coroutines.CoroutineScope
@@ -80,6 +74,7 @@ class GooglePlayBillingController(
8074
billingResult: BillingResult,
8175
purchases: MutableList<Purchase>?
8276
) {
77+
println("GPBC onPurchasesUpdated c=${billingResult.responseCode} m=${billingResult.debugMessage}; p=${purchases?.count()}")
8378
if (billingResult.responseCode == BillingResponseCode.OK && purchases != null) {
8479
for (purchase in purchases) {
8580
completePurchase(purchase)
@@ -123,10 +118,10 @@ class GooglePlayBillingController(
123118
)
124119
)
125120
}
126-
return "ERROR"
121+
return " "
127122
}
128123

129-
return details.oneTimePurchaseOfferDetails?.formattedPrice ?: "$0.99"
124+
return details.oneTimePurchaseOfferDetails?.formattedPrice ?: " "
130125
}
131126

132127
override suspend fun purchase(activity: Activity, product: IapProduct) {
@@ -161,19 +156,30 @@ class GooglePlayBillingController(
161156
}
162157

163158
private fun completePurchase(item: Purchase) {
159+
println("GPBC complete purchase ${item.orderId} ack=${item.isAcknowledged}")
164160
if (!item.isAcknowledged) {
165161
acknowledgeOrConsume(item)
162+
} else {
163+
val productId = item.products.first()
164+
val product = IapProduct.entries.firstOrNull { it.productId == productId }
165+
if (product != null) {
166+
scope.launch {
167+
_eventFlow.emit(IapPaymentEvent.OnSuccess(productId))
168+
}
169+
}
166170
}
167171

168172
purchases[item.products.first()] = item.purchaseState
169173
}
170174

171175
private fun acknowledgeOrConsume(item: Purchase) {
176+
println("GPBC ack or consume purchase")
172177
val productId = item.products.first()
173178
val product = IapProduct.entries.firstOrNull { it.productId == productId }
174179
if (product != null) {
175180
scope.launch {
176181
if (product.isConsumable) {
182+
println("GPBC consumable")
177183
val consumeResult = withContext(Dispatchers.IO) {
178184
client.consumePurchase(
179185
ConsumeParams.newBuilder()
@@ -188,6 +194,7 @@ class GooglePlayBillingController(
188194
_eventFlow.emit(IapPaymentEvent.OnError(productId, IapPaymentError(consumeResult.billingResult)))
189195
}
190196
} else {
197+
println("GPBC non-consumable")
191198
val acknowledgeResult = withContext(Dispatchers.IO) {
192199
client.acknowledgePurchase(
193200
AcknowledgePurchaseParams.newBuilder()
@@ -239,11 +246,12 @@ class GooglePlayBillingController(
239246

240247
client.queryPurchasesAsync(
241248
queryPurchasesParams,
242-
purchasesListener
249+
restorePurchasesListener
243250
)
244251
}
245252

246-
private val purchasesListener = PurchasesResponseListener { _, purchases ->
253+
private val restorePurchasesListener = PurchasesResponseListener { _, purchases ->
254+
println("GPBC restore ${purchases.count()}")
247255
purchases.onEach { completePurchase(it) }
248256
}
249257

@@ -252,15 +260,18 @@ class GooglePlayBillingController(
252260
billingResult: BillingResult
253261
) {
254262
if (billingResult.responseCode == BillingResponseCode.OK) {
263+
println("GPBC connected!")
255264
_stateFlow.update { BillingClientState.Connected }
256265
queryProducts()
257266
restorePurchases()
258267
} else {
268+
println("GPBC connection failed")
259269
_stateFlow.update { BillingClientState.Failed }
260270
}
261271
}
262272

263273
override fun onBillingServiceDisconnected() {
274+
println("GPBC connection lost")
264275
_stateFlow.update { BillingClientState.ConnectionLost }
265276
}
266277
}

0 commit comments

Comments
 (0)