From a62c2f138a55e4e1383782f99af32b11af2468d6 Mon Sep 17 00:00:00 2001 From: Louis CAD Date: Mon, 28 Sep 2026 11:40:24 +0200 Subject: [PATCH] fix: Inject appCtx in BackupAgent --- .../auth/backup/AuthenticatorFullBackupAgent.kt | 8 ++++++++ .../auth/backup/AuthenticatorFullBackupAgent.kt | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/app/src/fdroid/kotlin/com/infomaniak/auth/backup/AuthenticatorFullBackupAgent.kt b/app/src/fdroid/kotlin/com/infomaniak/auth/backup/AuthenticatorFullBackupAgent.kt index ed5db7a2..779de52d 100644 --- a/app/src/fdroid/kotlin/com/infomaniak/auth/backup/AuthenticatorFullBackupAgent.kt +++ b/app/src/fdroid/kotlin/com/infomaniak/auth/backup/AuthenticatorFullBackupAgent.kt @@ -18,6 +18,7 @@ package com.infomaniak.auth.backup import android.app.backup.FullBackupDataOutput +import android.content.Context import androidx.room.immediateTransaction import androidx.room.useWriterConnection import com.infomaniak.core.auth.models.user.User @@ -25,9 +26,16 @@ import com.infomaniak.core.auth.room.UserDatabase import com.infomaniak.core.common.backup.FullBackupAgent import com.infomaniak.multiplatform_authenticator.core.PasskeysStorageLocation import kotlinx.coroutines.runBlocking +import splitties.init.appCtx +import splitties.init.injectAsAppCtx class AuthenticatorFullBackupAgent : FullBackupAgent(RestorationPolicy.AllBackedUpFiles) { + override fun attachBaseContext(base: Context) { + super.attachBaseContext(base) + runCatching { appCtx }.onFailure { base.applicationContext.injectAsAppCtx() } + } + override fun onFullBackup(data: FullBackupDataOutput) { PasskeysStorageLocation.dir.listFiles().orEmpty().forEach { file -> fullBackupFile(file, data) diff --git a/app/src/standard/kotlin/com/infomaniak/auth/backup/AuthenticatorFullBackupAgent.kt b/app/src/standard/kotlin/com/infomaniak/auth/backup/AuthenticatorFullBackupAgent.kt index 28a64e7a..9a11a79a 100644 --- a/app/src/standard/kotlin/com/infomaniak/auth/backup/AuthenticatorFullBackupAgent.kt +++ b/app/src/standard/kotlin/com/infomaniak/auth/backup/AuthenticatorFullBackupAgent.kt @@ -18,15 +18,23 @@ package com.infomaniak.auth.backup import android.app.backup.FullBackupDataOutput +import android.content.Context import com.infomaniak.auth.BuildConfig import com.infomaniak.auth.data.preferences.SentryPreferences import com.infomaniak.core.auth.backup.withBlockStoreCredentialsBackup import com.infomaniak.core.common.backup.FullBackupAgent import com.infomaniak.core.sentry.SentryConfig.configureSentry import kotlinx.coroutines.runBlocking +import splitties.init.appCtx +import splitties.init.injectAsAppCtx class AuthenticatorFullBackupAgent : FullBackupAgent(RestorationPolicy.AllBackedUpFiles) { + override fun attachBaseContext(base: Context) { + super.attachBaseContext(base) + runCatching { appCtx }.onFailure { base.applicationContext.injectAsAppCtx() } + } + override fun onCreate() { super.onCreate() val sentryPreferences = runBlocking { SentryPreferences() } // Non-user-facing process, runBlocking is fine.