From a39f83349fb210dfec76217c60b2e2ae0b07df0a Mon Sep 17 00:00:00 2001 From: Patrick Honkonen <1883101+SaintPatrck@users.noreply.github.com> Date: Wed, 17 Sep 2025 15:21:37 -0400 Subject: [PATCH] Move NativeLibraryManager to data module (#5899) --- .../data/platform/manager/SdkClientManagerImpl.kt | 1 + .../data/platform/manager/di/PlatformManagerModule.kt | 7 +------ .../data/vault/datasource/sdk/ScopedVaultSdkSourceImpl.kt | 2 +- .../data/platform/manager/SdkClientManagerTest.kt | 1 + data/build.gradle.kts | 1 + .../com/bitwarden/data}/manager/NativeLibraryManager.kt | 2 +- .../bitwarden/data}/manager/NativeLibraryManagerImpl.kt | 4 ++-- .../com/bitwarden/data/manager/di/DataManagerModule.kt | 6 ++++++ 8 files changed, 14 insertions(+), 10 deletions(-) rename {app/src/main/kotlin/com/x8bit/bitwarden/data/platform => data/src/main/kotlin/com/bitwarden/data}/manager/NativeLibraryManager.kt (81%) rename {app/src/main/kotlin/com/x8bit/bitwarden/data/platform => data/src/main/kotlin/com/bitwarden/data}/manager/NativeLibraryManagerImpl.kt (81%) diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/SdkClientManagerImpl.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/SdkClientManagerImpl.kt index 226117ac5d..94a1da6bc5 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/SdkClientManagerImpl.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/SdkClientManagerImpl.kt @@ -2,6 +2,7 @@ package com.x8bit.bitwarden.data.platform.manager import android.os.Build import com.bitwarden.core.util.isBuildVersionAtLeast +import com.bitwarden.data.manager.NativeLibraryManager import com.bitwarden.sdk.Client import com.x8bit.bitwarden.data.platform.manager.sdk.SdkRepositoryFactory diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/di/PlatformManagerModule.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/di/PlatformManagerModule.kt index d960600ce0..fc2f5506a5 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/di/PlatformManagerModule.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/di/PlatformManagerModule.kt @@ -9,6 +9,7 @@ import com.bitwarden.core.data.manager.toast.ToastManager import com.bitwarden.core.data.manager.toast.ToastManagerImpl import com.bitwarden.data.manager.DispatcherManager import com.bitwarden.data.manager.DispatcherManagerImpl +import com.bitwarden.data.manager.NativeLibraryManager import com.bitwarden.data.repository.ServerConfigRepository import com.bitwarden.network.BitwardenServiceClient import com.bitwarden.network.service.EventService @@ -41,8 +42,6 @@ import com.x8bit.bitwarden.data.platform.manager.FirstTimeActionManager import com.x8bit.bitwarden.data.platform.manager.FirstTimeActionManagerImpl import com.x8bit.bitwarden.data.platform.manager.LogsManager import com.x8bit.bitwarden.data.platform.manager.LogsManagerImpl -import com.x8bit.bitwarden.data.platform.manager.NativeLibraryManager -import com.x8bit.bitwarden.data.platform.manager.NativeLibraryManagerImpl import com.x8bit.bitwarden.data.platform.manager.PolicyManager import com.x8bit.bitwarden.data.platform.manager.PolicyManagerImpl import com.x8bit.bitwarden.data.platform.manager.PushManager @@ -242,10 +241,6 @@ object PlatformManagerModule { ) } - @Provides - @Singleton - fun provideNativeLibraryManager(): NativeLibraryManager = NativeLibraryManagerImpl() - @Provides @Singleton fun provideSdkClientManager( diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/vault/datasource/sdk/ScopedVaultSdkSourceImpl.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/vault/datasource/sdk/ScopedVaultSdkSourceImpl.kt index 475894f760..9dd37992d7 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/vault/datasource/sdk/ScopedVaultSdkSourceImpl.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/vault/datasource/sdk/ScopedVaultSdkSourceImpl.kt @@ -3,8 +3,8 @@ package com.x8bit.bitwarden.data.vault.datasource.sdk import com.bitwarden.annotation.OmitFromCoverage import com.bitwarden.core.data.util.asSuccess import com.bitwarden.data.manager.DispatcherManager +import com.bitwarden.data.manager.NativeLibraryManager import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager -import com.x8bit.bitwarden.data.platform.manager.NativeLibraryManager import com.x8bit.bitwarden.data.platform.manager.SdkClientManagerImpl import com.x8bit.bitwarden.data.platform.manager.sdk.SdkRepositoryFactory diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/SdkClientManagerTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/SdkClientManagerTest.kt index deb5ab0b45..216863a0d5 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/SdkClientManagerTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/SdkClientManagerTest.kt @@ -1,6 +1,7 @@ package com.x8bit.bitwarden.data.platform.manager import com.bitwarden.core.util.isBuildVersionAtLeast +import com.bitwarden.data.manager.NativeLibraryManager import com.x8bit.bitwarden.data.platform.manager.sdk.SdkRepositoryFactory import io.mockk.every import io.mockk.mockk diff --git a/data/build.gradle.kts b/data/build.gradle.kts index ffcaa86ff1..c3606e5404 100644 --- a/data/build.gradle.kts +++ b/data/build.gradle.kts @@ -54,6 +54,7 @@ dependencies { implementation(libs.google.hilt.android) ksp(libs.google.hilt.compiler) implementation(libs.kotlinx.serialization) + implementation(libs.timber) testImplementation(platform(libs.junit.bom)) testRuntimeOnly(libs.junit.platform.launcher) diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/NativeLibraryManager.kt b/data/src/main/kotlin/com/bitwarden/data/manager/NativeLibraryManager.kt similarity index 81% rename from app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/NativeLibraryManager.kt rename to data/src/main/kotlin/com/bitwarden/data/manager/NativeLibraryManager.kt index 47803b0dde..e70aef0a04 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/NativeLibraryManager.kt +++ b/data/src/main/kotlin/com/bitwarden/data/manager/NativeLibraryManager.kt @@ -1,4 +1,4 @@ -package com.x8bit.bitwarden.data.platform.manager +package com.bitwarden.data.manager /** * Manager for loading native libraries. diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/NativeLibraryManagerImpl.kt b/data/src/main/kotlin/com/bitwarden/data/manager/NativeLibraryManagerImpl.kt similarity index 81% rename from app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/NativeLibraryManagerImpl.kt rename to data/src/main/kotlin/com/bitwarden/data/manager/NativeLibraryManagerImpl.kt index 2b12ac3168..74dee39987 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/NativeLibraryManagerImpl.kt +++ b/data/src/main/kotlin/com/bitwarden/data/manager/NativeLibraryManagerImpl.kt @@ -1,4 +1,4 @@ -package com.x8bit.bitwarden.data.platform.manager +package com.bitwarden.data.manager import com.bitwarden.annotation.OmitFromCoverage import timber.log.Timber @@ -7,7 +7,7 @@ import timber.log.Timber * Primary implementation of [NativeLibraryManager]. */ @OmitFromCoverage -class NativeLibraryManagerImpl : NativeLibraryManager { +internal class NativeLibraryManagerImpl : NativeLibraryManager { override fun loadLibrary(libraryName: String): Result { return try { System.loadLibrary(libraryName) diff --git a/data/src/main/kotlin/com/bitwarden/data/manager/di/DataManagerModule.kt b/data/src/main/kotlin/com/bitwarden/data/manager/di/DataManagerModule.kt index b35eced6c1..02ced348ae 100644 --- a/data/src/main/kotlin/com/bitwarden/data/manager/di/DataManagerModule.kt +++ b/data/src/main/kotlin/com/bitwarden/data/manager/di/DataManagerModule.kt @@ -3,6 +3,8 @@ package com.bitwarden.data.manager.di import android.content.Context import com.bitwarden.data.manager.BitwardenPackageManager import com.bitwarden.data.manager.BitwardenPackageManagerImpl +import com.bitwarden.data.manager.NativeLibraryManager +import com.bitwarden.data.manager.NativeLibraryManagerImpl import dagger.Module import dagger.Provides import dagger.hilt.InstallIn @@ -22,4 +24,8 @@ object DataManagerModule { fun provideBitwardenPackageManager( @ApplicationContext context: Context, ): BitwardenPackageManager = BitwardenPackageManagerImpl(context = context) + + @Provides + @Singleton + fun provideNativeLibraryManager(): NativeLibraryManager = NativeLibraryManagerImpl() }