18034727885
2026-09-04 0635d28fe9c8cfe59eda6b077abf9abf665147e0
app/src/main/java/com/igo/user/utils/recaptcha/RecaptchaVisual.kt
@@ -1,4 +1,4 @@
package com.google.recaptcha.sample
package com.igo.user.utils.recaptcha
import androidx.fragment.app.FragmentManager
import java.util.Locale
@@ -6,33 +6,34 @@
import kotlinx.coroutines.Deferred
class RecaptchaVisual(
  private val fragmentManager: FragmentManager,
  private val siteKey: String,
  private val baseUrl: String,
  private val lang: String = Locale.getDefault().getLanguage()
    private val fragmentManager: FragmentManager,
    private val siteKey: String,
    private val baseUrl: String,
    private val lang: String = Locale.getDefault().getLanguage()
) : RecaptchaListener {
  private var onDone: CompletableDeferred<String> = CompletableDeferred()
    private var onDone: CompletableDeferred<String> = CompletableDeferred()
  fun runCaptcha(): Deferred<String> {
    val fragment = RecaptchaVisualFragment.newInstance(siteKey, baseUrl, lang)
    fragment.configure(this)
    fragment.show(fragmentManager, "RecaptchaVisual")
    return onDone
  }
    fun runCaptcha(): Deferred<String> {
        onDone = CompletableDeferred()
        val fragment = RecaptchaVisualFragment.Companion.newInstance(siteKey, baseUrl, lang)
        fragment.configure(this)
        fragment.show(fragmentManager, "RecaptchaVisual")
        return onDone
    }
  override fun onLoad() {
    // Do nothing
  }
    override fun onLoad() {
        // Do nothing
    }
  override fun onVerify(token: String) {
    onDone.complete(token)
  }
    override fun onVerify(token: String) {
        onDone.complete(token)
    }
  override fun onError(error: RecaptchaVisualException) {
    onDone.completeExceptionally(error)
  }
    override fun onError(error: RecaptchaVisualException) {
        onDone.completeExceptionally(error)
    }
  override fun onExpire() {
    onDone.completeExceptionally(RecaptchaVisualException("reCAPTCHA Expired"))
  }
    override fun onExpire() {
        onDone.completeExceptionally(RecaptchaVisualException("reCAPTCHA Expired"))
    }
}