react-native-iap 8.0.5 → 8.0.6

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.
Binary file
@@ -1,40 +1,24 @@
1
1
  package com.dooboolab.RNIap
2
2
 
3
- import com.facebook.react.ReactPackage
4
- import java.lang.Class
5
- import com.facebook.react.bridge.JavaScriptModule
6
- import com.facebook.react.bridge.ReactApplicationContext
7
- import com.facebook.react.bridge.NativeModule
8
- import java.util.ArrayList
9
- import com.dooboolab.RNIap.RNIapAmazonModule
10
- import com.facebook.react.bridge.ReactContextBaseJavaModule
11
- import com.facebook.react.bridge.ReactMethod
12
- import com.facebook.react.bridge.Promise
13
- import com.amazon.device.iap.PurchasingService
14
- import com.dooboolab.RNIap.RNIapAmazonListener
15
- import com.amazon.device.iap.model.RequestId
16
- import com.dooboolab.RNIap.DoobooUtils
17
- import com.facebook.react.bridge.WritableNativeArray
18
- import com.facebook.react.bridge.ReadableArray
19
- import java.util.HashSet
20
- import com.amazon.device.iap.model.FulfillmentResult
21
- import com.facebook.react.bridge.ReactContext
3
+ import android.util.Log
22
4
  import com.amazon.device.iap.PurchasingListener
5
+ import com.amazon.device.iap.PurchasingService
23
6
  import com.amazon.device.iap.model.Product
24
7
  import com.amazon.device.iap.model.ProductDataResponse
25
8
  import com.amazon.device.iap.model.ProductType
26
- import java.lang.NumberFormatException
27
- import android.util.Log
28
- import com.facebook.react.bridge.WritableMap
29
- import com.facebook.react.bridge.Arguments
30
- import com.amazon.device.iap.model.CoinsReward
9
+ import com.amazon.device.iap.model.PurchaseResponse
31
10
  import com.amazon.device.iap.model.PurchaseUpdatesResponse
32
11
  import com.amazon.device.iap.model.Receipt
33
- import com.facebook.react.bridge.WritableNativeMap
34
- import com.amazon.device.iap.model.PurchaseResponse
35
12
  import com.amazon.device.iap.model.UserData
36
13
  import com.amazon.device.iap.model.UserDataResponse
14
+ import com.facebook.react.bridge.Arguments
15
+ import com.facebook.react.bridge.ReactContext
16
+ import com.facebook.react.bridge.WritableMap
17
+ import com.facebook.react.bridge.WritableNativeArray
18
+ import com.facebook.react.bridge.WritableNativeMap
37
19
  import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter
20
+ import java.lang.NumberFormatException
21
+ import java.util.ArrayList
38
22
 
39
23
  class RNIapAmazonListener(private val reactContext: ReactContext) : PurchasingListener {
40
24
  val TAG = "RNIapAmazonListener"
@@ -96,20 +80,22 @@ class RNIapAmazonListener(private val reactContext: ReactContext) : PurchasingLi
96
80
  items
97
81
  )
98
82
  }
99
- ProductDataResponse.RequestStatus.FAILED -> DoobooUtils.instance
100
- .rejectPromisesForKey(
101
- RNIapAmazonModule.Companion.PROMISE_GET_PRODUCT_DATA,
102
- E_PRODUCT_DATA_RESPONSE_FAILED,
103
- null,
104
- null
105
- )
106
- ProductDataResponse.RequestStatus.NOT_SUPPORTED -> DoobooUtils.instance
107
- .rejectPromisesForKey(
108
- RNIapAmazonModule.Companion.PROMISE_GET_PRODUCT_DATA,
109
- E_PRODUCT_DATA_RESPONSE_NOT_SUPPORTED,
110
- null,
111
- null
112
- )
83
+ ProductDataResponse.RequestStatus.FAILED ->
84
+ DoobooUtils.instance
85
+ .rejectPromisesForKey(
86
+ RNIapAmazonModule.Companion.PROMISE_GET_PRODUCT_DATA,
87
+ E_PRODUCT_DATA_RESPONSE_FAILED,
88
+ null,
89
+ null
90
+ )
91
+ ProductDataResponse.RequestStatus.NOT_SUPPORTED ->
92
+ DoobooUtils.instance
93
+ .rejectPromisesForKey(
94
+ RNIapAmazonModule.Companion.PROMISE_GET_PRODUCT_DATA,
95
+ E_PRODUCT_DATA_RESPONSE_NOT_SUPPORTED,
96
+ null,
97
+ null
98
+ )
113
99
  }
