From b1067c339c597e927eb8d80f912fb1a5702b2889 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Fri, 23 Dec 2022 17:27:41 +0000 Subject: [PATCH] android: fix meta layout/reserved space (#1635) --- .../chat/simplex/app/views/chat/item/CIMetaView.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/chat/item/CIMetaView.kt b/apps/android/app/src/main/java/chat/simplex/app/views/chat/item/CIMetaView.kt index 5eabcc1ede..7a341ad7c6 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/views/chat/item/CIMetaView.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/views/chat/item/CIMetaView.kt @@ -35,6 +35,7 @@ fun CIMetaView(chatItem: ChatItem, timedMessagesTTL: Int?, metaColor: Color = Hi } @Composable +// changing this function requires updating reserveSpaceForMeta private fun CIMetaText(meta: CIMeta, chatTTL: Int?, color: Color) { if (meta.itemEdited) { StatusIconText(Icons.Outlined.Edit, color) @@ -60,20 +61,20 @@ private fun CIMetaText(meta: CIMeta, chatTTL: Int?, color: Color) { Text(meta.timestampText, color = color, fontSize = 13.sp) } +// the conditions in this function should match CIMetaText fun reserveSpaceForMeta(meta: CIMeta, chatTTL: Int?): String { + val iconSpace = " " var res = "" - var repeats = 0 - if (meta.itemEdited) repeats++ + if (meta.itemEdited) res += iconSpace if (meta.itemTimed != null) { - repeats++ + res += iconSpace val ttl = meta.itemTimed?.ttl if (ttl != chatTTL) { res += TimedMessagesPreference.shortTtlText(ttl) } } - if (meta.itemStatus !is CIStatus.RcvRead && meta.itemStatus !is CIStatus.RcvNew) repeats++ - repeat(repeats) { - res += " " + if (meta.statusIcon(HighOrLowlight) != null || !meta.disappearing) { + res += iconSpace } return res + meta.timestampText }