Show message when list is empty
This commit is contained in:
parent
e0b77936c1
commit
bd9c53a96c
|
@ -3191,7 +3191,8 @@
|
||||||
<string name="open_poll_option_description">Voters see results as soon as they have voted</string>
|
<string name="open_poll_option_description">Voters see results as soon as they have voted</string>
|
||||||
<string name="closed_poll_option_title">Closed poll</string>
|
<string name="closed_poll_option_title">Closed poll</string>
|
||||||
<string name="closed_poll_option_description">Results are only revealed when you end the poll</string>
|
<string name="closed_poll_option_description">Results are only revealed when you end the poll</string>
|
||||||
<string name="active_polls">Active polls</string>
|
<string name="room_polls_active">Active polls</string>
|
||||||
|
<string name="room_polls_active_no_item">There are no active polls in this room</string>
|
||||||
|
|
||||||
<!-- Location -->
|
<!-- Location -->
|
||||||
<string name="location_activity_title_static_sharing">Share location</string>
|
<string name="location_activity_title_static_sharing">Share location</string>
|
||||||
|
|
|
@ -66,7 +66,7 @@ class RoomPollsFragment : VectorBaseFragment<FragmentRoomPollsBinding>() {
|
||||||
|
|
||||||
tabLayoutMediator = TabLayoutMediator(views.roomPollsTabs, views.roomPollsViewPager) { tab, position ->
|
tabLayoutMediator = TabLayoutMediator(views.roomPollsTabs, views.roomPollsViewPager) { tab, position ->
|
||||||
when (position) {
|
when (position) {
|
||||||
0 -> tab.text = getString(R.string.active_polls)
|
0 -> tab.text = getString(R.string.room_polls_active)
|
||||||
}
|
}
|
||||||
}.also { it.attach() }
|
}.also { it.attach() }
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,9 +20,11 @@ import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import androidx.core.view.isVisible
|
||||||
import com.airbnb.mvrx.parentFragmentViewModel
|
import com.airbnb.mvrx.parentFragmentViewModel
|
||||||
import com.airbnb.mvrx.withState
|
import com.airbnb.mvrx.withState
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
import im.vector.app.R
|
||||||
import im.vector.app.core.extensions.cleanup
|
import im.vector.app.core.extensions.cleanup
|
||||||
import im.vector.app.core.extensions.configureWith
|
import im.vector.app.core.extensions.configureWith
|
||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
|
@ -55,7 +57,8 @@ class RoomActivePollsFragment :
|
||||||
|
|
||||||
private fun setupList() {
|
private fun setupList() {
|
||||||
roomActivePollsController.listener = this
|
roomActivePollsController.listener = this
|
||||||
views.activePollsList.configureWith(roomActivePollsController)
|
views.roomPollsList.configureWith(roomActivePollsController)
|
||||||
|
views.roomPollsEmptyTitle.text = getString(R.string.room_polls_active_no_item)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
|
@ -64,7 +67,7 @@ class RoomActivePollsFragment :
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun cleanUpList() {
|
private fun cleanUpList() {
|
||||||
views.activePollsList.cleanup()
|
views.roomPollsList.cleanup()
|
||||||
roomActivePollsController.listener = null
|
roomActivePollsController.listener = null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,6 +82,7 @@ class RoomActivePollsFragment :
|
||||||
|
|
||||||
private fun renderList(polls: List<PollSummary.ActivePoll>) {
|
private fun renderList(polls: List<PollSummary.ActivePoll>) {
|
||||||
roomActivePollsController.setData(polls)
|
roomActivePollsController.setData(polls)
|
||||||
|
views.roomPollsEmptyTitle.isVisible = polls.isEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPollClicked(pollId: String) {
|
override fun onPollClicked(pollId: String) {
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/activePollsList"
|
android:id="@+id/roomPollsList"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_marginHorizontal="@dimen/layout_horizontal_margin"
|
android:layout_marginHorizontal="@dimen/layout_horizontal_margin"
|
||||||
|
@ -17,5 +17,26 @@
|
||||||
tools:itemCount="5"
|
tools:itemCount="5"
|
||||||
tools:listitem="@layout/item_poll_active" />
|
tools:listitem="@layout/item_poll_active" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/roomPollsEmptyTitle"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginHorizontal="@dimen/layout_horizontal_margin"
|
||||||
|
android:layout_marginBottom="@dimen/layout_vertical_margin"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textAppearance="@style/TextAppearance.Vector.Body"
|
||||||
|
android:textColor="?vctr_content_secondary"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/roomPollsEmptyGuideline"
|
||||||
|
tools:text="@string/room_polls_active_no_item" />
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/roomPollsEmptyGuideline"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
app:layout_constraintGuide_percent="0.33" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
Loading…
Reference in New Issue