diff --git a/app/src/main/java/org/linphone/chat/ChatRoomsAdapter.java b/app/src/main/java/org/linphone/chat/ChatRoomsAdapter.java index c494a587c..54746e211 100644 --- a/app/src/main/java/org/linphone/chat/ChatRoomsAdapter.java +++ b/app/src/main/java/org/linphone/chat/ChatRoomsAdapter.java @@ -70,13 +70,22 @@ public class ChatRoomsAdapter extends SelectableAdapter { } public void refresh() { + refresh(false); + } + + public void refresh(boolean force) { ChatRoom[] rooms = LinphoneManager.getCore().getChatRooms(); List roomsList = Arrays.asList(rooms); - DiffUtil.DiffResult diffResult = - DiffUtil.calculateDiff(new ChatRoomDiffCallback(roomsList, mRooms)); - diffResult.dispatchUpdatesTo(this); - mRooms = roomsList; + if (force) { + DiffUtil.DiffResult diffResult = + DiffUtil.calculateDiff(new ChatRoomDiffCallback(roomsList, mRooms)); + diffResult.dispatchUpdatesTo(this); + mRooms = roomsList; + } else { + mRooms = roomsList; + notifyDataSetChanged(); + } } /** Adapter's methods */ diff --git a/app/src/main/java/org/linphone/chat/ChatRoomsFragment.java b/app/src/main/java/org/linphone/chat/ChatRoomsFragment.java index ee5409c5e..9e5368bcd 100644 --- a/app/src/main/java/org/linphone/chat/ChatRoomsFragment.java +++ b/app/src/main/java/org/linphone/chat/ChatRoomsFragment.java @@ -259,7 +259,7 @@ public class ChatRoomsFragment extends Fragment public void onContactsUpdated() { ChatRoomsAdapter adapter = (ChatRoomsAdapter) mChatRoomsList.getAdapter(); if (adapter != null) { - adapter.refresh(); + adapter.refresh(true); } }