diff --git a/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomListFragment.kt b/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomListFragment.kt index 91d52867..d7384607 100644 --- a/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomListFragment.kt +++ b/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomListFragment.kt @@ -79,7 +79,7 @@ class RoomListFragment : RiotFragment(), RoomSummaryController.Callback { override fun onRoomSelected(room: RoomSummary) { withState(viewModel) { - if (it.selectedRoom != room) { + if (it.selectedRoom?.roomId != room.roomId) { viewModel.accept(RoomListActions.SelectRoom(room)) homeNavigator.openRoomDetail(room.roomId) } diff --git a/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomListViewState.kt b/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomListViewState.kt index 39b938ad..8278b616 100644 --- a/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomListViewState.kt +++ b/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomListViewState.kt @@ -7,14 +7,15 @@ import im.vector.matrix.android.api.session.room.model.RoomSummary data class RoomListViewState( val roomSummaries: Async> = Uninitialized, - val selectedRoom: RoomSummary? = null + val selectedRoom: RoomSummary? = null, + private var _showLastSelectedRoom: Boolean = true ) : MvRxState { - var showLastSelectedRoom: Boolean = true + var showLastSelectedRoom: Boolean = _showLastSelectedRoom private set get() { - if (field) { - field = false + if (_showLastSelectedRoom) { + _showLastSelectedRoom = false return true } return false diff --git a/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomSummaryController.kt b/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomSummaryController.kt index 54b0c628..c601157f 100644 --- a/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomSummaryController.kt +++ b/app/src/main/java/im/vector/riotredesign/features/home/room/list/RoomSummaryController.kt @@ -15,7 +15,7 @@ class RoomSummaryController(private val context: Context, RoomSummaryItem( title = it.displayName, avatarDrawable = roomSummaryViewHelper.avatarDrawable(context), - isSelected = it == selected, + isSelected = it.roomId == selected?.roomId, listener = { callback?.onRoomSelected(it) } ) .id(it.roomId)