From 4e6bc74d31b4296be44459f2bec2f1360095678a Mon Sep 17 00:00:00 2001 From: Vu Do Date: Fri, 7 Nov 2025 13:57:12 +0700 Subject: [PATCH] generate qrcode after connecting by address --- .../src/main/kotlin/com/joinself/Main.kt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/java/self-demo/src/main/kotlin/com/joinself/Main.kt b/java/self-demo/src/main/kotlin/com/joinself/Main.kt index 5ae0efe..790e0d5 100644 --- a/java/self-demo/src/main/kotlin/com/joinself/Main.kt +++ b/java/self-demo/src/main/kotlin/com/joinself/Main.kt @@ -14,6 +14,10 @@ import com.joinself.selfsdk.keypair.signing.PublicKey import com.joinself.selfsdk.message.* import com.joinself.selfsdk.platform.Attestation import com.joinself.selfsdk.time.Timestamp +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import java.util.concurrent.Semaphore import kotlin.coroutines.suspendCoroutine @@ -43,7 +47,7 @@ fun main() { val signal = Semaphore(1) signal.acquire() - var discoveryRequestId: String = "" + val coroutineScope = CoroutineScope(Dispatchers.IO) val sandbox = true val rpcAddress = if (sandbox) Target.PRODUCTION_SANDBOX.rpcEndpoint() else Target.PRODUCTION.rpcEndpoint() @@ -75,13 +79,18 @@ fun main() { println("KMP commited") }, onKeyPackage = { keyPackage: KeyPackage -> - println("KMP keypackage") + println("KMP keyPackage") account.connectionEstablish(asAddress = keyPackage.toAddress(), keyPackage = keyPackage.keyPackage(), onCompletion = {status: SelfStatus, gAddress: PublicKey -> println("connection establish status:${status.name()} - group:${gAddress.encodeHex()}") responderAddress = keyPackage.fromAddress() groupAddress = gAddress signal.release() + + coroutineScope.launch { + delay(1000) + generateQrCode(account) + } } ) }, @@ -109,10 +118,6 @@ fun main() { val responseTo = discoveryResponse.responseTo().toHexString() println("received response to discovery request from:${message.fromAddress().encodeHex()} - requestId:${responseTo} - messageId:${message.id().toHexString()}") - if (responseTo != discoveryRequestId) { - println("received response to unknown request requestId:$responseTo") - } - signal.release() generateQrCode(account)