From 1b17dc90619ec5e55f3cd48c7e63fc42d46cd18c Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Wed, 30 Oct 2024 14:41:33 -0300 Subject: [PATCH] Try to change account when theres a incoming request --- .../com/greenart7c3/nostrsigner/MainActivity.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/MainActivity.kt b/app/src/main/java/com/greenart7c3/nostrsigner/MainActivity.kt index 960ef0c8..42e267e6 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/MainActivity.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/MainActivity.kt @@ -40,8 +40,11 @@ import com.greenart7c3.nostrsigner.ui.AccountScreen import com.greenart7c3.nostrsigner.ui.AccountStateViewModel import com.greenart7c3.nostrsigner.ui.BiometricsTimeType import com.greenart7c3.nostrsigner.ui.components.RandomPinInput +import com.greenart7c3.nostrsigner.ui.navigation.Route import com.greenart7c3.nostrsigner.ui.theme.NostrSignerTheme import com.vitorpamplona.ammolite.service.HttpClientManager +import com.vitorpamplona.quartz.encoders.toNpub +import fr.acinq.secp256k1.Hex import java.time.Duration import java.time.Instant import kotlinx.coroutines.Dispatchers @@ -211,6 +214,17 @@ class MainActivity : AppCompatActivity() { } LaunchedEffect(Unit) { + launch(Dispatchers.IO) { + val currentAccount = LocalPreferences.currentAccount(context) + if (currentAccount != null && npub != null && currentAccount != npub) { + if (npub.startsWith("npub")) { + accountStateViewModel.switchUser(npub, Route.IncomingRequest.route) + } else { + val localNpub = Hex.decode(npub).toNpub() + accountStateViewModel.switchUser(localNpub, Route.IncomingRequest.route) + } + } + } launch { IntentUtils.state .receiveAsFlow()