diff --git a/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt
index 2dcd6a48a3..281a292c39 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/threads/list/views/ThreadListFragment.kt
@@ -36,6 +36,7 @@ import im.vector.app.features.home.room.threads.ThreadsActivity
import im.vector.app.features.home.room.threads.arguments.ThreadListArgs
import im.vector.app.features.home.room.threads.list.viewmodel.ThreadListController
import im.vector.app.features.home.room.threads.list.viewmodel.ThreadListViewModel
+import im.vector.app.features.home.room.threads.list.viewmodel.ThreadListViewState
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
import org.matrix.android.sdk.api.util.MatrixItem
import javax.inject.Inject
@@ -90,6 +91,7 @@ class ThreadListFragment @Inject constructor(
}
override fun invalidate() = withState(threadListViewModel) { state ->
+ renderEmptyStateIfNeeded(state)
threadListController.update(state)
}
@@ -104,4 +106,9 @@ class ThreadListFragment @Inject constructor(
override fun onThreadClicked(timelineEvent: TimelineEvent) {
(activity as? ThreadsActivity)?.navigateToThreadTimeline(timelineEvent)
}
+
+ private fun renderEmptyStateIfNeeded(state: ThreadListViewState) {
+ val show = state.rootThreadEventList.invoke().isNullOrEmpty()
+ views.threadListEmptyConstraintLayout.isVisible = show
+ }
}
diff --git a/vector/src/main/res/layout/fragment_thread_list.xml b/vector/src/main/res/layout/fragment_thread_list.xml
index be042a7bce..77f46bf3ee 100644
--- a/vector/src/main/res/layout/fragment_thread_list.xml
+++ b/vector/src/main/res/layout/fragment_thread_list.xml
@@ -1,6 +1,7 @@
@@ -25,16 +26,90 @@
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/threadListAppBarLayout"
+ tools:listitem="@layout/item_thread_list"
+ tools:visibility="gone" />
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vector/src/main/res/values/strings.xml b/vector/src/main/res/values/strings.xml
index d88b7a6f2f..b86b2dd27f 100644
--- a/vector/src/main/res/values/strings.xml
+++ b/vector/src/main/res/values/strings.xml
@@ -1046,6 +1046,9 @@
Shows all threads from current room
My Threads
Shows all threads you’ve participated in
+ Keep discussions organised with threads
+ Threads help keep your conversations on-topic and easy to track.
+ Tip: Long tap a message and use “Reply in thread”.
Reason for reporting this content