react-native-iap 12.8.5 → 12.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -1
- package/android/src/amazon/AndroidManifest.xml +1 -1
- package/android/src/amazon/java/com/dooboolab/{RNIap → rniap}/EventSender.kt +2 -2
- package/android/src/amazon/java/com/dooboolab/{RNIap → rniap}/PurchasingServiceProxy.kt +1 -1
- package/android/src/amazon/java/com/dooboolab/{RNIap → rniap}/PurchasingServiceProxyAmazonImpl.kt +1 -1
- package/android/src/amazon/java/com/dooboolab/{RNIap → rniap}/RNIapActivityListener.kt +1 -1
- package/android/src/amazon/java/com/dooboolab/{RNIap → rniap}/RNIapAmazonListener.kt +20 -20
- package/android/src/amazon/java/com/dooboolab/{RNIap → rniap}/RNIapAmazonModule.kt +5 -5
- package/android/src/amazon/java/com/dooboolab/{RNIap → rniap}/RNIapPackage.kt +1 -1
- package/android/src/main/AndroidManifest.xml +1 -1
- package/android/src/main/java/com/dooboolab/{RNIap → rniap}/PromiseUtils.kt +2 -2
- package/android/src/main/java/com/dooboolab/{RNIap → rniap}/PromiseUtlis.kt +1 -1
- package/android/src/play/java/com/dooboolab/{RNIap → rniap}/PlayUtils.kt +12 -12
- package/android/src/play/java/com/dooboolab/{RNIap → rniap}/RNIapActivityListener.kt +1 -1
- package/android/src/play/java/com/dooboolab/{RNIap → rniap}/RNIapModule.kt +58 -58
- package/android/src/play/java/com/dooboolab/{RNIap → rniap}/RNIapPackage.kt +1 -1
- package/android/src/testAmazon/java/com/dooboolab/{RNIap → rniap}/RNIapAmazonModuleTest.kt +2 -2
- package/lib/commonjs/eventEmitter.js +3 -17
- package/lib/commonjs/eventEmitter.js.map +1 -1
- package/lib/commonjs/hooks/index.js +0 -2
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useIAP.js +0 -7
- package/lib/commonjs/hooks/useIAP.js.map +1 -1
- package/lib/commonjs/hooks/withIAPContext.js +0 -11
- package/lib/commonjs/hooks/withIAPContext.js.map +1 -1
- package/lib/commonjs/iap.js +15 -84
- package/lib/commonjs/iap.js.map +1 -1
- package/lib/commonjs/index.js +0 -14
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/internal/enhancedFetch.js +0 -4
- package/lib/commonjs/internal/enhancedFetch.js.map +1 -1
- package/lib/commonjs/internal/fillProductsWithAdditionalData.js +3 -6
- package/lib/commonjs/internal/fillProductsWithAdditionalData.js.map +1 -1
- package/lib/commonjs/internal/index.js +0 -6
- package/lib/commonjs/internal/index.js.map +1 -1
- package/lib/commonjs/internal/platform.js +6 -40
- package/lib/commonjs/internal/platform.js.map +1 -1
- package/lib/commonjs/modules/amazon.js +3 -12
- package/lib/commonjs/modules/amazon.js.map +1 -1
- package/lib/commonjs/modules/android.js +3 -17
- package/lib/commonjs/modules/android.js.map +1 -1
- package/lib/commonjs/modules/index.js +0 -8
- package/lib/commonjs/modules/index.js.map +1 -1
- package/lib/commonjs/modules/ios.js +9 -39
- package/lib/commonjs/modules/ios.js.map +1 -1
- package/lib/commonjs/modules/iosSk2.js +5 -19
- package/lib/commonjs/modules/iosSk2.js.map +1 -1
- package/lib/commonjs/purchaseError.js +4 -8
- package/lib/commonjs/purchaseError.js.map +1 -1
- package/lib/commonjs/types/android.js +19 -29
- package/lib/commonjs/types/android.js.map +1 -1
- package/lib/commonjs/types/apple.js +1 -3
- package/lib/commonjs/types/apple.js.map +1 -1
- package/lib/commonjs/types/appleSk2.js +2 -13
- package/lib/commonjs/types/appleSk2.js.map +1 -1
- package/lib/commonjs/types/index.js +21 -31
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/module/eventEmitter.js +3 -6
- package/lib/module/eventEmitter.js.map +1 -1
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useIAP.js +0 -2
- package/lib/module/hooks/useIAP.js.map +1 -1
- package/lib/module/hooks/withIAPContext.js +0 -3
- package/lib/module/hooks/withIAPContext.js.map +1 -1
- package/lib/module/iap.js +15 -43
- package/lib/module/iap.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/internal/enhancedFetch.js +0 -2
- package/lib/module/internal/enhancedFetch.js.map +1 -1
- package/lib/module/internal/fillProductsWithAdditionalData.js +3 -3
- package/lib/module/internal/fillProductsWithAdditionalData.js.map +1 -1
- package/lib/module/internal/index.js.map +1 -1
- package/lib/module/internal/platform.js +8 -14
- package/lib/module/internal/platform.js.map +1 -1
- package/lib/module/modules/amazon.js +3 -3
- package/lib/module/modules/amazon.js.map +1 -1
- package/lib/module/modules/android.js +3 -5
- package/lib/module/modules/android.js.map +1 -1
- package/lib/module/modules/index.js.map +1 -1
- package/lib/module/modules/ios.js +9 -20
- package/lib/module/modules/ios.js.map +1 -1
- package/lib/module/modules/iosSk2.js +5 -5
- package/lib/module/modules/iosSk2.js.map +1 -1
- package/lib/module/purchaseError.js +3 -6
- package/lib/module/purchaseError.js.map +1 -1
- package/lib/module/types/android.js +16 -22
- package/lib/module/types/android.js.map +1 -1
- package/lib/module/types/apple.js +1 -1
- package/lib/module/types/apple.js.map +1 -1
- package/lib/module/types/appleSk2.js +2 -3
- package/lib/module/types/appleSk2.js.map +1 -1
- package/lib/module/types/index.js +17 -25
- package/lib/module/types/index.js.map +1 -1
- package/lib/typescript/plugin/src/withIAP.d.ts +1 -1
- package/lib/typescript/plugin/src/withIAP.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useIAP.d.ts +1 -1
- package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
- package/lib/typescript/src/hooks/withIAPContext.d.ts +1 -1
- package/lib/typescript/src/hooks/withIAPContext.d.ts.map +1 -1
- package/lib/typescript/src/iap.d.ts +1 -1
- package/lib/typescript/src/iap.d.ts.map +1 -1
- package/lib/typescript/src/internal/platform.d.ts +7 -5
- package/lib/typescript/src/internal/platform.d.ts.map +1 -1
- package/lib/typescript/src/modules/amazon.d.ts +8 -8
- package/lib/typescript/src/modules/amazon.d.ts.map +1 -1
- package/lib/typescript/src/modules/android.d.ts +9 -9
- package/lib/typescript/src/modules/android.d.ts.map +1 -1
- package/lib/typescript/src/modules/ios.d.ts +11 -11
- package/lib/typescript/src/modules/ios.d.ts.map +1 -1
- package/lib/typescript/src/modules/iosSk2.d.ts +11 -11
- package/lib/typescript/src/modules/iosSk2.d.ts.map +1 -1
- package/lib/typescript/src/types/amazon.d.ts +2 -2
- package/lib/typescript/src/types/amazon.d.ts.map +1 -1
- package/lib/typescript/src/types/android.d.ts +1 -1
- package/lib/typescript/src/types/android.d.ts.map +1 -1
- package/lib/typescript/src/types/appleSk2.d.ts +11 -11
- package/lib/typescript/src/types/appleSk2.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +10 -10
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/package.json +18 -17
- package/plugin/build/withIAP.d.ts +1 -1
- package/src/hooks/withIAPContext.tsx +1 -0
package/android/build.gradle
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.dooboolab.
|
|
1
|
+
package com.dooboolab.rniap
|
|
2
2
|
|
|
3
3
|
import android.util.Log
|
|
4
4
|
import com.amazon.device.iap.PurchasingListener
|
|
@@ -20,7 +20,7 @@ val ProductType.typeString: String
|
|
|
20
20
|
|
|
21
21
|
class RNIapAmazonListener(
|
|
22
22
|
var eventSender: EventSender?,
|
|
23
|
-
var purchasingService: PurchasingServiceProxy
|
|
23
|
+
var purchasingService: PurchasingServiceProxy?,
|
|
24
24
|
) : PurchasingListener {
|
|
25
25
|
|
|
26
26
|
override fun onProductDataResponse(response: ProductDataResponse) {
|
|
@@ -38,7 +38,7 @@ class RNIapAmazonListener(
|
|
|
38
38
|
} catch (e: NumberFormatException) {
|
|
39
39
|
Log.w(
|
|
40
40
|
TAG,
|
|
41
|
-
"onProductDataResponse: Failed to parse price for product: " + product.sku
|
|
41
|
+
"onProductDataResponse: Failed to parse price for product: " + product.sku,
|
|
42
42
|
)
|
|
43
43
|
}
|
|
44
44
|
val item = Arguments.createMap()
|
|
@@ -61,7 +61,7 @@ class RNIapAmazonListener(
|
|
|
61
61
|
PromiseUtils
|
|
62
62
|
.resolvePromisesForKey(
|
|
63
63
|
RNIapAmazonModule.PROMISE_GET_PRODUCT_DATA,
|
|
64
|
-
items
|
|
64
|
+
items,
|
|
65
65
|
)
|
|
66
66
|
}
|
|
67
67
|
ProductDataResponse.RequestStatus.FAILED ->
|
|
@@ -70,7 +70,7 @@ class RNIapAmazonListener(
|
|
|
70
70
|
RNIapAmazonModule.PROMISE_GET_PRODUCT_DATA,
|
|
71
71
|
E_PRODUCT_DATA_RESPONSE_FAILED,
|
|
72
72
|
null,
|
|
73
|
-
null
|
|
73
|
+
null,
|
|
74
74
|
)
|
|
75
75
|
ProductDataResponse.RequestStatus.NOT_SUPPORTED ->
|
|
76
76
|
PromiseUtils
|
|
@@ -78,7 +78,7 @@ class RNIapAmazonListener(
|
|
|
78
78
|
RNIapAmazonModule.PROMISE_GET_PRODUCT_DATA,
|
|
79
79
|
E_PRODUCT_DATA_RESPONSE_NOT_SUPPORTED,
|
|
80
80
|
null,
|
|
81
|
-
null
|
|
81
|
+
null,
|
|
82
82
|
)
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -104,18 +104,18 @@ class RNIapAmazonListener(
|
|
|
104
104
|
PromiseUtils
|
|
105
105
|
.resolvePromisesForKey(
|
|
106
106
|
RNIapAmazonModule.PROMISE_BUY_ITEM,
|
|
107
|
-
promiseItem
|
|
107
|
+
promiseItem,
|
|
108
108
|
)
|
|
109
109
|
}
|
|
110
110
|
PromiseUtils
|
|
111
111
|
.resolvePromisesForKey(
|
|
112
112
|
RNIapAmazonModule.PROMISE_QUERY_PURCHASES,
|
|
113
|
-
true
|
|
113
|
+
true,
|
|
114
114
|
)
|
|
115
115
|
PromiseUtils
|
|
116
116
|
.resolvePromisesForKey(
|
|
117
117
|
RNIapAmazonModule.PROMISE_QUERY_AVAILABLE_ITEMS,
|
|
118
|
-
availableItems
|
|
118
|
+
availableItems,
|
|
119
119
|
)
|
|
120
120
|
}
|
|
121
121
|
}
|
|
@@ -133,14 +133,14 @@ class RNIapAmazonListener(
|
|
|
133
133
|
RNIapAmazonModule.PROMISE_QUERY_PURCHASES,
|
|
134
134
|
errorCode,
|
|
135
135
|
debugMessage,
|
|
136
|
-
null
|
|
136
|
+
null,
|
|
137
137
|
)
|
|
138
138
|
PromiseUtils
|
|
139
139
|
.rejectPromisesForKey(
|
|
140
140
|
RNIapAmazonModule.PROMISE_QUERY_AVAILABLE_ITEMS,
|
|
141
141
|
errorCode,
|
|
142
142
|
debugMessage,
|
|
143
|
-
null
|
|
143
|
+
null,
|
|
144
144
|
)
|
|
145
145
|
}
|
|
146
146
|
PurchaseUpdatesResponse.RequestStatus.NOT_SUPPORTED -> {
|
|
@@ -157,14 +157,14 @@ class RNIapAmazonListener(
|
|
|
157
157
|
RNIapAmazonModule.PROMISE_QUERY_PURCHASES,
|
|
158
158
|
errorCode,
|
|
159
159
|
debugMessage,
|
|
160
|
-
null
|
|
160
|
+
null,
|
|
161
161
|
)
|
|
162
162
|
PromiseUtils
|
|
163
163
|
.rejectPromisesForKey(
|
|
164
164
|
RNIapAmazonModule.PROMISE_QUERY_AVAILABLE_ITEMS,
|
|
165
165
|
errorCode,
|
|
166
166
|
debugMessage,
|
|
167
|
-
null
|
|
167
|
+
null,
|
|
168
168
|
)
|
|
169
169
|
}
|
|
170
170
|
}
|
|
@@ -200,7 +200,7 @@ class RNIapAmazonListener(
|
|
|
200
200
|
PromiseUtils
|
|
201
201
|
.resolvePromisesForKey(
|
|
202
202
|
RNIapAmazonModule.PROMISE_BUY_ITEM,
|
|
203
|
-
promiseItem
|
|
203
|
+
promiseItem,
|
|
204
204
|
)
|
|
205
205
|
}
|
|
206
206
|
PurchaseResponse.RequestStatus.ALREADY_PURCHASED -> {
|
|
@@ -217,7 +217,7 @@ class RNIapAmazonListener(
|
|
|
217
217
|
RNIapAmazonModule.PROMISE_BUY_ITEM,
|
|
218
218
|
errorCode,
|
|
219
219
|
debugMessage,
|
|
220
|
-
null
|
|
220
|
+
null,
|
|
221
221
|
)
|
|
222
222
|
}
|
|
223
223
|
PurchaseResponse.RequestStatus.FAILED -> {
|
|
@@ -235,7 +235,7 @@ class RNIapAmazonListener(
|
|
|
235
235
|
RNIapAmazonModule.PROMISE_BUY_ITEM,
|
|
236
236
|
errorCode,
|
|
237
237
|
debugMessage,
|
|
238
|
-
null
|
|
238
|
+
null,
|
|
239
239
|
)
|
|
240
240
|
}
|
|
241
241
|
PurchaseResponse.RequestStatus.INVALID_SKU -> {
|
|
@@ -252,7 +252,7 @@ class RNIapAmazonListener(
|
|
|
252
252
|
RNIapAmazonModule.PROMISE_BUY_ITEM,
|
|
253
253
|
errorCode,
|
|
254
254
|
debugMessage,
|
|
255
|
-
null
|
|
255
|
+
null,
|
|
256
256
|
)
|
|
257
257
|
}
|
|
258
258
|
PurchaseResponse.RequestStatus.NOT_SUPPORTED -> {
|
|
@@ -269,7 +269,7 @@ class RNIapAmazonListener(
|
|
|
269
269
|
RNIapAmazonModule.PROMISE_BUY_ITEM,
|
|
270
270
|
errorCode,
|
|
271
271
|
debugMessage,
|
|
272
|
-
null
|
|
272
|
+
null,
|
|
273
273
|
)
|
|
274
274
|
}
|
|
275
275
|
}
|
|
@@ -292,7 +292,7 @@ class RNIapAmazonListener(
|
|
|
292
292
|
RNIapAmazonModule.PROMISE_GET_USER_DATA,
|
|
293
293
|
E_USER_DATA_RESPONSE_NOT_SUPPORTED,
|
|
294
294
|
null,
|
|
295
|
-
null
|
|
295
|
+
null,
|
|
296
296
|
)
|
|
297
297
|
UserDataResponse.RequestStatus.FAILED ->
|
|
298
298
|
PromiseUtils
|
|
@@ -300,7 +300,7 @@ class RNIapAmazonListener(
|
|
|
300
300
|
RNIapAmazonModule.PROMISE_GET_USER_DATA,
|
|
301
301
|
E_USER_DATA_RESPONSE_FAILED,
|
|
302
302
|
null,
|
|
303
|
-
null
|
|
303
|
+
null,
|
|
304
304
|
)
|
|
305
305
|
}
|
|
306
306
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.dooboolab.
|
|
1
|
+
package com.dooboolab.rniap
|
|
2
2
|
|
|
3
3
|
import android.content.Intent
|
|
4
4
|
import android.net.Uri
|
|
@@ -21,7 +21,7 @@ import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
|
21
21
|
class RNIapAmazonModule(
|
|
22
22
|
private val reactContext: ReactApplicationContext,
|
|
23
23
|
private val purchasingService: PurchasingServiceProxy = PurchasingServiceProxyAmazonImpl(),
|
|
24
|
-
private var eventSender: EventSender? = null
|
|
24
|
+
private var eventSender: EventSender? = null,
|
|
25
25
|
) :
|
|
26
26
|
ReactContextBaseJavaModule(reactContext) {
|
|
27
27
|
override fun getName(): String {
|
|
@@ -133,7 +133,7 @@ class RNIapAmazonModule(
|
|
|
133
133
|
@ReactMethod
|
|
134
134
|
fun buyItemByType(
|
|
135
135
|
sku: String?,
|
|
136
|
-
promise: Promise
|
|
136
|
+
promise: Promise,
|
|
137
137
|
) {
|
|
138
138
|
PromiseUtils.addPromiseForKey(PROMISE_BUY_ITEM, promise)
|
|
139
139
|
val requestId = purchasingService.purchase(sku)
|
|
@@ -143,7 +143,7 @@ class RNIapAmazonModule(
|
|
|
143
143
|
fun acknowledgePurchase(
|
|
144
144
|
token: String?,
|
|
145
145
|
developerPayLoad: String?,
|
|
146
|
-
promise: Promise
|
|
146
|
+
promise: Promise,
|
|
147
147
|
) {
|
|
148
148
|
purchasingService.notifyFulfillment(token, FulfillmentResult.FULFILLED)
|
|
149
149
|
promise.resolve(true)
|
|
@@ -153,7 +153,7 @@ class RNIapAmazonModule(
|
|
|
153
153
|
fun consumeProduct(
|
|
154
154
|
token: String?,
|
|
155
155
|
developerPayLoad: String?,
|
|
156
|
-
promise: Promise
|
|
156
|
+
promise: Promise,
|
|
157
157
|
) {
|
|
158
158
|
purchasingService.notifyFulfillment(token, FulfillmentResult.FULFILLED)
|
|
159
159
|
promise.resolve(true)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.dooboolab.
|
|
1
|
+
package com.dooboolab.rniap
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.Promise
|
|
4
4
|
import java.lang.Exception
|
|
@@ -28,7 +28,7 @@ object PromiseUtils {
|
|
|
28
28
|
key: String,
|
|
29
29
|
code: String?,
|
|
30
30
|
message: String?,
|
|
31
|
-
err: Exception
|
|
31
|
+
err: Exception?,
|
|
32
32
|
) {
|
|
33
33
|
promises[key]?.forEach { promise ->
|
|
34
34
|
promise.safeReject(code, message, err)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.dooboolab.
|
|
1
|
+
package com.dooboolab.rniap
|
|
2
2
|
|
|
3
3
|
import android.util.Log
|
|
4
4
|
import com.android.billingclient.api.BillingClient
|
|
@@ -17,67 +17,67 @@ object PlayUtils {
|
|
|
17
17
|
BillingClient.BillingResponseCode.FEATURE_NOT_SUPPORTED -> {
|
|
18
18
|
BillingResponse(
|
|
19
19
|
PromiseUtils.E_SERVICE_ERROR,
|
|
20
|
-
"This feature is not available on your device."
|
|
20
|
+
"This feature is not available on your device.",
|
|
21
21
|
)
|
|
22
22
|
}
|
|
23
23
|
BillingClient.BillingResponseCode.SERVICE_DISCONNECTED -> {
|
|
24
24
|
BillingResponse(
|
|
25
25
|
PromiseUtils.E_NETWORK_ERROR,
|
|
26
|
-
"The service is disconnected (check your internet connection.)"
|
|
26
|
+
"The service is disconnected (check your internet connection.)",
|
|
27
27
|
)
|
|
28
28
|
}
|
|
29
29
|
BillingClient.BillingResponseCode.OK -> {
|
|
30
30
|
BillingResponse(
|
|
31
31
|
"OK",
|
|
32
|
-
""
|
|
32
|
+
"",
|
|
33
33
|
)
|
|
34
34
|
}
|
|
35
35
|
BillingClient.BillingResponseCode.USER_CANCELED -> {
|
|
36
36
|
BillingResponse(
|
|
37
37
|
PromiseUtils.E_USER_CANCELLED,
|
|
38
|
-
"Payment is Cancelled."
|
|
38
|
+
"Payment is Cancelled.",
|
|
39
39
|
)
|
|
40
40
|
}
|
|
41
41
|
BillingClient.BillingResponseCode.SERVICE_UNAVAILABLE -> {
|
|
42
42
|
BillingResponse(
|
|
43
43
|
PromiseUtils.E_SERVICE_ERROR,
|
|
44
|
-
"The service is unreachable. This may be your internet connection, or the Play Store may be down."
|
|
44
|
+
"The service is unreachable. This may be your internet connection, or the Play Store may be down.",
|
|
45
45
|
)
|
|
46
46
|
}
|
|
47
47
|
BillingClient.BillingResponseCode.BILLING_UNAVAILABLE -> {
|
|
48
48
|
BillingResponse(
|
|
49
49
|
PromiseUtils.E_SERVICE_ERROR,
|
|
50
|
-
"Billing is unavailable. This may be a problem with your device, or the Play Store may be down."
|
|
50
|
+
"Billing is unavailable. This may be a problem with your device, or the Play Store may be down.",
|
|
51
51
|
)
|
|
52
52
|
}
|
|
53
53
|
BillingClient.BillingResponseCode.ITEM_UNAVAILABLE -> {
|
|
54
54
|
BillingResponse(
|
|
55
55
|
PromiseUtils.E_ITEM_UNAVAILABLE,
|
|
56
|
-
"That item is unavailable."
|
|
56
|
+
"That item is unavailable.",
|
|
57
57
|
)
|
|
58
58
|
}
|
|
59
59
|
BillingClient.BillingResponseCode.DEVELOPER_ERROR -> {
|
|
60
60
|
BillingResponse(
|
|
61
61
|
PromiseUtils.E_DEVELOPER_ERROR,
|
|
62
|
-
"Google is indicating that we have some issue connecting to payment."
|
|
62
|
+
"Google is indicating that we have some issue connecting to payment.",
|
|
63
63
|
)
|
|
64
64
|
}
|
|
65
65
|
BillingClient.BillingResponseCode.ERROR -> {
|
|
66
66
|
BillingResponse(
|
|
67
67
|
PromiseUtils.E_UNKNOWN,
|
|
68
|
-
"An unknown or unexpected error has occurred. Please try again later."
|
|
68
|
+
"An unknown or unexpected error has occurred. Please try again later.",
|
|
69
69
|
)
|
|
70
70
|
}
|
|
71
71
|
BillingClient.BillingResponseCode.ITEM_ALREADY_OWNED -> {
|
|
72
72
|
BillingResponse(
|
|
73
73
|
PromiseUtils.E_ALREADY_OWNED,
|
|
74
|
-
"You already own this item."
|
|
74
|
+
"You already own this item.",
|
|
75
75
|
)
|
|
76
76
|
}
|
|
77
77
|
else -> {
|
|
78
78
|
BillingResponse(
|
|
79
79
|
PromiseUtils.E_UNKNOWN,
|
|
80
|
-
"Purchase failed with code: $responseCode"
|
|
80
|
+
"Purchase failed with code: $responseCode",
|
|
81
81
|
)
|
|
82
82
|
}
|
|
83
83
|
}
|