Skip to content

Commit af4c2d2

Browse files
committed
feat: add webview cancelled event.
Signed-off-by: Gaurav Goel <[email protected]>
1 parent 91dd944 commit af4c2d2

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

core/src/main/java/com/web3auth/core/Web3Auth.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,7 @@ class Web3Auth(web3AuthOptions: Web3AuthOptions, context: Context) : WebViewResu
521521
): CompletableFuture<SignResponse> {
522522
signMsgCF = CompletableFuture()
523523
WebViewActivity.webViewResultCallback = this
524+
524525
val sessionId = sessionManager.getSessionId()
525526
if (sessionId.isNotBlank()) {
526527
val sdkUrl = Uri.parse(web3AuthOption.walletSdkUrl)
@@ -681,5 +682,9 @@ class Web3Auth(web3AuthOptions: Web3AuthOptions, context: Context) : WebViewResu
681682
signMsgCF.complete(signResponse)
682683
}
683684
}
685+
686+
override fun onWebViewCancelled() {
687+
signMsgCF.completeExceptionally(Exception("User cancelled the operation."))
688+
}
684689
}
685690

core/src/main/java/com/web3auth/core/WebViewActivity.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,11 @@ class WebViewActivity : AppCompatActivity() {
123123
}
124124

125125
override fun onBackPressed() {
126-
when {
127-
webView.canGoBack() -> webView.goBack()
128-
else -> super.onBackPressed()
126+
if (webView.canGoBack()) {
127+
webView.goBack()
128+
} else {
129+
webViewResultCallback?.onWebViewCancelled()
130+
super.onBackPressed()
129131
}
130132
}
131133

core/src/main/java/com/web3auth/core/types/WebViewResultCallback.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ package com.web3auth.core.types
22

33
interface WebViewResultCallback {
44
fun onSignResponseReceived(signResponse: SignResponse?)
5+
fun onWebViewCancelled()
56
}

0 commit comments

Comments
 (0)