diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.kt index b8f2828c5e..3cf5471285 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.kt @@ -56,6 +56,7 @@ import org.signal.core.util.requireNonNullString import org.signal.core.util.requireString import org.signal.core.util.select import org.signal.core.util.toOptional +import org.signal.core.util.toSingleLine import org.signal.core.util.update import org.signal.core.util.withinTransaction import org.signal.libsignal.protocol.IdentityKey @@ -373,7 +374,7 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat '${AttachmentTable.UPLOAD_TIMESTAMP}', ${AttachmentTable.TABLE_NAME}.${AttachmentTable.UPLOAD_TIMESTAMP} ) ) AS ${AttachmentTable.ATTACHMENT_JSON_ALIAS} - """ + """.toSingleLine() private const val IS_STORY_CLAUSE = "$STORY_TYPE > 0 AND $REMOTE_DELETED = 0" private const val RAW_ID_WHERE = "$TABLE_NAME.$ID = ?" @@ -1881,7 +1882,7 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat $where GROUP BY $TABLE_NAME.$ID - """ + """.toSingleLine() if (reverse) { rawQueryString += " ORDER BY $TABLE_NAME.$ID DESC" diff --git a/core-util/src/main/java/org/signal/core/util/StringExtensions.kt b/core-util/src/main/java/org/signal/core/util/StringExtensions.kt index 854a0ed749..5e6cbb3223 100644 --- a/core-util/src/main/java/org/signal/core/util/StringExtensions.kt +++ b/core-util/src/main/java/org/signal/core/util/StringExtensions.kt @@ -25,3 +25,20 @@ fun String.asListContains(item: String): Boolean { fun String?.emptyIfNull(): String { return this ?: "" } + +/** + * Turns a multi-line string into a single-line string stripped of indentation, separated by spaces instead of newlines. + * + * e.g. + * + * a + * b + * c + * + * turns into + * + * a b c + */ +fun String.toSingleLine(): String { + return this.trimIndent().split("\n").joinToString(separator = " ") +}