Revert recent change to fix a crash

`readReceiptsSummaryEntity.realm` is null
This commit is contained in:
Benoit Marty 2022-02-22 21:06:41 +01:00
parent bff663d4fa
commit ed80fe517d
1 changed files with 12 additions and 7 deletions

View File

@ -23,18 +23,23 @@ import org.matrix.android.sdk.internal.database.model.RoomMemberSummaryEntity
import org.matrix.android.sdk.internal.database.query.where
import javax.inject.Inject
internal class ReadReceiptsSummaryMapper @Inject constructor(private val realmSessionProvider: RealmSessionProvider) {
internal class ReadReceiptsSummaryMapper @Inject constructor(
private val realmSessionProvider: RealmSessionProvider
) {
fun map(readReceiptsSummaryEntity: ReadReceiptsSummaryEntity?): List<ReadReceipt> {
if (readReceiptsSummaryEntity == null) {
return emptyList()
}
val readReceipts = readReceiptsSummaryEntity.readReceipts
return readReceipts
.mapNotNull {
val roomMember = RoomMemberSummaryEntity.where(readReceiptsSummaryEntity.realm, roomId = it.roomId, userId = it.userId).findFirst()
?: return@mapNotNull null
ReadReceipt(roomMember.asDomain(), it.originServerTs.toLong())
}
return realmSessionProvider.withRealm { realm ->
readReceipts
.mapNotNull {
val roomMember = RoomMemberSummaryEntity.where(realm, roomId = it.roomId, userId = it.userId).findFirst()
?: return@mapNotNull null
ReadReceipt(roomMember.asDomain(), it.originServerTs.toLong())
}
}
}
}