diff --git a/android/src/main/java/com/reactnativerowndplugin/RowndPluginModule.kt b/android/src/main/java/com/reactnativerowndplugin/RowndPluginModule.kt index 7666a26..6c8e413 100644 --- a/android/src/main/java/com/reactnativerowndplugin/RowndPluginModule.kt +++ b/android/src/main/java/com/reactnativerowndplugin/RowndPluginModule.kt @@ -118,6 +118,26 @@ class RowndPluginModule(reactContext: ReactApplicationContext) : ReactContextBas } } + @ReactMethod + fun handleSignInLink(url: String) { + val activity = reactApplicationContext.currentActivity ?: return + activity.intent = android.content.Intent( + android.content.Intent.ACTION_VIEW, + android.net.Uri.parse(url) + ) + try { + val apiGetter = Rownd.javaClass.getMethod("getSignInLinkApi\$android-release") + val api = apiGetter.invoke(Rownd) + val method = api.javaClass.getMethod( + "signInWithLinkIfPresentOnIntentOrClipboard\$android-release", + android.app.Activity::class.java + ) + method.invoke(api, activity) + } catch (e: Exception) { + Log.e("RowndPlugin", "handleSignInLink failed", e) + } + } + @ReactMethod fun requestSignIn(signInConfig: ReadableMap) { val rowndSignInOptions = RowndSignInOptions()