114
100
  }
115
101
 
@@ -317,25 +303,29 @@ class RNIapAmazonListener(private val reactContext: ReactContext) : PurchasingLi
317
303
  DoobooUtils.instance
318
304
  .resolvePromisesForKey(RNIapAmazonModule.Companion.PROMISE_GET_USER_DATA, item)
319
305
  }
320
- UserDataResponse.RequestStatus.NOT_SUPPORTED -> DoobooUtils.instance
321
- .rejectPromisesForKey(
322
- RNIapAmazonModule.Companion.PROMISE_GET_USER_DATA,
323
- E_USER_DATA_RESPONSE_NOT_SUPPORTED,
324
- null,
325
- null
326
- )
327
- UserDataResponse.RequestStatus.FAILED -> DoobooUtils.instance
328
- .rejectPromisesForKey(
329
- RNIapAmazonModule.Companion.PROMISE_GET_USER_DATA,
330
- E_USER_DATA_RESPONSE_FAILED,
331
- null,
332
- null
333
- )
306
+ UserDataResponse.RequestStatus.NOT_SUPPORTED ->
307
+ DoobooUtils.instance
308
+ .rejectPromisesForKey(
309
+ RNIapAmazonModule.Companion.PROMISE_GET_USER_DATA,
310
+ E_USER_DATA_RESPONSE_NOT_SUPPORTED,
311
+ null,
312
+ null
313
+ )
314
+ UserDataResponse.RequestStatus.FAILED ->
315
+ DoobooUtils.instance
316
+ .rejectPromisesForKey(
317
+ RNIapAmazonModule.Companion.PROMISE_GET_USER_DATA,
318
+ E_USER_DATA_RESPONSE_FAILED,
319
+ null,
320
+ null
321
+ )
334
322
  }
335
323
  }
336
324
 
337
325
  private fun sendEvent(
338
- reactContext: ReactContext, eventName: String, params: WritableMap?
326
+ reactContext: ReactContext,
327
+ eventName: String,
328
+ params: WritableMap?
339
329
  ) {
340
330
  reactContext
341
331
  .getJSModule(RCTDeviceEventEmitter::class.java)
@@ -363,4 +353,4 @@ class RNIapAmazonListener(private val reactContext: ReactContext) : PurchasingLi
363
353
  availableItems = WritableNativeArray()
364
354
  availableItemsType = null
365
355
  }
366
- }
356
+ }
@@ -1,39 +1,14 @@
1
1
  package com.dooboolab.RNIap
2
2
 
3
- import com.facebook.react.ReactPackage
4
- import java.lang.Class
5
- import com.facebook.react.bridge.JavaScriptModule
3
+ import com.amazon.device.iap.PurchasingService
4
+ import com.amazon.device.iap.model.FulfillmentResult
5
+ import com.facebook.react.bridge.Promise
6
6
  import com.facebook.react.bridge.ReactApplicationContext
7
- import com.facebook.react.bridge.NativeModule
8
- import java.util.ArrayList
9
- import com.dooboolab.RNIap.RNIapAmazonModule
10
7
  import com.facebook.react.bridge.ReactContextBaseJavaModule
11
8
  import com.facebook.react.bridge.ReactMethod
12
- import com.facebook.react.bridge.Promise
13
- import com.amazon.device.iap.PurchasingService
14
- import com.dooboolab.RNIap.RNIapAmazonListener
15
- import com.amazon.device.iap.model.RequestId
16
- import com.dooboolab.RNIap.DoobooUtils
17
- import com.facebook.react.bridge.WritableNativeArray
18
9
  import com.facebook.react.bridge.ReadableArray
