From d4ed6661dd7cf3b1a736c74d7fa1f5bdd7b49ae7 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sun, 19 Nov 2023 17:45:00 -0500 Subject: [PATCH] Fixes single click login screen --- .../amethyst/ui/screen/loggedOff/LoginScreen.kt | 5 ++++- .../vitorpamplona/quartz/signers/ExternalSignerLauncher.kt | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt index 26a7afadd..0db615da9 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt @@ -83,6 +83,7 @@ import com.vitorpamplona.quartz.signers.ExternalSignerLauncher import com.vitorpamplona.quartz.signers.SignerType import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import java.util.UUID @OptIn(ExperimentalComposeUiApi::class) @Composable @@ -108,6 +109,7 @@ fun LoginPage( if (loginWithExternalSigner) { val externalSignerLauncher = remember { ExternalSignerLauncher("") } + val id = remember { UUID.randomUUID().toString() } val launcher = rememberLauncherForActivityResult( contract = ActivityResultContracts.StartActivityForResult(), @@ -159,8 +161,9 @@ fun LoginPage( "", SignerType.GET_PUBLIC_KEY, "", - "" + id ) { pubkey -> + println("AAAA- COME BACK") key.value = TextFieldValue(pubkey) if (!acceptedTerms.value) { termsAcceptanceIsRequired = diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/signers/ExternalSignerLauncher.kt b/quartz/src/main/java/com/vitorpamplona/quartz/signers/ExternalSignerLauncher.kt index c50d6bce4..f0292ad37 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/signers/ExternalSignerLauncher.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/signers/ExternalSignerLauncher.kt @@ -152,7 +152,7 @@ class ExternalSignerLauncher( } fun decrypt(encryptedContent: String, pubKey: HexKey, signerType: SignerType = SignerType.NIP04_DECRYPT, onReady: (String)-> Unit) { - val id = (encryptedContent + pubKey).hashCode().toString() + val id = (encryptedContent + pubKey + onReady.toString()).hashCode().toString() val result = getDataFromResolver(signerType, arrayOf(encryptedContent, pubKey)) if (result == null) { openSignerApp( @@ -168,7 +168,7 @@ class ExternalSignerLauncher( } fun encrypt(decryptedContent: String, pubKey: HexKey, signerType: SignerType = SignerType.NIP04_ENCRYPT, onReady: (String)-> Unit) { - val id = (decryptedContent + pubKey).hashCode().toString() + val id = (decryptedContent + pubKey + onReady.toString()).hashCode().toString() val result = getDataFromResolver(signerType, arrayOf(decryptedContent, pubKey)) if (result == null) { openSignerApp(