From 0c2d58bb9c322e529b663f44265822242e97fec2 Mon Sep 17 00:00:00 2001 From: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Thu, 16 Oct 2025 15:38:16 -0500 Subject: [PATCH] feat(#3474): Move lock icon on ContactItem.kt, tweak layout. (#3487) Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com> --- .../geeksville/mesh/ui/contact/ContactItem.kt | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/ui/contact/ContactItem.kt b/app/src/main/java/com/geeksville/mesh/ui/contact/ContactItem.kt index ffe36cd67..e344e020d 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/contact/ContactItem.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/contact/ContactItem.kt @@ -102,26 +102,29 @@ fun ContactItem( colors = colors, ) Column(modifier = Modifier.weight(1f)) { - Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween) { - Text(text = longName, modifier = Modifier.weight(1f)) - Row(verticalAlignment = Alignment.CenterVertically) { - // Show unlock icon for broadcast with default PSK - val isBroadcast = - contact.contactKey.getOrNull(1) == '^' || - contact.contactKey.endsWith("^all") || - contact.contactKey.endsWith("^broadcast") - if (isBroadcast && channels != null) { - val channelIndex = contact.contactKey[0].digitToIntOrNull() - channelIndex?.let { index -> SecurityIcon(channels, index) } - Spacer(modifier = Modifier.width(8.dp)) - } - Text( - text = lastMessageTime.orEmpty(), - color = MaterialTheme.colorScheme.onSurface, - fontSize = MaterialTheme.typography.labelLarge.fontSize, - modifier = Modifier.width(80.dp), - ) + Row( + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(8.dp), + ) { + // Show unlock icon for broadcast with default PSK + val isBroadcast = + contact.contactKey.getOrNull(1) == '^' || + contact.contactKey.endsWith("^all") || + contact.contactKey.endsWith("^broadcast") + if (isBroadcast && channels != null) { + val channelIndex = contact.contactKey[0].digitToIntOrNull() + channelIndex?.let { index -> SecurityIcon(channels, index) } } + + Text(text = longName) + Spacer(modifier = Modifier.weight(1f)) + Text( + text = lastMessageTime.orEmpty(), + color = MaterialTheme.colorScheme.onSurface, + fontSize = MaterialTheme.typography.labelLarge.fontSize, + modifier = Modifier.width(80.dp), + ) } Row( modifier = Modifier.fillMaxWidth().padding(top = 8.dp),