Using ordinal of enum to render tabs
This commit is contained in:
parent
9b5fda2689
commit
85cfa433d9
@ -66,8 +66,8 @@ class RoomPollsFragment : VectorBaseFragment<FragmentRoomPollsBinding>() {
|
||||
|
||||
tabLayoutMediator = TabLayoutMediator(views.roomPollsTabs, views.roomPollsViewPager) { tab, position ->
|
||||
when (position) {
|
||||
0 -> tab.text = getString(R.string.room_polls_active)
|
||||
1 -> tab.text = getString(R.string.room_polls_ended)
|
||||
RoomPollsType.ACTIVE.ordinal -> tab.text = getString(R.string.room_polls_active)
|
||||
RoomPollsType.ENDED.ordinal -> tab.text = getString(R.string.room_polls_ended)
|
||||
}
|
||||
}.also { it.attach() }
|
||||
}
|
||||
|
@ -25,12 +25,13 @@ class RoomPollsPagerAdapter(
|
||||
private val fragment: Fragment
|
||||
) : FragmentStateAdapter(fragment) {
|
||||
|
||||
override fun getItemCount() = 2
|
||||
override fun getItemCount() = RoomPollsType.values().size
|
||||
|
||||
override fun createFragment(position: Int): Fragment {
|
||||
return when (position) {
|
||||
0 -> instantiateFragment(RoomActivePollsFragment::class.java.name)
|
||||
else -> instantiateFragment(RoomEndedPollsFragment::class.java.name)
|
||||
RoomPollsType.ACTIVE.ordinal -> instantiateFragment(RoomActivePollsFragment::class.java.name)
|
||||
RoomPollsType.ENDED.ordinal -> instantiateFragment(RoomEndedPollsFragment::class.java.name)
|
||||
else -> throw IllegalArgumentException("position should be between 0 and ${itemCount - 1}, while it was $position")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
package im.vector.app.features.roomprofile.polls
|
||||
|
||||
enum class RoomPollsFilterType {
|
||||
enum class RoomPollsType {
|
||||
ACTIVE,
|
||||
ENDED,
|
||||
}
|
@ -18,7 +18,7 @@ package im.vector.app.features.roomprofile.polls.active
|
||||
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import im.vector.app.R
|
||||
import im.vector.app.features.roomprofile.polls.RoomPollsFilterType
|
||||
import im.vector.app.features.roomprofile.polls.RoomPollsType
|
||||
import im.vector.app.features.roomprofile.polls.list.RoomPollsListFragment
|
||||
|
||||
@AndroidEntryPoint
|
||||
@ -28,7 +28,7 @@ class RoomActivePollsFragment : RoomPollsListFragment() {
|
||||
return getString(R.string.room_polls_active_no_item)
|
||||
}
|
||||
|
||||
override fun getRoomPollsFilter(): RoomPollsFilterType {
|
||||
return RoomPollsFilterType.ACTIVE
|
||||
override fun getRoomPollsType(): RoomPollsType {
|
||||
return RoomPollsType.ACTIVE
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ package im.vector.app.features.roomprofile.polls.ended
|
||||
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import im.vector.app.R
|
||||
import im.vector.app.features.roomprofile.polls.RoomPollsFilterType
|
||||
import im.vector.app.features.roomprofile.polls.RoomPollsType
|
||||
import im.vector.app.features.roomprofile.polls.list.RoomPollsListFragment
|
||||
|
||||
@AndroidEntryPoint
|
||||
@ -28,7 +28,7 @@ class RoomEndedPollsFragment : RoomPollsListFragment() {
|
||||
return getString(R.string.room_polls_ended_no_item)
|
||||
}
|
||||
|
||||
override fun getRoomPollsFilter(): RoomPollsFilterType {
|
||||
return RoomPollsFilterType.ENDED
|
||||
override fun getRoomPollsType(): RoomPollsType {
|
||||
return RoomPollsType.ENDED
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ import im.vector.app.core.extensions.configureWith
|
||||
import im.vector.app.core.platform.VectorBaseFragment
|
||||
import im.vector.app.databinding.FragmentRoomPollsListBinding
|
||||
import im.vector.app.features.roomprofile.polls.PollSummary
|
||||
import im.vector.app.features.roomprofile.polls.RoomPollsFilterType
|
||||
import im.vector.app.features.roomprofile.polls.RoomPollsType
|
||||
import im.vector.app.features.roomprofile.polls.RoomPollsViewModel
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
@ -53,7 +53,7 @@ abstract class RoomPollsListFragment :
|
||||
|
||||
abstract fun getEmptyListTitle(): String
|
||||
|
||||
abstract fun getRoomPollsFilter(): RoomPollsFilterType
|
||||
abstract fun getRoomPollsType(): RoomPollsType
|
||||
|
||||
private fun setupList() {
|
||||
roomPollsController.listener = this
|
||||
@ -72,9 +72,9 @@ abstract class RoomPollsListFragment :
|
||||
}
|
||||
|
||||
override fun invalidate() = withState(viewModel) { viewState ->
|
||||
when (getRoomPollsFilter()) {
|
||||
RoomPollsFilterType.ACTIVE -> renderList(viewState.polls.filterIsInstance(PollSummary.ActivePoll::class.java))
|
||||
RoomPollsFilterType.ENDED -> renderList(viewState.polls.filterIsInstance(PollSummary.EndedPoll::class.java))
|
||||
when (getRoomPollsType()) {
|
||||
RoomPollsType.ACTIVE -> renderList(viewState.polls.filterIsInstance(PollSummary.ActivePoll::class.java))
|
||||
RoomPollsType.ENDED -> renderList(viewState.polls.filterIsInstance(PollSummary.EndedPoll::class.java))
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user