10
+ import com.facebook.react.bridge.WritableNativeArray
19
11
  import java.util.HashSet
20
- import com.amazon.device.iap.model.FulfillmentResult
21
- import com.facebook.react.bridge.ReactContext
22
- import com.amazon.device.iap.PurchasingListener
23
- import com.amazon.device.iap.model.Product
24
- import com.amazon.device.iap.model.ProductDataResponse
25
- import com.amazon.device.iap.model.ProductType
26
- import java.lang.NumberFormatException
27
- import android.util.Log
28
- import com.facebook.react.bridge.WritableMap
29
- import com.facebook.react.bridge.Arguments
30
- import com.amazon.device.iap.model.CoinsReward
31
- import com.amazon.device.iap.model.PurchaseUpdatesResponse
32
- import com.amazon.device.iap.model.Receipt
33
- import com.facebook.react.bridge.WritableNativeMap
34
- import com.amazon.device.iap.model.PurchaseResponse
35
- import com.amazon.device.iap.model.UserDataResponse
36
- import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter
37
12
 
38
13
  class RNIapAmazonModule(reactContext: ReactApplicationContext?) :
39
14
  ReactContextBaseJavaModule(reactContext) {
@@ -105,7 +80,9 @@ class RNIapAmazonModule(reactContext: ReactApplicationContext?) :
105
80
 
106
81
  @ReactMethod
107
82
  fun acknowledgePurchase(
108
- token: String?, developerPayLoad: String?, promise: Promise
83
+ token: String?,
84
+ developerPayLoad: String?,
85
+ promise: Promise
109
86
  ) {
110
87
  PurchasingService.notifyFulfillment(token, FulfillmentResult.FULFILLED)
111
88
  promise.resolve(true)
@@ -113,7 +90,9 @@ class RNIapAmazonModule(reactContext: ReactApplicationContext?) :
113
90
 
114
91
  @ReactMethod
115
92
  fun consumeProduct(
116
- token: String?, developerPayLoad: String?, promise: Promise
93
+ token: String?,
94
+ developerPayLoad: String?,
95
+ promise: Promise
117
96
  ) {
118
97
  PurchasingService.notifyFulfillment(token, FulfillmentResult.FULFILLED)
119
98
  promise.resolve(true)
@@ -1,40 +1,10 @@
1
1
  package com.dooboolab.RNIap
2
2
 
3
3
  import com.facebook.react.ReactPackage
4
- import java.lang.Class
5
- import com.facebook.react.bridge.JavaScriptModule
6
- import com.facebook.react.bridge.ReactApplicationContext
7
4
  import com.facebook.react.bridge.NativeModule
8
- import java.util.ArrayList
9
- import com.dooboolab.RNIap.RNIapAmazonModule
10
- import com.facebook.react.bridge.ReactContextBaseJavaModule
11
- import com.facebook.react.bridge.ReactMethod
12
- import com.facebook.react.bridge.Promise
13
- import com.amazon.device.iap.PurchasingService
14
- import com.dooboolab.RNIap.RNIapAmazonListener
15
- import com.amazon.device.iap.model.RequestId
16
- import com.dooboolab.RNIap.DoobooUtils
17
- import com.facebook.react.bridge.WritableNativeArray
18
- import com.facebook.react.bridge.ReadableArray
19
- import java.util.HashSet
20
- import com.amazon.device.iap.model.FulfillmentResult
21
- import com.facebook.react.bridge.ReactContext
22
- import com.amazon.device.iap.PurchasingListener
23
- import com.amazon.device.iap.model.Product
24
- import com.amazon.device.iap.model.ProductDataResponse
25
- import com.amazon.device.iap.model.ProductType
26
- import java.lang.NumberFormatException
27
- import android.util.Log
28
- import com.facebook.react.bridge.WritableMap
29
- import com.facebook.react.bridge.Arguments
30
- import com.amazon.device.iap.model.CoinsReward
31
- import com.amazon.device.iap.model.PurchaseUpdatesResponse
32
- import com.amazon.device.iap.model.Receipt
33
- import com.facebook.react.bridge.WritableNativeMap
34
- import com.amazon.device.iap.model.PurchaseResponse
35
- import com.amazon.device.iap.model.UserDataResponse
36
- import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter
5
+ import com.facebook.react.bridge.ReactApplicationContext
37
6
  import com.facebook.react.uimanager.ViewManager
7
+ import java.util.ArrayList
38
8
 
39
9
  class RNIapPackage : ReactPackage {
40
10
 
@@ -47,5 +17,4 @@ class RNIapPackage : ReactPackage {
47
17
  modules.add(RNIapAmazonModule(reactContext))
48
18
  return modules
49
19
  }
50
-
51
- }
20
+ }
@@ -1,24 +1,22 @@
1
1
  package com.dooboolab.RNIap
2
2
 
3
- import java.util.HashMap
4
- import java.util.ArrayList
5
- import com.facebook.react.bridge.Promise
6
- import com.facebook.react.bridge.ObjectAlreadyConsumedException
7
3
  import android.util.Log
8
- import com.dooboolab.RNIap.DoobooUtils
9
- import java.lang.Exception
10
- import kotlin.Throws
11
- import org.json.JSONException
12
- import org.json.JSONObject
4
+ import com.facebook.react.bridge.ObjectAlreadyConsumedException
5
+ import com.facebook.react.bridge.Promise
6
+ import com.facebook.react.bridge.ReadableArray
7
+ import com.facebook.react.bridge.ReadableMap
8
+ import com.facebook.react.bridge.ReadableType
9
+ import com.facebook.react.bridge.WritableArray
13
10
  import com.facebook.react.bridge.WritableMap
11
+ import com.facebook.react.bridge.WritableNativeArray
14
12
  import com.facebook.react.bridge.WritableNativeMap
15
13
  import org.json.JSONArray
16
- import com.facebook.react.bridge.WritableArray
17
- import com.facebook.react.bridge.WritableNativeArray
18
- import com.facebook.react.bridge.ReadableMap
19
- import com.facebook.react.bridge.ReadableMapKeySetIterator
20
- import com.facebook.react.bridge.ReadableType
21
- import com.facebook.react.bridge.ReadableArray
14
+ import org.json.JSONException
15
+ import org.json.JSONObject
16
+ import java.lang.Exception
17
+ import java.util.ArrayList
18
+ import java.util.HashMap
19
+ import kotlin.Throws
22
20
 
23
21
  class DoobooUtils {
24
22
  private val promises = HashMap<String, ArrayList<Promise>>()
@@ -52,7 +50,10 @@ class DoobooUtils {
52
50
  }
53
51
 
54
52
  fun rejectPromisesForKey(
55
- key: String, code: String?, message: String?, err: Exception?
53
+ key: String,
54
+ code: String?,
55
+ message: String?,
56
+ err: Exception?
56
57
  ) {
57
58
  try {
58
59
  if (promises.containsKey(key)) {
@@ -1,47 +1,8 @@
1
1
  package com.dooboolab.RNIap
2
2
 
3
- import com.facebook.react.bridge.Promise
4
- import com.android.billingclient.api.BillingClient
5
- import com.dooboolab.RNIap.DoobooUtils
6
3
  import android.util.Log
7
- import com.facebook.react.bridge.ReactApplicationContext
8
- import com.facebook.react.bridge.ReactContextBaseJavaModule
9
- import com.android.billingclient.api.PurchasesUpdatedListener
10
- import com.facebook.react.bridge.ReactContext
11
- import com.android.billingclient.api.SkuDetails
12
- import com.facebook.react.bridge.ReactMethod
13
- import com.google.android.gms.common.GoogleApiAvailability
14
- import com.google.android.gms.common.ConnectionResult
15
- import com.android.billingclient.api.BillingClientStateListener
16
- import com.android.billingclient.api.BillingResult
17
- import com.facebook.react.bridge.ObjectAlreadyConsumedException
18
- import java.lang.Exception
19
- import com.android.billingclient.api.Purchase
20
- import com.android.billingclient.api.ConsumeParams
21
- import com.android.billingclient.api.ConsumeResponseListener
22
- import com.facebook.react.bridge.WritableNativeArray
23
- import com.android.billingclient.api.PurchasesResponseListener
24
- import java.util.ArrayList
25
- import com.facebook.react.bridge.ReadableArray
26
- import com.android.billingclient.api.SkuDetailsParams
27
- import com.android.billingclient.api.SkuDetailsResponseListener
28
- import com.facebook.react.bridge.WritableMap
29
- import com.facebook.react.bridge.Arguments
30
- import com.facebook.react.bridge.WritableNativeMap
31
- import com.android.billingclient.api.PurchaseHistoryResponseListener
32
- import com.android.billingclient.api.PurchaseHistoryRecord
33
- import com.facebook.react.bridge.WritableArray
34
- import android.app.Activity
35
- import com.android.billingclient.api.BillingFlowParams
36
- import com.android.billingclient.api.BillingFlowParams.SubscriptionUpdateParams
37
- import com.android.billingclient.api.AcknowledgePurchaseParams
38
- import com.android.billingclient.api.AcknowledgePurchaseResponseListener
39
- import com.android.billingclient.api.AccountIdentifiers
40
- import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter
41
- import com.facebook.react.bridge.LifecycleEventListener
42
- import com.facebook.react.ReactPackage
43
- import com.facebook.react.bridge.JavaScriptModule
44
- import com.facebook.react.bridge.NativeModule
4
+ import com.android.billingclient.api.BillingClient
5
+ import com.facebook.react.bridge.Promise
45
6
 
46
7
  class PlayUtils {
47
8
  fun rejectPromiseWithBillingError(promise: Promise, responseCode: Int) {
@@ -113,4 +74,4 @@ class PlayUtils {
113
74
  const val E_PLAY_SERVICES_UNAVAILABLE = "E_PLAY_SERVICES_UNAVAILABLE"
114
75
  val instance = PlayUtils()
115
76
  }
116
- }
77
+ }
@@ -1,50 +1,39 @@
1
1
  package com.dooboolab.RNIap
2
2
 
3
- import com.facebook.react.bridge.Promise
4
- import com.android.billingclient.api.BillingClient
5
- import com.dooboolab.RNIap.DoobooUtils
6
3
  import android.util.Log
7
- import com.facebook.react.bridge.ReactApplicationContext
8
- import com.facebook.react.bridge.ReactContextBaseJavaModule
9
- import com.android.billingclient.api.PurchasesUpdatedListener
10
- import com.facebook.react.bridge.ReactContext
11
- import com.android.billingclient.api.SkuDetails
12
- import com.facebook.react.bridge.ReactMethod
13
- import com.google.android.gms.common.GoogleApiAvailability
14
- import com.google.android.gms.common.ConnectionResult
4
+ import com.android.billingclient.api.AcknowledgePurchaseParams
5
+ import com.android.billingclient.api.BillingClient
15
6
  import com.android.billingclient.api.BillingClientStateListener
7
+ import com.android.billingclient.api.BillingFlowParams
8
+ import com.android.billingclient.api.BillingFlowParams.SubscriptionUpdateParams
16
9
  import com.android.billingclient.api.BillingResult
17
- import com.facebook.react.bridge.ObjectAlreadyConsumedException
18
- import java.lang.Exception
19
- import com.android.billingclient.api.Purchase
20
10
  import com.android.billingclient.api.ConsumeParams
21
11
  import com.android.billingclient.api.ConsumeResponseListener
22
- import com.facebook.react.bridge.WritableNativeArray
23
- import com.android.billingclient.api.PurchasesResponseListener
24
- import java.util.ArrayList
25
- import com.facebook.react.bridge.ReadableArray
12
+ import com.android.billingclient.api.Purchase
13
+ import com.android.billingclient.api.PurchasesUpdatedListener
14
+ import com.android.billingclient.api.SkuDetails
26
15
  import com.android.billingclient.api.SkuDetailsParams
27
- import com.android.billingclient.api.SkuDetailsResponseListener
28
- import com.facebook.react.bridge.WritableMap
29
16
  import com.facebook.react.bridge.Arguments
17
+ import com.facebook.react.bridge.LifecycleEventListener
18
+ import com.facebook.react.bridge.ObjectAlreadyConsumedException
19
+ import com.facebook.react.bridge.Promise
20
+ import com.facebook.react.bridge.ReactApplicationContext
21
+ import com.facebook.react.bridge.ReactContext
22
+ import com.facebook.react.bridge.ReactContextBaseJavaModule
23
+ import com.facebook.react.bridge.ReactMethod
24
+ import com.facebook.react.bridge.ReadableArray
25
+ import com.facebook.react.bridge.WritableMap
26
+ import com.facebook.react.bridge.WritableNativeArray
30
27
  import com.facebook.react.bridge.WritableNativeMap
31
- import com.android.billingclient.api.PurchaseHistoryResponseListener
32
- import com.android.billingclient.api.PurchaseHistoryRecord
33
- import com.facebook.react.bridge.WritableArray
34
- import android.app.Activity
35
- import com.android.billingclient.api.BillingFlowParams
36
- import com.android.billingclient.api.BillingFlowParams.SubscriptionUpdateParams
37
- import com.android.billingclient.api.AcknowledgePurchaseParams
38
- import com.android.billingclient.api.AcknowledgePurchaseResponseListener
39
- import com.android.billingclient.api.AccountIdentifiers
40
28
  import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter
41
- import com.facebook.react.bridge.LifecycleEventListener
42
- import com.facebook.react.ReactPackage
43
- import com.facebook.react.bridge.JavaScriptModule
44
- import com.facebook.react.bridge.NativeModule
29
+ import com.google.android.gms.common.ConnectionResult
30
+ import com.google.android.gms.common.GoogleApiAvailability
31
+ import java.lang.Exception
45
32
  import java.math.BigDecimal
33
+ import java.util.ArrayList
46
34
 
47
- class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext),
35
+ class RNIapModule(reactContext: ReactApplicationContext) :
36
+ ReactContextBaseJavaModule(reactContext),
48
37
  PurchasesUpdatedListener {
49
38
  val TAG = "RNIapModule"
50
39
  private val reactContext: ReactContext
@@ -162,7 +151,8 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
162
151
  }
163
152
  billingClient.consumeAsync(consumeParams, listener)
164
153
  }
165
- })
154
+ }
155
+ )
166
156
  }
