chore(injection): Modules should be public to allow @TestInstallIn to replace them and avoid hilt to generate a wrapper.

Modules with bindings can be interfaces.
This commit is contained in:
Nicolas Mouchel 2024-03-25 15:12:47 +01:00 committed by MargeBot
parent fdece5fb59
commit ba124b184b
8 changed files with 34 additions and 27 deletions

View File

@ -1,4 +1,4 @@
public class hilt_aggregated_deps/_me_proton_core_crypto_validator_dagger_HiltWrapper_CoreCryptoValidatorBindsModule { public class hilt_aggregated_deps/_me_proton_core_crypto_validator_dagger_CoreCryptoValidatorBindsModule {
public fun <init> ()V public fun <init> ()V
} }
@ -9,7 +9,7 @@ public final class me/proton/core/crypto/validator/dagger/BuildConfig {
public fun <init> ()V public fun <init> ()V
} }
public final class me/proton/core/crypto/validator/dagger/HiltWrapper_CoreCryptoValidatorBindsModule { public abstract interface class me/proton/core/crypto/validator/dagger/CoreCryptoValidatorBindsModule {
public fun <init> ()V public abstract fun bindCryptoPrefs (Lme/proton/core/crypto/validator/data/prefs/CryptoPrefsImpl;)Lme/proton/core/crypto/validator/domain/prefs/CryptoPrefs;
} }

View File

@ -27,7 +27,7 @@ import me.proton.core.crypto.validator.domain.prefs.CryptoPrefs
@Module @Module
@InstallIn(SingletonComponent::class) @InstallIn(SingletonComponent::class)
internal abstract class CoreCryptoValidatorBindsModule { public interface CoreCryptoValidatorBindsModule {
@Binds @Binds
abstract fun bindCryptoPrefs(cryptoPrefsImpl: CryptoPrefsImpl): CryptoPrefs public fun bindCryptoPrefs(cryptoPrefsImpl: CryptoPrefsImpl): CryptoPrefs
} }

View File

@ -1,4 +1,4 @@
public class hilt_aggregated_deps/_me_proton_core_featureflag_dagger_HiltWrapper_CoreFeatureFlagModule { public class hilt_aggregated_deps/_me_proton_core_featureflag_dagger_CoreFeatureFlagModule {
public fun <init> ()V public fun <init> ()V
} }
@ -9,7 +9,11 @@ public final class me/proton/core/featureflag/dagger/BuildConfig {
public fun <init> ()V public fun <init> ()V
} }
public final class me/proton/core/featureflag/dagger/HiltWrapper_CoreFeatureFlagModule { public abstract interface class me/proton/core/featureflag/dagger/CoreFeatureFlagModule {
public fun <init> ()V public abstract fun bindFeatureFlagLocalDataSource (Lme/proton/core/featureflag/data/local/FeatureFlagLocalDataSourceImpl;)Lme/proton/core/featureflag/domain/repository/FeatureFlagLocalDataSource;
public abstract fun bindFeatureFlagRemoteDataSource (Lme/proton/core/featureflag/data/remote/FeatureFlagRemoteDataSourceImpl;)Lme/proton/core/featureflag/domain/repository/FeatureFlagRemoteDataSource;
public abstract fun bindManager (Lme/proton/core/featureflag/data/FeatureFlagManagerImpl;)Lme/proton/core/featureflag/domain/FeatureFlagManager;
public abstract fun bindRepository (Lme/proton/core/featureflag/data/repository/FeatureFlagRepositoryImpl;)Lme/proton/core/featureflag/domain/repository/FeatureFlagRepository;
public abstract fun optionalFeatureFlagContextProvider ()Lme/proton/core/featureflag/domain/repository/FeatureFlagContextProvider;
} }

View File

@ -36,24 +36,24 @@ import javax.inject.Singleton
@Module @Module
@InstallIn(SingletonComponent::class) @InstallIn(SingletonComponent::class)
internal abstract class CoreFeatureFlagModule { public interface CoreFeatureFlagModule {
@Binds @Binds
@Singleton @Singleton
abstract fun bindFeatureFlagLocalDataSource(impl: FeatureFlagLocalDataSourceImpl): FeatureFlagLocalDataSource public fun bindFeatureFlagLocalDataSource(impl: FeatureFlagLocalDataSourceImpl): FeatureFlagLocalDataSource
@Binds @Binds
@Singleton @Singleton
abstract fun bindFeatureFlagRemoteDataSource(impl: FeatureFlagRemoteDataSourceImpl): FeatureFlagRemoteDataSource public fun bindFeatureFlagRemoteDataSource(impl: FeatureFlagRemoteDataSourceImpl): FeatureFlagRemoteDataSource
@Binds @Binds
@Singleton @Singleton
abstract fun bindRepository(featureFlagRepositoryImpl: FeatureFlagRepositoryImpl): FeatureFlagRepository public fun bindRepository(featureFlagRepositoryImpl: FeatureFlagRepositoryImpl): FeatureFlagRepository
@Binds @Binds
@Singleton @Singleton
abstract fun bindManager(featureFlagManagerImpl: FeatureFlagManagerImpl): FeatureFlagManager public fun bindManager(featureFlagManagerImpl: FeatureFlagManagerImpl): FeatureFlagManager
@BindsOptionalOf @BindsOptionalOf
abstract fun optionalFeatureFlagContextProvider(): FeatureFlagContextProvider public fun optionalFeatureFlagContextProvider(): FeatureFlagContextProvider
} }

