From fb45d68835d41c596d446b32b02291566b1d09d1 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 8 Apr 2020 22:31:15 +0200 Subject: [PATCH] properly set the thread title if it contains no messages --- .../smsmessenger/activities/ThreadActivity.kt | 8 ++++++-- .../smsmessenger/extensions/ArrayList.kt | 6 ++++++ .../com/simplemobiletools/smsmessenger/models/Message.kt | 4 ++-- 3 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/ArrayList.kt diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt index 2589bb40..bb95acd4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt @@ -60,11 +60,15 @@ class ThreadActivity : SimpleActivity() { ensureBackgroundThread { messages = getMessages(threadId) - participants = messages.first().participants + participants = if (messages.isEmpty()) { + getThreadParticipants(threadId) + } else { + messages.first().participants + } setupAdapter() runOnUiThread { - supportActionBar?.title = messages.first().getThreadTitle() + supportActionBar?.title = participants.getThreadTitle() } } setupButtons() diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/ArrayList.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/ArrayList.kt new file mode 100644 index 00000000..6e71dd87 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/ArrayList.kt @@ -0,0 +1,6 @@ +package com.simplemobiletools.smsmessenger.extensions + +import android.text.TextUtils +import com.simplemobiletools.smsmessenger.models.Contact + +fun ArrayList.getThreadTitle() = TextUtils.join(", ", map { it.name }.toTypedArray()) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt index 1876dd7f..a7ecd82d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt @@ -1,12 +1,12 @@ package com.simplemobiletools.smsmessenger.models import android.provider.Telephony -import android.text.TextUtils +import com.simplemobiletools.smsmessenger.extensions.getThreadTitle data class Message( val id: Int, val body: String, val type: Int, val participants: ArrayList, val date: Int, val read: Boolean, val thread: Int ) : ThreadItem() { fun isReceivedMessage() = type == Telephony.Sms.MESSAGE_TYPE_INBOX - fun getThreadTitle() = TextUtils.join(", ", participants.map { it.name }.toTypedArray()) + fun getThreadTitle() = participants.getThreadTitle() }