167
157
  }
168
158
 
@@ -201,7 +191,8 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
201
191
  )
202
192
  }
203
193
  }
204
- })
194
+ }
195
+ )
205
196
  }
206
197
 
207
198
  @ReactMethod
@@ -287,7 +278,8 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
287
278
  }
288
279
  }
289
280
  }
290
- })
281
+ }
282
+ )
291
283
  }
292
284
 
293
285
  @ReactMethod
@@ -336,7 +328,8 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
336
328
  }
337
329
  }
338
330
  }
339
- })
331
+ }
332
+ )
340
333
  }
341
334
 
342
335
  @ReactMethod
@@ -374,7 +367,8 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
374
367
  }
375
368
  }
376
369
  }
377
- })
370
+ }
371
+ )
378
372
  }
379
373
 
380
374
  @ReactMethod
@@ -433,8 +427,10 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
433
427
  )
434
428
  if (type != BillingClient.SkuType.SUBS) {
435
429
  val debugMessage =
436
- ("IMMEDIATE_AND_CHARGE_PRORATED_PRICE for proration mode only works in"
437
- + " subscription purchase.")
430
+ (
431
+ "IMMEDIATE_AND_CHARGE_PRORATED_PRICE for proration mode only works in" +
432
+ " subscription purchase."
433
+ )
438
434
  val error = Arguments.createMap()
439
435
  error.putString("debugMessage", debugMessage)
440
436
  error.putString("code", PROMISE_BUY_ITEM)
@@ -481,12 +477,15 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
481
477
  val errorData: Array<String?> =
482
478
  PlayUtils.instance.getBillingResponseData(billingResult.responseCode)
483
479
  }
