Updated on 2026-08-14
This commit is contained in:
parent
3ec1b5c88e
commit
590888db59
6 changed files with 33 additions and 10 deletions
|
|
@ -7,5 +7,5 @@ import android.content.Intent
|
|||
*/
|
||||
interface IntentHandler {
|
||||
|
||||
fun handleIntent(intent: Intent?): Boolean
|
||||
fun handleIntent(intent: Intent?, isFromForeground: Boolean): Boolean
|
||||
}
|
||||
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue