Format code & add comments

This commit is contained in:
ariskotsomitopoulos 2022-03-21 13:39:15 +02:00
parent a959a15636
commit 277619d833
3 changed files with 14 additions and 12 deletions

View File

@ -213,6 +213,7 @@ internal fun ThreadSummaryEntity.Companion.createOrUpdate(
}
}
// note: runBlocking should be used here while we are in realm single thread executor, to avoid thread switching
private fun decryptIfNeeded(cryptoService: CryptoService?, eventEntity: EventEntity, roomId: String) = runBlocking {
cryptoService ?: return@runBlocking
val event = eventEntity.asDomain()

View File

@ -101,9 +101,7 @@ internal class TimelineEventDecryptor @Inject constructor(
executor?.execute {
Realm.getInstance(realmConfiguration).use { realm ->
try {
runBlocking {
processDecryptRequest(request, realm)
}
processDecryptRequest(request, realm)
} catch (e: InterruptedException) {
Timber.i("Decryption got interrupted")
}
@ -113,16 +111,18 @@ internal class TimelineEventDecryptor @Inject constructor(
private fun threadAwareNonEncryptedEvents(request: DecryptionRequest, realm: Realm) {
val event = request.event
realm.executeTransaction {
val eventId = event.eventId ?: return@executeTransaction
val eventEntity = EventEntity
.where(it, eventId = eventId)
.findFirst()
val decryptedEvent = eventEntity?.asDomain()
threadsAwarenessHandler.makeEventThreadAware(realm, event.roomId, decryptedEvent, eventEntity)
realm.executeTransaction {
val eventId = event.eventId ?: return@executeTransaction
val eventEntity = EventEntity
.where(it, eventId = eventId)
.findFirst()
val decryptedEvent = eventEntity?.asDomain()
threadsAwarenessHandler.makeEventThreadAware(realm, event.roomId, decryptedEvent, eventEntity)
}
}
private suspend fun processDecryptRequest(request: DecryptionRequest, realm: Realm) {
// note: runBlocking should be used here while we are in realm single thread executor, to avoid thread switching
private fun processDecryptRequest(request: DecryptionRequest, realm: Realm) = runBlocking {
val event = request.event
val timelineId = request.timelineId
@ -130,7 +130,7 @@ internal class TimelineEventDecryptor @Inject constructor(
// Here we have requested a decryption to an event that is not encrypted
// We will simply make this event thread aware
threadAwareNonEncryptedEvents(request, realm)
return
return@runBlocking
}
try {
val result = cryptoService.decryptEvent(request.event, timelineId)

View File

@ -506,6 +506,7 @@ internal class RoomSyncHandler @Inject constructor(private val readReceiptHandle
}
}
// note: runBlocking should be used here while we are in realm single thread executor, to avoid thread switching
private fun decryptIfNeeded(event: Event, roomId: String) = runBlocking {
try {
// Event from sync does not have roomId, so add it to the event first