Updated on 2026-08-14

This commit is contained in:
Tangem 2024-05-29 15:22:52 +01:00
parent 3ec1b5c88e
commit 590888db59
6 changed files with 33 additions and 10 deletions

View file

@ -7,5 +7,5 @@ import android.content.Intent
*/
interface IntentHandler {
fun handleIntent(intent: Intent?): Boolean
fun handleIntent(intent: Intent?, isFromForeground: Boolean): Boolean
}

View file

@ -19,9 +19,9 @@ class IntentProcessor {
intentHandlers.clear()
}
fun handleIntent(intent: Intent?) {
fun handleIntent(intent: Intent?, isFromForeground: Boolean) {
intentHandlers.forEach {
it.handleIntent(intent)
it.handleIntent(intent, isFromForeground)
}
}
}

View file

@ -25,7 +25,8 @@ class BackgroundScanIntentHandler(
NfcAdapter.ACTION_TAG_DISCOVERED,
)
override fun handleIntent(intent: Intent?): Boolean {
override fun handleIntent(intent: Intent?, isFromForeground: Boolean): Boolean {
if (isFromForeground) return true
if (intent == null || intent.action !in nfcActions) return false
val tag: Tag? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {

View file

@ -14,7 +14,7 @@ import java.net.URLDecoder
*/
class WalletConnectLinkIntentHandler : IntentHandler {
override fun handleIntent(intent: Intent?): Boolean {
override fun handleIntent(intent: Intent?, isFromForeground: Boolean): Boolean {
val intentData = intent?.data ?: return false
val scheme = intent.scheme ?: return false

View file

@ -70,7 +70,7 @@ internal class WelcomeMiddleware {
scope = scope,
hasSavedUserWalletsProvider = { true },
)
val isBackgroundScanHandled = handler.handleIntent(initialIntent)
val isBackgroundScanHandled = handler.handleIntent(initialIntent, isFromForeground = false)
val hasUncompletedBackup = backupService.hasIncompletedBackup
if (!isBackgroundScanHandled && !hasUncompletedBackup) {
@ -103,7 +103,7 @@ internal class WelcomeMiddleware {
store.onUserWalletSelected(userWallet = selectedUserWallet)
afterUnlockIntent?.let {
WalletConnectLinkIntentHandler().handleIntent(it)
WalletConnectLinkIntentHandler().handleIntent(it, false)
}
}
}
@ -135,7 +135,7 @@ internal class WelcomeMiddleware {
store.onUserWalletSelected(userWallet = userWallet)
afterScanIntent?.let {
WalletConnectLinkIntentHandler().handleIntent(it)
WalletConnectLinkIntentHandler().handleIntent(it, false)
}
}
}