package com.biopassid.signaturesdkreactnative import android.graphics.Bitmap import android.util.Log import br.com.biopassid.signaturesdk.Signature import br.com.biopassid.signaturesdk.SignatureCallback import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReactContextBaseJavaModule import com.facebook.react.bridge.ReactMethod import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReadableMap class SignatureSdkReactNativeModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) { override fun getName(): String { return NAME } @ReactMethod fun takeSignature(signatureConfig: ReadableMap, promise: Promise) { try { val config = mapToSignatureConfig(currentActivity, signatureConfig) val callback = object : SignatureCallback { override fun onSignatureCapture(image: Bitmap) { val imageBase64 = bitmapToBase64(image) promise.resolve(imageBase64) } } Signature.takeSignature(currentActivity, config, callback) } catch (e: Exception) { Log.e(TAG, e.message.toString()) promise.reject("Error calling Signature SDK", e) } } companion object { const val NAME = "SignatureSdkReactNative" private val TAG = SignatureSdkReactNativeModule::class.java.simpleName } }