From 302b1afacb84a35baecf5751ff74460bc3e505b0 Mon Sep 17 00:00:00 2001 From: Cris Barreiro Date: Wed, 26 Nov 2025 09:50:24 +0100 Subject: [PATCH] Migrate fingerprint-protection to DatabaseProvider --- .../fingerprint-protection-impl/build.gradle | 1 + .../impl/di/FingerprintProtectionModule.kt | 20 +++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/fingerprint-protection/fingerprint-protection-impl/build.gradle b/fingerprint-protection/fingerprint-protection-impl/build.gradle index 73c4bb75655c..294a0f32d59c 100644 --- a/fingerprint-protection/fingerprint-protection-impl/build.gradle +++ b/fingerprint-protection/fingerprint-protection-impl/build.gradle @@ -36,6 +36,7 @@ dependencies { anvil project(path: ':anvil-compiler') implementation project(path: ':anvil-annotations') implementation project(path: ':fingerprint-protection-api') + implementation project(path: ':data-store-api') implementation project(path: ':di') implementation project(path: ':common-utils') implementation project(path: ':statistics-api') diff --git a/fingerprint-protection/fingerprint-protection-impl/src/main/java/com/duckduckgo/fingerprintprotection/impl/di/FingerprintProtectionModule.kt b/fingerprint-protection/fingerprint-protection-impl/src/main/java/com/duckduckgo/fingerprintprotection/impl/di/FingerprintProtectionModule.kt index db5b26082edd..c4bb47a664a1 100644 --- a/fingerprint-protection/fingerprint-protection-impl/src/main/java/com/duckduckgo/fingerprintprotection/impl/di/FingerprintProtectionModule.kt +++ b/fingerprint-protection/fingerprint-protection-impl/src/main/java/com/duckduckgo/fingerprintprotection/impl/di/FingerprintProtectionModule.kt @@ -16,11 +16,11 @@ package com.duckduckgo.fingerprintprotection.impl.di -import android.content.Context -import androidx.room.Room import com.duckduckgo.app.di.AppCoroutineScope import com.duckduckgo.app.di.IsMainProcess import com.duckduckgo.common.utils.DispatcherProvider +import com.duckduckgo.data.store.api.DatabaseProvider +import com.duckduckgo.data.store.api.RoomDatabaseConfig import com.duckduckgo.di.scopes.AppScope import com.duckduckgo.fingerprintprotection.store.ALL_MIGRATIONS import com.duckduckgo.fingerprintprotection.store.FingerprintProtectionDatabase @@ -46,13 +46,17 @@ import kotlinx.coroutines.CoroutineScope @ContributesTo(AppScope::class) object FingerprintProtectionModule { - @SingleInstanceIn(AppScope::class) @Provides - fun provideFingerprintProtectionDatabase(context: Context): FingerprintProtectionDatabase { - return Room.databaseBuilder(context, FingerprintProtectionDatabase::class.java, "fingerprint_protection.db") - .fallbackToDestructiveMigration() - .addMigrations(*ALL_MIGRATIONS.toTypedArray()) - .build() + @SingleInstanceIn(AppScope::class) + fun provideFingerprintProtectionDatabase(databaseProvider: DatabaseProvider): FingerprintProtectionDatabase { + return databaseProvider.buildRoomDatabase( + FingerprintProtectionDatabase::class.java, + "fingerprint_protection.db", + config = RoomDatabaseConfig( + fallbackToDestructiveMigration = true, + migrations = ALL_MIGRATIONS, + ), + ) } @SingleInstanceIn(AppScope::class)