Skip to content

Commit fcbf02e

Browse files
Merge pull request #1986 from Infomaniak/fix/add-sentry-for-mailbox-with-default-id
Add SentryLog when mailboxId uses the default value for configuration
2 parents 99e7032 + 1c5a9f5 commit fcbf02e

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

app/src/main/java/com/infomaniak/mail/data/cache/RealmDatabase.kt

+17-8
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package com.infomaniak.mail.data.cache
1919

2020
import android.content.Context
2121
import com.infomaniak.mail.data.models.AppSettings
22+
import com.infomaniak.mail.data.models.AppSettings.Companion.DEFAULT_ID
2223
import com.infomaniak.mail.data.models.Attachment
2324
import com.infomaniak.mail.data.models.Bimi
2425
import com.infomaniak.mail.data.models.Folder
@@ -44,6 +45,8 @@ import com.infomaniak.mail.utils.LocalStorageUtils
4445
import io.realm.kotlin.Realm
4546
import io.realm.kotlin.RealmConfiguration
4647
import io.realm.kotlin.internal.platform.WeakReference
48+
import io.sentry.Sentry
49+
import io.sentry.SentryLevel
4750
import kotlinx.coroutines.Dispatchers
4851
import kotlinx.coroutines.runBlocking
4952
import kotlinx.coroutines.sync.Mutex
@@ -86,7 +89,7 @@ object RealmDatabase {
8689
val mailboxInfo get() = Realm.open(RealmConfig.mailboxInfo)
8790

8891
val newMailboxContentInstance get() = newMailboxContentInstance(AccountUtils.currentUserId, AccountUtils.currentMailboxId)
89-
fun newMailboxContentInstance(userId: Int, mailboxId: Int) = Realm.open(RealmConfig.mailboxContent(mailboxId, userId))
92+
fun newMailboxContentInstance(userId: Int, mailboxId: Int) = Realm.open(RealmConfig.mailboxContent(userId, mailboxId))
9093

9194
class MailboxContent {
9295
operator fun invoke() = runBlocking(Dispatchers.IO) {
@@ -139,7 +142,7 @@ object RealmDatabase {
139142

140143
//region Delete Realm
141144
fun deleteMailboxContent(mailboxId: Int, userId: Int = AccountUtils.currentUserId) {
142-
Realm.deleteRealm(RealmConfig.mailboxContent(mailboxId, userId))
145+
Realm.deleteRealm(RealmConfig.mailboxContent(userId, mailboxId))
143146
}
144147

145148
fun removeUserData(context: Context, userId: Int) {
@@ -229,12 +232,18 @@ object RealmDatabase {
229232
.migration(MAILBOX_INFO_MIGRATION)
230233
.build()
231234

232-
fun mailboxContent(mailboxId: Int, userId: Int) = RealmConfiguration
233-
.Builder(mailboxContentSet)
234-
.name(mailboxContentDbName(userId, mailboxId))
235-
.schemaVersion(MAILBOX_CONTENT_SCHEMA_VERSION)
236-
.migration(MAILBOX_CONTENT_MIGRATION)
237-
.build()
235+
fun mailboxContent(userId: Int, mailboxId: Int): RealmConfiguration {
236+
237+
if (mailboxId == DEFAULT_ID) {
238+
Sentry.captureMessage("RealmConfiguration problem with mailbox content, default ID is used.", SentryLevel.ERROR)
239+
}
240+
241+
return RealmConfiguration.Builder(mailboxContentSet)
242+
.name(mailboxContentDbName(userId, mailboxId))
243+
.schemaVersion(MAILBOX_CONTENT_SCHEMA_VERSION)
244+
.migration(MAILBOX_CONTENT_MIGRATION)
245+
.build()
246+
}
238247
//endregion
239248
}
240249
}

0 commit comments

Comments
 (0)