Skip to content

Commit 277619d

Browse files
Format code & add comments
1 parent a959a15 commit 277619d

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/ThreadSummaryHelper.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ internal fun ThreadSummaryEntity.Companion.createOrUpdate(
213213
}
214214
}
215215

216+
// note: runBlocking should be used here while we are in realm single thread executor, to avoid thread switching
216217
private fun decryptIfNeeded(cryptoService: CryptoService?, eventEntity: EventEntity, roomId: String) = runBlocking {
217218
cryptoService ?: return@runBlocking
218219
val event = eventEntity.asDomain()

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineEventDecryptor.kt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,7 @@ internal class TimelineEventDecryptor @Inject constructor(
101101
executor?.execute {
102102
Realm.getInstance(realmConfiguration).use { realm ->
103103
try {
104-
runBlocking {
105-
processDecryptRequest(request, realm)
106-
}
104+
processDecryptRequest(request, realm)
107105
} catch (e: InterruptedException) {
108106
Timber.i("Decryption got interrupted")
109107
}
@@ -113,24 +111,26 @@ internal class TimelineEventDecryptor @Inject constructor(
113111

114112
private fun threadAwareNonEncryptedEvents(request: DecryptionRequest, realm: Realm) {
115113
val event = request.event
116-
realm.executeTransaction {
117-
val eventId = event.eventId ?: return@executeTransaction
118-
val eventEntity = EventEntity
119-
.where(it, eventId = eventId)
120-
.findFirst()
121-
val decryptedEvent = eventEntity?.asDomain()
122-
threadsAwarenessHandler.makeEventThreadAware(realm, event.roomId, decryptedEvent, eventEntity)
114+
realm.executeTransaction {
115+
val eventId = event.eventId ?: return@executeTransaction
116+
val eventEntity = EventEntity
117+
.where(it, eventId = eventId)
118+
.findFirst()
119+
val decryptedEvent = eventEntity?.asDomain()
120+
threadsAwarenessHandler.makeEventThreadAware(realm, event.roomId, decryptedEvent, eventEntity)
123121
}
124122
}
125-
private suspend fun processDecryptRequest(request: DecryptionRequest, realm: Realm) {
123+
124+
// note: runBlocking should be used here while we are in realm single thread executor, to avoid thread switching
125+
private fun processDecryptRequest(request: DecryptionRequest, realm: Realm) = runBlocking {
126126
val event = request.event
127127
val timelineId = request.timelineId
128128

129129
if (!request.event.isEncrypted()) {
130130
// Here we have requested a decryption to an event that is not encrypted
131131
// We will simply make this event thread aware
132132
threadAwareNonEncryptedEvents(request, realm)
133-
return
133+
return@runBlocking
134134
}
135135
try {
136136
val result = cryptoService.decryptEvent(request.event, timelineId)

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/handler/room/RoomSyncHandler.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,7 @@ internal class RoomSyncHandler @Inject constructor(private val readReceiptHandle
506506
}
507507
}
508508

509+
// note: runBlocking should be used here while we are in realm single thread executor, to avoid thread switching
509510
private fun decryptIfNeeded(event: Event, roomId: String) = runBlocking {
510511
try {
511512
// Event from sync does not have roomId, so add it to the event first

0 commit comments

Comments
 (0)