View File

@ -1,4 +1,4 @@
public class hilt_aggregated_deps/_me_proton_core_metrics_dagger_HiltWrapper_CoreMetricsModule { public class hilt_aggregated_deps/_me_proton_core_metrics_dagger_CoreMetricsModule {
public fun <init> ()V public fun <init> ()V
} }
@ -9,7 +9,8 @@ public final class me/proton/core/metrics/dagger/BuildConfig {
public fun <init> ()V public fun <init> ()V
} }
public final class me/proton/core/metrics/dagger/HiltWrapper_CoreMetricsModule { public abstract interface class me/proton/core/metrics/dagger/CoreMetricsModule {
public fun <init> ()V public abstract fun provideMetricsManager (Lme/proton/core/metrics/data/MetricsManagerImpl;)Lme/proton/core/metrics/domain/MetricsManager;
public abstract fun provideMetricsRepository (Lme/proton/core/metrics/data/repository/MetricsRepositoryImpl;)Lme/proton/core/metrics/domain/repository/MetricsRepository;
} }

View File

@ -29,10 +29,10 @@ import me.proton.core.metrics.domain.repository.MetricsRepository
@Module @Module
@InstallIn(SingletonComponent::class) @InstallIn(SingletonComponent::class)
internal abstract class CoreMetricsModule { public interface CoreMetricsModule {
@Binds @Binds
abstract fun provideMetricsRepository(impl: MetricsRepositoryImpl): MetricsRepository public fun provideMetricsRepository(impl: MetricsRepositoryImpl): MetricsRepository
@Binds @Binds
abstract fun provideMetricsManager(impl: MetricsManagerImpl): MetricsManager public fun provideMetricsManager(impl: MetricsManagerImpl): MetricsManager
} }

View File

@ -1,4 +1,4 @@
public class hilt_aggregated_deps/_me_proton_core_push_hilt_HiltWrapper_PushModule { public class hilt_aggregated_deps/_me_proton_core_push_hilt_PushModule {
public fun <init> ()V public fun <init> ()V
} }
@ -9,7 +9,9 @@ public final class me/proton/core/push/dagger/BuildConfig {
public fun <init> ()V public fun <init> ()V
} }
public final class me/proton/core/push/hilt/HiltWrapper_PushModule { public abstract interface class me/proton/core/push/hilt/PushModule {
public fun <init> ()V public abstract fun bindPushLocalDataSource (Lme/proton/core/push/data/local/PushLocalDataSourceImpl;)Lme/proton/core/push/domain/local/PushLocalDataSource;
public abstract fun bindPushRemoteDataSource (Lme/proton/core/push/data/remote/PushRemoteDataSourceImpl;)Lme/proton/core/push/domain/remote/PushRemoteDataSource;
public abstract fun bindPushRepository (Lme/proton/core/push/data/repository/PushRepositoryImpl;)Lme/proton/core/push/domain/repository/PushRepository;
} }

View File

@ -31,13 +31,13 @@ import me.proton.core.push.domain.repository.PushRepository
@Module @Module
@InstallIn(SingletonComponent::class) @InstallIn(SingletonComponent::class)
internal abstract class PushModule { public interface PushModule {
@Binds @Binds
abstract fun bindPushRepository(impl: PushRepositoryImpl): PushRepository public fun bindPushRepository(impl: PushRepositoryImpl): PushRepository
@Binds @Binds
abstract fun bindPushRemoteDataSource(impl: PushRemoteDataSourceImpl): PushRemoteDataSource public fun bindPushRemoteDataSource(impl: PushRemoteDataSourceImpl): PushRemoteDataSource
@Binds @Binds
abstract fun bindPushLocalDataSource(impl: PushLocalDataSourceImpl): PushLocalDataSource public fun bindPushLocalDataSource(impl: PushLocalDataSourceImpl): PushLocalDataSource
} }