Skip to content

Commit

Permalink
Merge pull request #1621 from OneSignal/fix/amazon_iap_crash
Browse files Browse the repository at this point in the history
Fix crash related to Amazon AppStore SDK
  • Loading branch information
nan-li authored Aug 10, 2022
2 parents 6f27669 + 590331b commit 1ebb912
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 2 deletions.
1 change: 1 addition & 0 deletions OneSignalSDK/onesignal/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ android {
// patch version is ok, since this allows getting bug fix versions.
dependencies {
compileOnly fileTree(dir: 'libs', include: ['*.jar'])
compileOnly('com.amazon.device:amazon-appstore-sdk:[3.0.1, 3.0.99]')

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"

Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,10 @@ class TrackAmazonPurchase {
private boolean canTrack = false;

private OSPurchasingListener osPurchasingListener;


// appstore v3.x requires PurchasingService.registerListener() to run on main UI thread
private boolean registerListenerOnMainThread = false;

private Object listenerHandlerObject;
private Field listenerHandlerField;

Expand All @@ -72,6 +75,7 @@ class TrackAmazonPurchase {
} catch(NullPointerException e) {
//appstore v3.x
listenerHandlerObject = listenerHandlerClass.getMethod("e").invoke(null);
registerListenerOnMainThread = true;
}

listenerHandlerField = listenerHandlerClass.getDeclaredField("f");
Expand Down Expand Up @@ -104,7 +108,16 @@ private static void logAmazonIAPListenerError(Exception e) {
}

private void setListener() {
PurchasingService.registerListener(context, osPurchasingListener);
if (registerListenerOnMainThread) {
OSUtils.runOnMainUIThread(new Runnable() {
@Override
public void run() {
PurchasingService.registerListener(context, osPurchasingListener);
}
});
} else {
PurchasingService.registerListener(context, osPurchasingListener);
}
}

void checkListener() {
Expand Down

0 comments on commit 1ebb912

Please sign in to comment.