From 3f35ace6e93d384028cdc962c1cc60f7ae952e4c Mon Sep 17 00:00:00 2001 From: Patrick Honkonen <1883101+SaintPatrck@users.noreply.github.com> Date: Fri, 4 Apr 2025 10:38:50 -0400 Subject: [PATCH] [PM-19871] Migrate EncryptedPreferences to data module (#4993) --- .../data/auth/datasource/disk/di/AuthDiskModule.kt | 2 +- .../data/platform/datasource/di/PreferenceModule.kt | 1 + .../platform/datasource/disk/di/PlatformDiskModule.kt | 2 +- .../data/auth/datasource/disk/di/AuthDiskModule.kt | 2 +- .../platform/datasource/di/EncryptedPreferences.kt | 11 ----------- .../data/platform/datasource/di/PreferenceModule.kt | 1 + data/build.gradle.kts | 4 ++++ .../data}/datasource/di/EncryptedPreferences.kt | 2 +- 8 files changed, 10 insertions(+), 15 deletions(-) delete mode 100644 authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/di/EncryptedPreferences.kt rename {app/src/main/java/com/x8bit/bitwarden/data/platform => data/src/main/kotlin/com/bitwarden/data}/datasource/di/EncryptedPreferences.kt (81%) diff --git a/app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/disk/di/AuthDiskModule.kt b/app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/disk/di/AuthDiskModule.kt index 35f65b10cd..89f79efd56 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/disk/di/AuthDiskModule.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/disk/di/AuthDiskModule.kt @@ -1,9 +1,9 @@ package com.x8bit.bitwarden.data.auth.datasource.disk.di import android.content.SharedPreferences +import com.bitwarden.data.datasource.di.EncryptedPreferences import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSourceImpl -import com.x8bit.bitwarden.data.platform.datasource.di.EncryptedPreferences import com.x8bit.bitwarden.data.platform.datasource.di.UnencryptedPreferences import com.x8bit.bitwarden.data.platform.datasource.disk.legacy.LegacySecureStorageMigrator import dagger.Module diff --git a/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/di/PreferenceModule.kt b/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/di/PreferenceModule.kt index 5b82b60ac3..84c4ecb99f 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/di/PreferenceModule.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/di/PreferenceModule.kt @@ -5,6 +5,7 @@ import android.content.Context import android.content.SharedPreferences import androidx.security.crypto.EncryptedSharedPreferences import androidx.security.crypto.MasterKey +import com.bitwarden.data.datasource.di.EncryptedPreferences import dagger.Module import dagger.Provides import dagger.hilt.InstallIn diff --git a/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/disk/di/PlatformDiskModule.kt b/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/disk/di/PlatformDiskModule.kt index 985397d9c0..2798ba17aa 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/disk/di/PlatformDiskModule.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/disk/di/PlatformDiskModule.kt @@ -4,7 +4,7 @@ import android.app.Application import android.content.Context import android.content.SharedPreferences import androidx.room.Room -import com.x8bit.bitwarden.data.platform.datasource.di.EncryptedPreferences +import com.bitwarden.data.datasource.di.EncryptedPreferences import com.x8bit.bitwarden.data.platform.datasource.di.UnencryptedPreferences import com.x8bit.bitwarden.data.platform.datasource.disk.ConfigDiskSource import com.x8bit.bitwarden.data.platform.datasource.disk.ConfigDiskSourceImpl diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/auth/datasource/disk/di/AuthDiskModule.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/auth/datasource/disk/di/AuthDiskModule.kt index be885dfe0d..2b484e4fdc 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/auth/datasource/disk/di/AuthDiskModule.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/auth/datasource/disk/di/AuthDiskModule.kt @@ -3,8 +3,8 @@ package com.bitwarden.authenticator.data.auth.datasource.disk.di import android.content.SharedPreferences import com.bitwarden.authenticator.data.auth.datasource.disk.AuthDiskSource import com.bitwarden.authenticator.data.auth.datasource.disk.AuthDiskSourceImpl -import com.bitwarden.authenticator.data.platform.datasource.di.EncryptedPreferences import com.bitwarden.authenticator.data.platform.datasource.di.UnencryptedPreferences +import com.bitwarden.data.datasource.di.EncryptedPreferences import dagger.Module import dagger.Provides import dagger.hilt.InstallIn diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/di/EncryptedPreferences.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/di/EncryptedPreferences.kt deleted file mode 100644 index 64e6549891..0000000000 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/di/EncryptedPreferences.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.bitwarden.authenticator.data.platform.datasource.di - -import android.content.SharedPreferences -import javax.inject.Qualifier - -/** - * Used to denote an instance of [SharedPreferences] that encrypts its data. - */ -@Qualifier -@Retention(AnnotationRetention.RUNTIME) -annotation class EncryptedPreferences diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/di/PreferenceModule.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/di/PreferenceModule.kt index 78bb6dbbb0..f8580a377d 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/di/PreferenceModule.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/di/PreferenceModule.kt @@ -5,6 +5,7 @@ import android.content.Context import android.content.SharedPreferences import androidx.security.crypto.EncryptedSharedPreferences import androidx.security.crypto.MasterKey +import com.bitwarden.data.datasource.di.EncryptedPreferences import dagger.Module import dagger.Provides import dagger.hilt.InstallIn diff --git a/data/build.gradle.kts b/data/build.gradle.kts index ec20b19c07..86ae78cc8c 100644 --- a/data/build.gradle.kts +++ b/data/build.gradle.kts @@ -2,7 +2,9 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.library) + alias(libs.plugins.hilt) alias(libs.plugins.kotlin.android) + alias(libs.plugins.ksp) } android { @@ -40,4 +42,6 @@ kotlin { dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.security.crypto) + implementation(libs.google.hilt.android) + ksp(libs.google.hilt.compiler) } diff --git a/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/di/EncryptedPreferences.kt b/data/src/main/kotlin/com/bitwarden/data/datasource/di/EncryptedPreferences.kt similarity index 81% rename from app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/di/EncryptedPreferences.kt rename to data/src/main/kotlin/com/bitwarden/data/datasource/di/EncryptedPreferences.kt index 08b64d4739..844616be8f 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/platform/datasource/di/EncryptedPreferences.kt +++ b/data/src/main/kotlin/com/bitwarden/data/datasource/di/EncryptedPreferences.kt @@ -1,4 +1,4 @@ -package com.x8bit.bitwarden.data.platform.datasource.di +package com.bitwarden.data.datasource.di import android.content.SharedPreferences import javax.inject.Qualifier