diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/service/BunkerRequestUtils.kt b/app/src/main/java/com/greenart7c3/nostrsigner/service/BunkerRequestUtils.kt index 799d0bb3..def9371d 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/service/BunkerRequestUtils.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/service/BunkerRequestUtils.kt @@ -404,6 +404,7 @@ object BunkerRequestUtils { kind: Int?, onLoading: (Boolean) -> Unit, ) { + onLoading(true) Amber.instance.applicationIOScope.launch(Dispatchers.IO) { val savedApplication = Amber.instance.getDatabase(account.npub).dao().getByKey(key) val defaultRelays = Amber.instance.settings.defaultRelays @@ -432,6 +433,14 @@ object BunkerRequestUtils { permissions = mutableListOf(), ) + clearRequests() + EventNotificationConsumer(Amber.instance).notificationManager().cancelAll() + val activity = Amber.instance.getMainActivity() + activity?.intent = null + if (application.application.closeApplication) { + activity?.finish() + } + if (rememberType != RememberType.NEVER) { AmberUtils.acceptOrRejectPermission( application, diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/MultiEventHomeScreen.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/MultiEventHomeScreen.kt index dc9b4604..3ae2fe7c 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/MultiEventHomeScreen.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/MultiEventHomeScreen.kt @@ -663,9 +663,10 @@ fun BunkerMultiEventHomeScreen( Amber.instance.applicationIOScope.launch(Dispatchers.IO) { try { reconnectToRelays() - var closeApp = true - + val closeApp = bunkerRequests.any { it.closeApplication } BunkerRequestUtils.clearRequests() + EventNotificationConsumer(context).notificationManager().cancelAll() + finishActivity(closeApp) for (request in bunkerRequests) { val thisAccount = if (request.currentAccount.isNotBlank()) { @@ -709,10 +710,6 @@ fun BunkerMultiEventHomeScreen( permissions = mutableListOf(), ) - if (!application.application.closeApplication) { - closeApp = false - } - if (request.request is BunkerRequestSign) { val localEvent = request.signedEvent!! @@ -923,8 +920,6 @@ fun BunkerMultiEventHomeScreen( } } } - EventNotificationConsumer(context).notificationManager().cancelAll() - finishActivity(closeApp) } finally { onLoading(false) }