484
- })
480
+ }
481
+ )
485
482
  }
486
483
 
487
484
  @ReactMethod
488
485
  fun acknowledgePurchase(
489
- token: String?, developerPayLoad: String?, promise: Promise
486
+ token: String?,
487
+ developerPayLoad: String?,
488
+ promise: Promise
490
489
  ) {
491
490
  ensureConnection(
492
491
  promise,
@@ -517,12 +516,15 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
517
516
  }
518
517
  }
519
518
  }
520
- })
519
+ }
520
+ )
521
521
  }
522
522
 
523
523
  @ReactMethod
524
524
  fun consumeProduct(
525
- token: String?, developerPayLoad: String?, promise: Promise
525
+ token: String?,
526
+ developerPayLoad: String?,
527
+ promise: Promise
526
528
  ) {
527
529
  val params = ConsumeParams.newBuilder().setPurchaseToken(token!!).build()
528
530
  ensureConnection(
@@ -550,7 +552,8 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
550
552
  }
551
553
  }
552
554
  }
553
- })
555
+ }
556
+ )
554
557
  }
555
558
 
556
559
  override fun onPurchasesUpdated(billingResult: BillingResult, purchases: List<Purchase>?) {
@@ -608,8 +611,8 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
608
611
  result.putString("debugMessage", billingResult.debugMessage)
609
612
  result.putString(
610
613
  "extraMessage",
611
- "The purchases are null. This is a normal behavior if you have requested DEFERRED"
612
- + " proration. If not please report an issue."
614
+ "The purchases are null. This is a normal behavior if you have requested DEFERRED" +
615
+ " proration. If not please report an issue."
613
616
  )
614
617
  sendEvent(reactContext, "purchase-updated", result)
615
618
  DoobooUtils.instance.resolvePromisesForKey(PROMISE_BUY_ITEM, null)
@@ -640,7 +643,8 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
640
643
  }
