Home: fix double tab selection
This commit is contained in:
parent
037bf45884
commit
8109262cbb
|
@ -66,6 +66,11 @@ class HomeDetailFragment @Inject constructor(
|
||||||
setupToolbar()
|
setupToolbar()
|
||||||
setupKeysBackupBanner()
|
setupKeysBackupBanner()
|
||||||
|
|
||||||
|
withState(viewModel) {
|
||||||
|
// Update the navigation view if needed (for when we restore the tabs)
|
||||||
|
bottomNavigationView.selectedItemId = it.displayMode.toMenuId()
|
||||||
|
}
|
||||||
|
|
||||||
viewModel.selectSubscribe(this, HomeDetailViewState::groupSummary) { groupSummary ->
|
viewModel.selectSubscribe(this, HomeDetailViewState::groupSummary) { groupSummary ->
|
||||||
onGroupChange(groupSummary.orNull())
|
onGroupChange(groupSummary.orNull())
|
||||||
}
|
}
|
||||||
|
@ -127,7 +132,6 @@ class HomeDetailFragment @Inject constructor(
|
||||||
private fun setupBottomNavigationView() {
|
private fun setupBottomNavigationView() {
|
||||||
bottomNavigationView.setOnNavigationItemSelectedListener {
|
bottomNavigationView.setOnNavigationItemSelectedListener {
|
||||||
val displayMode = when (it.itemId) {
|
val displayMode = when (it.itemId) {
|
||||||
R.id.bottom_action_home -> RoomListDisplayMode.HOME
|
|
||||||
R.id.bottom_action_people -> RoomListDisplayMode.PEOPLE
|
R.id.bottom_action_people -> RoomListDisplayMode.PEOPLE
|
||||||
R.id.bottom_action_rooms -> RoomListDisplayMode.ROOMS
|
R.id.bottom_action_rooms -> RoomListDisplayMode.ROOMS
|
||||||
else -> RoomListDisplayMode.HOME
|
else -> RoomListDisplayMode.HOME
|
||||||
|
@ -149,12 +153,6 @@ class HomeDetailFragment @Inject constructor(
|
||||||
private fun switchDisplayMode(displayMode: RoomListDisplayMode) {
|
private fun switchDisplayMode(displayMode: RoomListDisplayMode) {
|
||||||
groupToolbarTitleView.setText(displayMode.titleRes)
|
groupToolbarTitleView.setText(displayMode.titleRes)
|
||||||
updateSelectedFragment(displayMode)
|
updateSelectedFragment(displayMode)
|
||||||
// Update the navigation view (for when we restore the tabs)
|
|
||||||
bottomNavigationView.selectedItemId = when (displayMode) {
|
|
||||||
RoomListDisplayMode.PEOPLE -> R.id.bottom_action_people
|
|
||||||
RoomListDisplayMode.ROOMS -> R.id.bottom_action_rooms
|
|
||||||
else -> R.id.bottom_action_home
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateSelectedFragment(displayMode: RoomListDisplayMode) {
|
private fun updateSelectedFragment(displayMode: RoomListDisplayMode) {
|
||||||
|
@ -194,4 +192,11 @@ class HomeDetailFragment @Inject constructor(
|
||||||
unreadCounterBadgeViews[INDEX_ROOMS].render(UnreadCounterBadgeView.State(it.notificationCountRooms, it.notificationHighlightRooms))
|
unreadCounterBadgeViews[INDEX_ROOMS].render(UnreadCounterBadgeView.State(it.notificationCountRooms, it.notificationHighlightRooms))
|
||||||
syncStateView.render(it.syncState)
|
syncStateView.render(it.syncState)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun RoomListDisplayMode.toMenuId() = when (this) {
|
||||||
|
RoomListDisplayMode.PEOPLE -> R.id.bottom_action_people
|
||||||
|
RoomListDisplayMode.ROOMS -> R.id.bottom_action_rooms
|
||||||
|
else -> R.id.bottom_action_home
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue