Hilt не может создаться Inject из-за разницы Scope

Пробую создать inject в класс

class TracksRepository @Inject constructor(
    private var dao: TrackDao,
    private var service: TracksApi,
) {

в то время как Dao создается в ActivityScope(Нужно только в Activity)

@Module
@InstallIn(ActivityComponent::class)
object RoomModule {

    @ActivityScoped
    @Provides
    fun provideDataBase(
       @ActivityContext context: Context
    ): TrackDataBase =
        Room.databaseBuilder(
            context,
            TrackDataBase::class.java,
            Constant.BASE_NAME
        ).allowMainThreadQueries()
            .build()

    @Provides
    fun provideTrackDao(database: TrackDataBase): TrackDao = database.trackDao()

service(TracksApi) создается в SingoltonScope

@Module
@InstallIn(SingletonComponent::class)
object RetrofitModule {

    @Singleton
    @Provides
    fun provideRetrofit(client: OkHttpClient): Retrofit =
        Retrofit.Builder()
            .baseUrl(Constant.BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .client(client)
            .build()

    @Provides
    fun provideTracksApi(retrofit: Retrofit): TracksApi = retrofit.create(TracksApi::class.java)

Из-за чего думаю и получаю данную ошибку

: error: [Dagger/MissingBinding] com.e*.TrackDao cannot be provided without an @Provides-annotated method.
  public abstract static class SingletonC implements App_GeneratedInjector,

Ответы (0 шт):