641
644
  promise.resolve(true)
642
645
  }
643
- })
646
+ }
647
+ )
644
648
  }
645
649
 
646
650
  @ReactMethod
@@ -663,7 +667,9 @@ class RNIapModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaM
663
667
  get() = reactApplicationContext.packageName
664
668
 
665
669
  private fun sendEvent(
666
- reactContext: ReactContext, eventName: String, params: WritableMap?
670
+ reactContext: ReactContext,
671
+ eventName: String,
672
+ params: WritableMap?
667
673
  ) {
668
674
  reactContext
669
675
  .getJSModule(RCTDeviceEventEmitter::class.java)
@@ -1,48 +1,10 @@
1
1
  package com.dooboolab.RNIap
2
2
 
3
- import com.facebook.react.bridge.Promise
4
- import com.android.billingclient.api.BillingClient
5
- import com.dooboolab.RNIap.DoobooUtils
6
- import android.util.Log
7
- import com.facebook.react.bridge.ReactApplicationContext
8
- import com.facebook.react.bridge.ReactContextBaseJavaModule
9
- import com.android.billingclient.api.PurchasesUpdatedListener
10
- import com.facebook.react.bridge.ReactContext
11
- import com.android.billingclient.api.SkuDetails
12
- import com.facebook.react.bridge.ReactMethod
13
- import com.google.android.gms.common.GoogleApiAvailability
14
- import com.google.android.gms.common.ConnectionResult
15
- import com.android.billingclient.api.BillingClientStateListener
16
- import com.android.billingclient.api.BillingResult
17
- import com.facebook.react.bridge.ObjectAlreadyConsumedException
18
- import java.lang.Exception
19
- import com.android.billingclient.api.Purchase
20
- import com.android.billingclient.api.ConsumeParams
21
- import com.android.billingclient.api.ConsumeResponseListener
22
- import com.facebook.react.bridge.WritableNativeArray
23
- import com.android.billingclient.api.PurchasesResponseListener
24
- import java.util.ArrayList
25
- import com.facebook.react.bridge.ReadableArray
26
- import com.android.billingclient.api.SkuDetailsParams
27
- import com.android.billingclient.api.SkuDetailsResponseListener
28
- import com.facebook.react.bridge.WritableMap
29
- import com.facebook.react.bridge.Arguments
30
- import com.facebook.react.bridge.WritableNativeMap
31
- import com.android.billingclient.api.PurchaseHistoryResponseListener
32
- import com.android.billingclient.api.PurchaseHistoryRecord
33
- import com.facebook.react.bridge.WritableArray
34
- import android.app.Activity
35
- import com.android.billingclient.api.BillingFlowParams
36
- import com.android.billingclient.api.BillingFlowParams.SubscriptionUpdateParams
37
- import com.android.billingclient.api.AcknowledgePurchaseParams
38
- import com.android.billingclient.api.AcknowledgePurchaseResponseListener
39
- import com.android.billingclient.api.AccountIdentifiers
40
- import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter
41
- import com.facebook.react.bridge.LifecycleEventListener
42
3
  import com.facebook.react.ReactPackage
43
- import com.facebook.react.bridge.JavaScriptModule
44
4
  import com.facebook.react.bridge.NativeModule
5
+ import com.facebook.react.bridge.ReactApplicationContext
45
6
  import com.facebook.react.uimanager.ViewManager
7
+ import java.util.ArrayList
46
8
 
47
9
  class RNIapPackage : ReactPackage {
48
10
 
@@ -55,4 +17,4 @@ class RNIapPackage : ReactPackage {
55
17
  modules.add(RNIapModule(reactContext))
56
18
  return modules
57
19
  }
58
- }
20
+ }
package/ios/RNIapIos.m CHANGED
@@ -11,7 +11,7 @@ RCT_EXTERN_METHOD(endConnection:
11
11
  reject:(RCTPromiseRejectBlock)reject)
