diff --git a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/StateContentFormatter.kt b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/StateContentFormatter.kt index 493f5b1584..3f0f4a1dc2 100644 --- a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/StateContentFormatter.kt +++ b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/StateContentFormatter.kt @@ -63,7 +63,7 @@ class StateContentFormatter @Inject constructor( } } is OtherState.RoomTopic -> { - val hasRoomTopic = content.topic != null + val hasRoomTopic = content.topic?.isNotBlank() == true when { senderIsYou && hasRoomTopic -> sp.getString(R.string.state_event_room_topic_changed_by_you, content.topic) senderIsYou && !hasRoomTopic -> sp.getString(R.string.state_event_room_topic_removed_by_you) diff --git a/libraries/eventformatter/impl/src/test/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatterTest.kt b/libraries/eventformatter/impl/src/test/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatterTest.kt index 7090b2467b..11b809258e 100644 --- a/libraries/eventformatter/impl/src/test/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatterTest.kt +++ b/libraries/eventformatter/impl/src/test/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatterTest.kt @@ -662,6 +662,7 @@ class DefaultRoomLastMessageFormatterTest { val roomTopic = "New topic" val changedContent = StateContent("", OtherState.RoomTopic(roomTopic)) val removedContent = StateContent("", OtherState.RoomTopic(null)) + val blankContent = StateContent("", OtherState.RoomTopic("")) val youChangedRoomTopicEvent = createRoomEvent(sentByYou = true, senderDisplayName = null, content = changedContent) val youChangedRoomTopic = formatter.format(youChangedRoomTopicEvent, false) @@ -678,6 +679,14 @@ class DefaultRoomLastMessageFormatterTest { val someoneRemovedRoomTopicEvent = createRoomEvent(sentByYou = false, senderDisplayName = otherName, content = removedContent) val someoneRemovedRoomTopic = formatter.format(someoneRemovedRoomTopicEvent, false) assertThat(someoneRemovedRoomTopic).isEqualTo("$otherName removed the room topic") + + val youSetBlankRoomTopicEvent = createRoomEvent(sentByYou = true, senderDisplayName = null, content = blankContent) + val youSetBlankRoomTopic = formatter.format(youSetBlankRoomTopicEvent, false) + assertThat(youSetBlankRoomTopic).isEqualTo("You removed the room topic") + + val someoneSetBlankRoomTopicEvent = createRoomEvent(sentByYou = false, senderDisplayName = otherName, content = blankContent) + val someoneSetBlankRoomTopic = formatter.format(someoneSetBlankRoomTopicEvent, false) + assertThat(someoneSetBlankRoomTopic).isEqualTo("$otherName removed the room topic") } @Test