diff --git a/android/src/main/java/dk/madslee/mobilepay/RNMobilePayModule.java b/android/src/main/java/dk/madslee/mobilepay/RNMobilePayModule.java index 4083dd6..49a77c2 100644 --- a/android/src/main/java/dk/madslee/mobilepay/RNMobilePayModule.java +++ b/android/src/main/java/dk/madslee/mobilepay/RNMobilePayModule.java @@ -2,6 +2,7 @@ import android.app.Activity; import android.content.Intent; + import com.facebook.react.bridge.*; import dk.danskebank.mobilepay.sdk.CaptureType; import dk.danskebank.mobilepay.sdk.Country; @@ -146,6 +147,16 @@ public void setMerchantId(String merchantId) { mMerchantId = merchantId; } + @ReactMethod + public void isMobilePayInstalled(String country, final Callback successCb, final Callback failureCb) { + try { + Country mobilePayCountry = Country.valueOf(country); + successCb.invoke(MobilePay.getInstance().isMobilePayInstalled(getReactApplicationContext(), mobilePayCountry)); + } catch (Exception e) { + failureCb.invoke(e.toString()); + } + } + @Override public Map getConstants() { final Map constants = new HashMap<>(); @@ -158,9 +169,6 @@ public Map getConstants() { constants.put("COUNTRY_NORWAY", Country.NORWAY.name()); constants.put("COUNTRY_FINLAND", Country.FINLAND.name()); - constants.put("isMobilePayInstalledDenmark", MobilePay.getInstance().isMobilePayInstalled(getReactApplicationContext(), Country.DENMARK)); - constants.put("isMobilePayInstalledNorway", MobilePay.getInstance().isMobilePayInstalled(getReactApplicationContext(), Country.NORWAY)); - constants.put("isMobilePayInstalledFinland", MobilePay.getInstance().isMobilePayInstalled(getReactApplicationContext(), Country.FINLAND)); return constants; } diff --git a/index.js b/index.js index 4b942ba..877ddfa 100644 --- a/index.js +++ b/index.js @@ -3,4 +3,10 @@ import { NativeModules } from 'react-native'; const { RNMobilePay } = NativeModules; +export function isMobilePayInstalled (country) { + return new Promise((resolve, reject) => { + RNMobilePay.isMobilePayInstalled(country, resolve, reject); + }); +} + export default RNMobilePay;