12
12
  RCT_EXTERN_METHOD(getItems:
13
13
  (NSArray*)skus
14
- resolve:(RCTPromiseResolveBlock)resolve
14
+ resolve:(RCTPromiseResolveBlock)resolve
15
15
  reject:(RCTPromiseRejectBlock)reject)
16
16
  RCT_EXTERN_METHOD(getAvailableItems:
17
17
  (RCTPromiseResolveBlock)resolve
@@ -35,7 +35,9 @@ RCT_EXTERN_METHOD(buyProductWithQuantityIOS:
35
35
  RCT_EXTERN_METHOD(clearTransaction:
36
36
  (RCTPromiseResolveBlock)resolve
37
37
  reject:(RCTPromiseRejectBlock)reject)
38
- RCT_EXTERN_METHOD(clearProducts)
38
+ RCT_EXTERN_METHOD(clearProducts:
39
+ (RCTPromiseResolveBlock)resolve
40
+ reject:(RCTPromiseRejectBlock)reject)
39
41
  RCT_EXTERN_METHOD(promotedProduct:
40
42
  (RCTPromiseResolveBlock)resolve
41
43
  reject:(RCTPromiseRejectBlock)reject)
@@ -318,9 +318,9 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
318
318
  for transaction in pendingTrans {
319
319
  SKPaymentQueue.default().finishTransaction(transaction)
320
320
  }
321
- } else {
322
- resolve(nil)
323
321
  }
322
+ resolve(nil)
323
+
324
324
  }
325
325
 
326
326
 
@@ -379,6 +379,7 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
379
379
  reject: @escaping RCTPromiseRejectBlock = { _, _, _ in }
380
380
  ) {
381
381
  finishTransaction(withIdentifier: transactionIdentifier)
382
+ resolve(nil)
382
383
  }
383
384
 
384
385
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-iap",
3
- "version": "8.0.5",
3
+ "version": "8.0.6",
4
4
  "packageManager": "yarn@3.1.1",
5
5
  "description": "React Native In App Purchase Module.",
6
6
  "main": "index.js",