diff --git a/app/src/main/java/com/nextcloud/talk/newarch/data/repository/NextcloudTalkOfflineRepositoryImpl.kt b/app/src/main/java/com/nextcloud/talk/newarch/data/repository/NextcloudTalkOfflineRepositoryImpl.kt index 19635e63a..e46b9b259 100644 --- a/app/src/main/java/com/nextcloud/talk/newarch/data/repository/NextcloudTalkOfflineRepositoryImpl.kt +++ b/app/src/main/java/com/nextcloud/talk/newarch/data/repository/NextcloudTalkOfflineRepositoryImpl.kt @@ -57,9 +57,9 @@ class NextcloudTalkOfflineRepositoryImpl(val nextcloudTalkDatabase: TalkDatabase .deleteConversation(userId, conversationId) } - override fun getConversationsForUser(user: UserEntity): LiveData> { + override fun getConversationsForUser(userId: Long): LiveData> { return nextcloudTalkDatabase.conversationsDao() - .getConversationsForUser(user.id) + .getConversationsForUser(userId) .map { data -> data.map { it.toConversation() @@ -71,18 +71,18 @@ class NextcloudTalkOfflineRepositoryImpl(val nextcloudTalkDatabase: TalkDatabase return nextcloudTalkDatabase } - override suspend fun clearConversationsForUser(user: UserEntity) { + override suspend fun clearConversationsForUser(userId: Long) { nextcloudTalkDatabase.conversationsDao() - .clearConversationsForUser(user.id) + .clearConversationsForUser(userId) } override suspend fun saveConversationsForUser( - user: UserEntity, + userId: Long, conversations: List ) { nextcloudTalkDatabase.conversationsDao() .updateConversationsForUser( - user.id, + userId, conversations.map { it.toConversationEntity() }.toTypedArray() @@ -90,10 +90,10 @@ class NextcloudTalkOfflineRepositoryImpl(val nextcloudTalkDatabase: TalkDatabase } override suspend fun deleteConversationForUserWithTimestamp( - user: UserEntity, + userId: Long, timestamp: Long ) { nextcloudTalkDatabase.conversationsDao() - .deleteConversationsForUserWithTimestamp(user.id, timestamp) + .deleteConversationsForUserWithTimestamp(userId, timestamp) } } diff --git a/app/src/main/java/com/nextcloud/talk/newarch/domain/repository/NextcloudTalkOfflineRepository.kt b/app/src/main/java/com/nextcloud/talk/newarch/domain/repository/NextcloudTalkOfflineRepository.kt index e71d24df0..e8f3839e2 100644 --- a/app/src/main/java/com/nextcloud/talk/newarch/domain/repository/NextcloudTalkOfflineRepository.kt +++ b/app/src/main/java/com/nextcloud/talk/newarch/domain/repository/NextcloudTalkOfflineRepository.kt @@ -25,10 +25,10 @@ import com.nextcloud.talk.models.database.UserEntity import com.nextcloud.talk.models.json.conversations.Conversation interface NextcloudTalkOfflineRepository { - fun getConversationsForUser(user: UserEntity): LiveData> - suspend fun clearConversationsForUser(user: UserEntity) + fun getConversationsForUser(userId: Long): LiveData> + suspend fun clearConversationsForUser(userId: Long) suspend fun saveConversationsForUser( - user: UserEntity, + userId: Long, conversations: List ) @@ -50,7 +50,7 @@ interface NextcloudTalkOfflineRepository { ) suspend fun deleteConversationForUserWithTimestamp( - user: UserEntity, + userId: Long, timestamp: Long ) -} \ No newline at end of file +} diff --git a/app/src/main/java/com/nextcloud/talk/newarch/features/conversationsList/ConversationsListViewModel.kt b/app/src/main/java/com/nextcloud/talk/newarch/features/conversationsList/ConversationsListViewModel.kt index 8645043dd..57293106c 100644 --- a/app/src/main/java/com/nextcloud/talk/newarch/features/conversationsList/ConversationsListViewModel.kt +++ b/app/src/main/java/com/nextcloud/talk/newarch/features/conversationsList/ConversationsListViewModel.kt @@ -75,7 +75,7 @@ class ConversationsListViewModel constructor( val searchQuery = MutableLiveData() val currentUserLiveData: MutableLiveData = MutableLiveData() val conversationsLiveData = Transformations.switchMap(currentUserLiveData) { - offlineRepository.getConversationsForUser(it) + offlineRepository.getConversationsForUser(it.id) } var currentUserAvatar: MutableLiveData = MutableLiveData() @@ -189,7 +189,7 @@ class ConversationsListViewModel constructor( it.user = currentUserLiveData.value!!.id } - offlineRepository.saveConversationsForUser(currentUserLiveData.value!!, mutableList) + offlineRepository.saveConversationsForUser(currentUserLiveData.value!!.id, mutableList) messageData = "" }