diff --git a/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt b/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt index be2e069f0c9151af70b75020ced1129e2f4495db..caf0d00d4d8efd7c95dba7730585bc47abc860a1 100644 --- a/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt +++ b/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt @@ -10,6 +10,8 @@ import io.xxlabs.messenger.requests.bindings.VerificationResult import io.xxlabs.messenger.requests.data.LocalRequestsDataSource import io.xxlabs.messenger.requests.data.RequestDataSource import io.xxlabs.messenger.requests.model.ContactRequest +import io.xxlabs.messenger.support.appContext +import io.xxlabs.messenger.support.extensions.toast import io.xxlabs.messenger.support.util.value import kotlinx.coroutines.* import kotlinx.coroutines.flow.* @@ -121,8 +123,15 @@ class ContactRequestsRepository @Inject constructor( override fun failUnverifiedRequests() { scope.launch { - getRequests().take(1).collect { requests -> - requests.filter { + localDataSource.getContactRequestsOnce().let { requestDataList -> + requestDataList.mapNotNull { requestData -> + val contactData = daoRepository + .getContactByUserId(requestData.requestId) + .value() + contactData?.let { + ContactRequestData(it, requestData.unread) + } + }.filter { it.requestStatus == VERIFYING }.forEach { update(it, VERIFICATION_FAIL)