diff --git a/android/src/main/java/com/digioreactnative/DigioReactNativeModule.java b/android/src/main/java/com/digioreactnative/DigioReactNativeModule.java index c1a64b9..5bf3008 100644 --- a/android/src/main/java/com/digioreactnative/DigioReactNativeModule.java +++ b/android/src/main/java/com/digioreactnative/DigioReactNativeModule.java @@ -51,6 +51,7 @@ public class DigioReactNativeModule extends ReactContextBaseJavaModule implement public static final int DIGIO_ACTIVITY = 73457843; private Promise resultPromise; private boolean isReceiverRegistered = false; + private boolean isResultHandled = false; private BroadcastReceiver eventBroadcastReceiver = new BroadcastReceiver() { @@ -81,9 +82,19 @@ public void onReceive(Context context, Intent intent) { ActivityEventListener activityEventListener = new ActivityEventListener() { @Override public void onActivityResult(Activity activity, int requestCode, int resultCode, @Nullable Intent intent) { - if (requestCode == DIGIO_ACTIVITY) { - int responseCode = intent.getIntExtra("responseCode", 0); - onNativeActivityResult(responseCode, intent); + if (requestCode == DIGIO_ACTIVITY && !isResultHandled) { + isResultHandled = true; + if (intent != null) { + int responseCode = 0; + if (intent.hasExtra("responseCode")) { + responseCode = intent.getIntExtra("responseCode", 0); + }else{ + responseCode = intent.getIntExtra("errorCode", 0); + } + onNativeActivityResult(responseCode, intent); + }else{ + onNativeActivityResult(resultCode, null); + } } } @@ -249,6 +260,7 @@ public void start(String documentId, String identifier, String tokenId, Readable digioConfig.setAdditionalData(additionalDataMap); intent.putExtra("config", digioConfig); + isResultHandled = false; this.getCurrentActivity().startActivityForResult(intent, DIGIO_ACTIVITY); } catch (Exception e) { // Throws DigioException if WorkflowResponseListener is not implemented/passed, or diff --git a/example/src/App.tsx b/example/src/App.tsx index c49ee9b..0cef44a 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -21,9 +21,9 @@ export default function App() { digio .start( - 'DID25042217573519794QGI9P27RLKLF', + 'KID250423131507165T4ALP7UIDB4UFZ', 'akash.kumar@digio.in', - 'GWT250422175735425I7RZLI1K4OTV9S' + 'GWT250423131507194T9AD9V4FENFHYS' ) .then((res) => { console.log(res); diff --git a/package.json b/package.json index ebfc613..77c4c53 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@digiotech/react-native", - "version": "2.0.3", + "version": "2.0.4", "description": "SDK for invoking client side journey for any of Digio request", "main": "lib/commonjs/index", "module": "lib/module/index",