From 1e236a58832976d34e955a5aaa51001b9e85c439 Mon Sep 17 00:00:00 2001 From: Brandon McAnsh Date: Mon, 6 Jul 2026 11:38:23 -0400 Subject: [PATCH] fix(send): make CTA contextual based on contact request/permission status Signed-off-by: Brandon McAnsh --- .../internal/screens/components/ContactList.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/flipcash/features/direct-send/src/main/kotlin/com/flipcash/app/directsend/internal/screens/components/ContactList.kt b/apps/flipcash/features/direct-send/src/main/kotlin/com/flipcash/app/directsend/internal/screens/components/ContactList.kt index f7ef8d689..370947e28 100644 --- a/apps/flipcash/features/direct-send/src/main/kotlin/com/flipcash/app/directsend/internal/screens/components/ContactList.kt +++ b/apps/flipcash/features/direct-send/src/main/kotlin/com/flipcash/app/directsend/internal/screens/components/ContactList.kt @@ -167,8 +167,19 @@ internal fun ContactList( ) CodeButton( modifier = Modifier.fillMaxWidth(), - text = stringResource(R.string.action_allowContactAccessInSettings), + text = when (accessHandle.permissionStatus) { + PermissionResult.Denied -> stringResource(R.string.action_allowContactAccessInSettings) + PermissionResult.Granted -> "" + PermissionResult.NotRequested -> stringResource(R.string.action_giveAccessToContacts) + PermissionResult.PermanentlyDenied -> stringResource(R.string.action_allowContactAccessInSettings) + }, ) { + when (accessHandle.permissionStatus) { + PermissionResult.NotRequested -> accessHandle.launch() + PermissionResult.Granted -> Unit + PermissionResult.Denied, + PermissionResult.PermanentlyDenied -> context.launchAppSettings() + } context.launchAppSettings() } }