Room list

This commit is contained in:
Benoit Marty
2019-05-29 12:21:45 +02:00
parent 25f6528049
commit 2b8bbc550c
22 changed files with 290 additions and 102 deletions

View File

@ -56,7 +56,7 @@ class HomeDetailFragment : VectorBaseFragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
currentDisplayMode = savedInstanceState?.getSerializable(CURRENT_DISPLAY_MODE) as? RoomListFragment.DisplayMode
?: RoomListFragment.DisplayMode.HOME
?: RoomListFragment.DisplayMode.HOME
switchDisplayMode(currentDisplayMode)
setupBottomNavigationView()
setupToolbar()
@ -87,10 +87,11 @@ class HomeDetailFragment : VectorBaseFragment() {
private fun setupBottomNavigationView() {
bottomNavigationView.setOnNavigationItemSelectedListener {
val displayMode = when {
it.itemId == R.id.bottom_action_people -> RoomListFragment.DisplayMode.PEOPLE
it.itemId == R.id.bottom_action_rooms -> RoomListFragment.DisplayMode.ROOMS
else -> RoomListFragment.DisplayMode.HOME
val displayMode = when (it.itemId) {
R.id.bottom_action_home -> RoomListFragment.DisplayMode.HOME
R.id.bottom_action_people -> RoomListFragment.DisplayMode.PEOPLE
R.id.bottom_action_rooms -> RoomListFragment.DisplayMode.ROOMS
else -> RoomListFragment.DisplayMode.HOME
}
if (currentDisplayMode != displayMode) {
currentDisplayMode = displayMode
@ -98,6 +99,7 @@ class HomeDetailFragment : VectorBaseFragment() {
}
true
}
val menuView = bottomNavigationView.getChildAt(0) as BottomNavigationMenuView
menuView.forEachIndexed { index, view ->
val itemView = view as BottomNavigationItemView

View File

@ -16,10 +16,10 @@
package im.vector.riotredesign.features.home.room.list
import android.content.Intent
import android.os.Bundle
import android.os.Parcelable
import androidx.annotation.StringRes
import androidx.core.view.isVisible
import androidx.recyclerview.widget.LinearLayoutManager
import com.airbnb.mvrx.*
import im.vector.matrix.android.api.failure.Failure
@ -29,7 +29,6 @@ import im.vector.riotredesign.core.epoxy.LayoutManagerStateRestorer
import im.vector.riotredesign.core.extensions.observeEvent
import im.vector.riotredesign.core.platform.StateView
import im.vector.riotredesign.core.platform.VectorBaseFragment
import im.vector.riotredesign.features.roomdirectory.RoomDirectoryActivity
import kotlinx.android.parcel.Parcelize
import kotlinx.android.synthetic.main.fragment_room_list.*
import org.koin.android.ext.android.inject
@ -73,10 +72,19 @@ class RoomListFragment : VectorBaseFragment(), RoomSummaryController.Callback {
}
private fun setupCreateRoomButton() {
createRoomButton.setImageResource(R.drawable.ic_add_white)
createRoomButton.isVisible = roomListParams.displayMode == DisplayMode.HOME
createChatRoomButton.isVisible = roomListParams.displayMode == DisplayMode.PEOPLE
createGroupRoomButton.isVisible = roomListParams.displayMode == DisplayMode.ROOMS
createRoomButton.setOnClickListener {
navigator.openRoomDirectory()
}
createChatRoomButton.setOnClickListener {
navigator.openRoomDirectory()
}
createGroupRoomButton.setOnClickListener {
navigator.openRoomDirectory()
}
}
private fun setupRecyclerView() {