У меня определен Dagger 2 Qualifier
@Qualifier
@MustBeDocumented
@kotlin.annotation.Retention(AnnotationRetention.RUNTIME)
annotation class TrackerQualifier(val value: TrackerType)
enum class TrackerType {
INTERNAL,
EXTERNAL
}
И он хорошо работает с
@Provides
@TrackerQualifier(TrackerType.INTERNAL)
@Singleton
UsageTracker providesInternalTracker(InternalTracker analyticsTracker) {
return new UsageTracker(analyticsTracker);
}
@Provides
@TrackerQualifier(TrackerType.EXTERNAL)
@Singleton
UsageTracking providesExternalTracker(ExternalTracker eventTracker) {
return eventTracker;
}
Однако, если мне нравится отправлять его в другой введенный модуль.
@Provides
fun provideCommonImage(
imageEngine: ImageEngine,
externalUsageTracking: UsageTracking) =
CommonImage(imageEngine, externalUsageTracking)
Сбой компиляции, так как он не знает, является ли externalUsageTracking: UsageTracking
выше INTERNAL
или EXTERNAL
.Как я могу добавить это к параметру?