Loading data/src/main/java/com/moez/QKSMS/repository/SyncRepositoryImpl.kt +2 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ package com.moez.QKSMS.repository import android.content.ContentResolver import android.content.ContentUris import android.content.Context import android.net.Uri import android.provider.Telephony import android.telephony.PhoneNumberUtils Loading Loading @@ -47,6 +48,7 @@ import javax.inject.Singleton @Singleton class SyncRepositoryImpl @Inject constructor( private val context: Context, private val contentResolver: ContentResolver, private val conversationRepo: ConversationRepository, private val cursorToConversation: CursorToConversation, Loading domain/src/main/java/com/moez/QKSMS/model/Message.kt +12 −11 Original line number Diff line number Diff line Loading @@ -113,19 +113,20 @@ open class Message : RealmObject() { /** * Returns the text that should be displayed when a preview of the message * needs to be displayed, such as in the conversation view or in a notification * * TODO: Don't return a hardcoded string */ fun getSummary(): String { return when { fun getSummary(): String = when { isSms() -> body else -> parts .mapNotNull { it.text } .joinToString("\n") { text -> text } .takeIf { it.isNotEmpty() } ?: getCleansedSubject().takeIf { it.isNotEmpty() } ?: "An MMS message" else -> { val sb = StringBuilder() // Add subject getCleansedSubject().takeIf { it.isNotEmpty() }?.run(sb::appendln) // Add parts parts.mapNotNull { it.getSummary() }.forEach { summary -> sb.appendln(summary) } sb.toString().trim() } } Loading domain/src/main/java/com/moez/QKSMS/model/MmsPart.kt +8 −0 Original line number Diff line number Diff line Loading @@ -35,4 +35,12 @@ open class MmsPart : RealmObject() { fun getUri() = "content://mms/part/$id".toUri() fun getSummary(): String? = when { type == "text/plain" -> text type == "text/x-vCard" -> "Contact card" type.startsWith("image") -> "Photo" type.startsWith("video") -> "Video" else -> null } } No newline at end of file Loading
data/src/main/java/com/moez/QKSMS/repository/SyncRepositoryImpl.kt +2 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ package com.moez.QKSMS.repository import android.content.ContentResolver import android.content.ContentUris import android.content.Context import android.net.Uri import android.provider.Telephony import android.telephony.PhoneNumberUtils Loading Loading @@ -47,6 +48,7 @@ import javax.inject.Singleton @Singleton class SyncRepositoryImpl @Inject constructor( private val context: Context, private val contentResolver: ContentResolver, private val conversationRepo: ConversationRepository, private val cursorToConversation: CursorToConversation, Loading
domain/src/main/java/com/moez/QKSMS/model/Message.kt +12 −11 Original line number Diff line number Diff line Loading @@ -113,19 +113,20 @@ open class Message : RealmObject() { /** * Returns the text that should be displayed when a preview of the message * needs to be displayed, such as in the conversation view or in a notification * * TODO: Don't return a hardcoded string */ fun getSummary(): String { return when { fun getSummary(): String = when { isSms() -> body else -> parts .mapNotNull { it.text } .joinToString("\n") { text -> text } .takeIf { it.isNotEmpty() } ?: getCleansedSubject().takeIf { it.isNotEmpty() } ?: "An MMS message" else -> { val sb = StringBuilder() // Add subject getCleansedSubject().takeIf { it.isNotEmpty() }?.run(sb::appendln) // Add parts parts.mapNotNull { it.getSummary() }.forEach { summary -> sb.appendln(summary) } sb.toString().trim() } } Loading
domain/src/main/java/com/moez/QKSMS/model/MmsPart.kt +8 −0 Original line number Diff line number Diff line Loading @@ -35,4 +35,12 @@ open class MmsPart : RealmObject() { fun getUri() = "content://mms/part/$id".toUri() fun getSummary(): String? = when { type == "text/plain" -> text type == "text/x-vCard" -> "Contact card" type.startsWith("image") -> "Photo" type.startsWith("video") -> "Video" else -> null } } No newline at end of file