diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/BunkerMultiEventHomeScreen.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/BunkerMultiEventHomeScreen.kt index 08f075f2..31bbbb64 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/BunkerMultiEventHomeScreen.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/BunkerMultiEventHomeScreen.kt @@ -38,6 +38,7 @@ import com.greenart7c3.nostrsigner.service.ApplicationNameCache import com.greenart7c3.nostrsigner.service.BunkerRequestUtils import com.greenart7c3.nostrsigner.service.EventNotificationConsumer import com.greenart7c3.nostrsigner.service.MultiEventScreenIntents +import com.greenart7c3.nostrsigner.service.model.AmberEvent import com.greenart7c3.nostrsigner.service.toShortenHex import com.greenart7c3.nostrsigner.ui.RememberType import com.greenart7c3.nostrsigner.ui.navigation.Route @@ -294,14 +295,21 @@ fun BunkerMultiEventHomeScreen( ) if (request.rememberType.value != RememberType.NEVER && request.checked.value) { + val rejectKind = if (request.request is BunkerRequestSign) request.request.event.kind else null + val rejectRelay = if (request.request is BunkerRequestSign && request.request.event.kind == 22242) { + AmberEvent.relay(request.request.event) ?: "" + } else { + "" + } AmberUtils.acceptOrRejectPermission( application, localKey, BunkerRequestUtils.getTypeFromBunker(request.request), - null, + rejectKind, false, request.rememberType.value, thisAccount, + relay = rejectRelay, ) } @@ -376,6 +384,11 @@ fun BunkerMultiEventHomeScreen( val localEvent = request.signedEvent!! if (request.rememberType.value != RememberType.NEVER && request.checked.value) { + val signRelay = if (localEvent.kind == 22242) { + AmberEvent.relay(localEvent) ?: "" + } else { + "" + } AmberUtils.acceptOrRejectPermission( application = application, key = localKey, @@ -384,6 +397,7 @@ fun BunkerMultiEventHomeScreen( value = true, rememberType = request.rememberType.value, account = thisAccount, + relay = signRelay, ) } diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/IntentMultiEventHomeScreen.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/IntentMultiEventHomeScreen.kt index 7cbd77bb..ea5bcced 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/IntentMultiEventHomeScreen.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/IntentMultiEventHomeScreen.kt @@ -41,6 +41,7 @@ import com.greenart7c3.nostrsigner.models.TagArrayEncryptedDataKind import com.greenart7c3.nostrsigner.service.AmberUtils import com.greenart7c3.nostrsigner.service.ApplicationNameCache import com.greenart7c3.nostrsigner.service.MultiEventScreenIntents +import com.greenart7c3.nostrsigner.service.model.AmberEvent import com.greenart7c3.nostrsigner.service.toShortenHex import com.greenart7c3.nostrsigner.ui.RememberType import com.greenart7c3.nostrsigner.ui.navigation.Route @@ -298,14 +299,21 @@ fun IntentMultiEventHomeScreen( ) if (intentData.rememberType.value != RememberType.NEVER && intentData.checked.value) { + val rejectKind = if (intentData.type == SignerType.SIGN_EVENT) intentData.event?.kind else null + val rejectRelay = if (intentData.type == SignerType.SIGN_EVENT && intentData.event?.kind == 22242) { + intentData.event?.let { AmberEvent.relay(it) } ?: "" + } else { + "" + } AmberUtils.acceptOrRejectPermission( application, localKey, intentData.type, - null, + rejectKind, false, intentData.rememberType.value, thisAccount, + relay = rejectRelay, ) } @@ -388,6 +396,11 @@ fun IntentMultiEventHomeScreen( val localEvent = intentData.event!! if (intentData.rememberType.value != RememberType.NEVER && intentData.checked.value) { + val signRelay = if (localEvent.kind == 22242) { + AmberEvent.relay(localEvent) ?: "" + } else { + "" + } AmberUtils.acceptOrRejectPermission( application, localKey, @@ -396,6 +409,7 @@ fun IntentMultiEventHomeScreen( true, intentData.rememberType.value, thisAccount, + relay = signRelay, ) }