From 0fc032e0f421c58fa77805f4e5b2bb35863513f5 Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Mon, 10 Jun 2024 09:19:02 -0300 Subject: [PATCH] only update the permissions on success --- .../nostrsigner/service/IntentUtils.kt | 5 -- .../greenart7c3/nostrsigner/ui/MainScreen.kt | 51 ++++++++++--------- 2 files changed, 26 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/service/IntentUtils.kt b/app/src/main/java/com/greenart7c3/nostrsigner/service/IntentUtils.kt index 882d6971..0755d1ac 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/service/IntentUtils.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/service/IntentUtils.kt @@ -259,7 +259,6 @@ object IntentUtils { bunkerResponse: BunkerResponse, relays: List, onLoading: (Boolean) -> Unit, - onSign: (() -> Unit)? = null, onDone: () -> Unit, ) { account.signer.nip04Encrypt( @@ -272,10 +271,6 @@ object IntentUtils { arrayOf(arrayOf("p", localKey)), encryptedContent, ) { - if (onSign != null) { - onSign() - } - GlobalScope.launch(Dispatchers.IO) { if (RelayPool.getAll().isEmpty()) { val database = NostrSigner.instance.getDatabase(account.keyPair.pubKey.toNpub()) diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt index f598ee84..96af52c8 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt @@ -154,15 +154,8 @@ fun sendResult( } } - if (intentData.bunkerRequest != null && intentData.bunkerRequest.secret.isNotBlank()) { - val application = database.applicationDao().getBySecret(intentData.bunkerRequest.secret) - application?.let { - database.applicationDao().delete(it.application) - } - } - val activity = context.getAppCompatActivity() - if (intentData.type == SignerType.CONNECT || (intentData.bunkerRequest == null && intentData.type == SignerType.GET_PUBLIC_KEY)) { + if (intentData.bunkerRequest == null && intentData.type == SignerType.GET_PUBLIC_KEY) { database.applicationDao().deletePermissions(key) } @@ -237,24 +230,32 @@ fun sendResult( BunkerResponse(intentData.bunkerRequest.id, event, null), application.application.relays.map { url -> Relay(url) }, onLoading, - onSign = { - database.applicationDao().insertApplicationWithPermissions(application) - database.applicationDao().addHistory( - HistoryEntity( - 0, - key, - intentData.type.toString(), - kind, - TimeUtils.now(), - true, - ), - ) - PushNotificationUtils.hasInit = false - GlobalScope.launch(Dispatchers.IO) { - PushNotificationUtils.init(LocalPreferences.allSavedAccounts()) - } - }, ) { + if (intentData.bunkerRequest.secret.isNotBlank()) { + val secretApplication = database.applicationDao().getBySecret(intentData.bunkerRequest.secret) + secretApplication?.let { + database.applicationDao().delete(it.application) + } + } + if (intentData.type == SignerType.CONNECT) { + database.applicationDao().deletePermissions(key) + } + database.applicationDao().insertApplicationWithPermissions(application) + database.applicationDao().addHistory( + HistoryEntity( + 0, + key, + intentData.type.toString(), + kind, + TimeUtils.now(), + true, + ), + ) + PushNotificationUtils.hasInit = false + GlobalScope.launch(Dispatchers.IO) { + PushNotificationUtils.init(LocalPreferences.allSavedAccounts()) + } + EventNotificationConsumer(context).notificationManager().cancelAll() activity?.intent = null activity?.finish()