Skip to content

Commit 72e0166

Browse files
nan-lijinliu9508
authored andcommitted
Fix Amazon purchase tracking setup
* Correctly set the `listenerHandlerObject` object when it was previously always equal to Kotlin.Unit due to the order the statements within the catch statement. * Cast to PurchasingListener? since it is a optional type.
1 parent f856489 commit 72e0166

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/purchases/impl/TrackAmazonPurchase.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,18 @@ internal class TrackAmazonPurchase(
6969
try {
7070
// 2.0.1
7171
val listenerHandlerClass = Class.forName("com.amazon.device.iap.internal.d")
72-
listenerHandlerObject = try {
72+
try {
7373
// iap v2.x
74-
listenerHandlerClass.getMethod("d").invoke(null)
74+
listenerHandlerObject = listenerHandlerClass.getMethod("d").invoke(null)
7575
} catch (e: NullPointerException) {
7676
// appstore v3.x
77-
listenerHandlerClass.getMethod("e").invoke(null)
77+
listenerHandlerObject = listenerHandlerClass.getMethod("e").invoke(null)
7878
registerListenerOnMainThread = true
7979
}
8080
val locListenerHandlerField = listenerHandlerClass.getDeclaredField("f")
8181
locListenerHandlerField.isAccessible = true
8282
osPurchasingListener = OSPurchasingListener(_operationRepo, _configModelStore, _identityModelStore)
83-
osPurchasingListener!!.orgPurchasingListener = locListenerHandlerField.get(listenerHandlerObject) as PurchasingListener
83+
osPurchasingListener!!.orgPurchasingListener = locListenerHandlerField.get(listenerHandlerObject) as PurchasingListener?
8484

8585
listenerHandlerField = locListenerHandlerField
8686
canTrack = true

0 commit comments

Comments
 (0)