From c1cbf1e9160411c731f2b978d75c27e15d11fbd4 Mon Sep 17 00:00:00 2001 From: geeksville Date: Thu, 17 Sep 2020 12:03:27 -0700 Subject: [PATCH] add trim to #162 so " " behavior stays same. --- app/src/main/java/com/geeksville/mesh/model/UIState.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/model/UIState.kt b/app/src/main/java/com/geeksville/mesh/model/UIState.kt index 1a260136f..a673dd6e8 100644 --- a/app/src/main/java/com/geeksville/mesh/model/UIState.kt +++ b/app/src/main/java/com/geeksville/mesh/model/UIState.kt @@ -20,17 +20,18 @@ import com.geeksville.mesh.service.MeshService /// that user. If the original name is only one word, strip vowels from the original name and if the result is /// 3 or more characters, use the first three characters. If not, just take the first 3 characters of the /// original name. -fun getInitials(name: String): String { +fun getInitials(nameIn: String): String { val nchars = 3 val minchars = 2 + val name = nameIn.trim() val words = name.split(Regex("\\s+")).filter { it.isNotEmpty() } val initials = when (words.size) { - in 0..minchars-1 -> { + in 0..minchars - 1 -> { val nm = name.filterNot { c -> c.toLowerCase() in "aeiou" } if (nm.length >= nchars) nm else name } - else -> words.map{ it.first() }.joinToString("") + else -> words.map { it.first() }.joinToString("") } return initials.take(nchars) }