From 4fb0058263a930f245c0db98c3df1a82f6e423c0 Mon Sep 17 00:00:00 2001 From: Shervin Aflatooni Date: Thu, 19 Dec 2019 14:41:28 +1100 Subject: [PATCH] check promise before calling it in the android onActivityResult function --- .../java/com/rnappauth/RNAppAuthModule.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/android/src/main/java/com/rnappauth/RNAppAuthModule.java b/android/src/main/java/com/rnappauth/RNAppAuthModule.java index 689ed9d3..993390d4 100644 --- a/android/src/main/java/com/rnappauth/RNAppAuthModule.java +++ b/android/src/main/java/com/rnappauth/RNAppAuthModule.java @@ -300,14 +300,18 @@ public void onFetchConfigurationCompleted( public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) { if (requestCode == 0) { if (data == null) { - promise.reject("Failed to authenticate", "Data intent is null" ); + if (promise != null) { + promise.reject("Failed to authenticate", "Data intent is null" ); + } return; } - + final AuthorizationResponse response = AuthorizationResponse.fromIntent(data); AuthorizationException exception = AuthorizationException.fromIntent(data); if (exception != null) { - promise.reject("Failed to authenticate", getErrorMessage(exception)); + if (promise != null) { + promise.reject("Failed to authenticate", getErrorMessage(exception)); + } return; } @@ -327,9 +331,13 @@ public void onTokenRequestCompleted( TokenResponse resp, AuthorizationException ex) { if (resp != null) { WritableMap map = TokenResponseFactory.tokenResponseToMap(resp, response); - authorizePromise.resolve(map); + if (authorizePromise != null) { + authorizePromise.resolve(map); + } } else { - promise.reject("Failed exchange token", getErrorMessage(ex)); + if (promise != null) { + promise.reject("Failed exchange token", getErrorMessage(ex)); + } } } };