From f34a2f65c96488578d65b7c4d7d4b499d9471dfd Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 20 Oct 2020 21:28:42 +0200 Subject: [PATCH] Keep position in calls history & chat rooms lists when going back --- .../main/chat/adapters/ChatRoomsListAdapter.kt | 4 ---- .../main/chat/fragments/MasterChatRoomsFragment.kt | 10 +++------- .../main/chat/viewmodels/ChatRoomsListViewModel.kt | 14 ++++---------- .../history/fragments/MasterCallLogsFragment.kt | 4 +++- 4 files changed, 10 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomsListAdapter.kt b/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomsListAdapter.kt index dd5b03951..1aa34c817 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomsListAdapter.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomsListAdapter.kt @@ -42,10 +42,6 @@ class ChatRoomsListAdapter( MutableLiveData>() } - val toggledPositionForSelectionEvent: MutableLiveData> by lazy { - MutableLiveData>() - } - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val binding: ChatRoomListCellBinding = DataBindingUtil.inflate( LayoutInflater.from(parent.context), diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt index 1f8dc86d7..5f7088718 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt @@ -53,7 +53,9 @@ class MasterChatRoomsFragment : MasterFragment - listSelectionViewModel.onToggleSelect(position) - } - }) - binding.setEditClickListener { listSelectionViewModel.isEditionEnabled.value = true } diff --git a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt index 4d65e1e3f..1ea3836be 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt @@ -99,7 +99,7 @@ class ChatRoomsListViewModel : ErrorReportingViewModel() { private var chatRoomsToDeleteCount = 0 init { - chatRooms.value = getChatRooms() + updateChatRooms() coreContext.core.addListener(listener) coreContext.contactsManager.addListener(contactsUpdatedListener) } @@ -144,16 +144,10 @@ class ChatRoomsListViewModel : ErrorReportingViewModel() { } private fun updateChatRooms() { - chatRooms.value = getChatRooms() - } + var list = arrayListOf() - private fun getChatRooms(): ArrayList { - val list = arrayListOf() + list.addAll(coreContext.core.chatRooms) - for (room in coreContext.core.chatRooms) { - list.add(room) - } - - return list + chatRooms.value = list } } diff --git a/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt b/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt index 5b8f804d1..123c70851 100644 --- a/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt @@ -49,7 +49,9 @@ class MasterCallLogsFragment : MasterFragment