Я новичок в Dagger 2 и пытаюсь реализовать его в Kotlin. Здесь я пытаюсь ввести свой объект хранилища в viewmodel. Я успешно могу ввести его таким образом
public class LoginViewModel @Inject constructor(var mApplication: Application, var repository: LoginRepository) :
ViewModel() {
Вот так выглядит мой репозиторий
class LoginRepository @Inject constructor(val retrofit: APICallInterface) {
Вот так выглядит мой модуль
@Module
class BaseModule {
@Provides
fun getRetrofit(): APICallInterface {
return Retrofit.Builder()
.baseUrl("https://samples.openweathermap.org/data/2.5/")
.addConverterFactory(GsonConverterFactory.create())
.build().create(APICallInterface::class.java)
}
Я не могу понять, как Dagger 2 может предоставить объект для хранилища, поскольку я не упомянул его ни в одном модуле с аннотацией @Provides.
Я пробовал следить за множеством блогов и несколькими доступными здесь вопросами stckoverflow, но ни один из них не решает мои сомнения.
Любая помощь / объяснение будет оценено.