У меня есть следующий код Java, который отлично работает
@Module(subcomponents = {MainActivityComponent.class})
abstract public class ActivityBuilder {
@Provides
@Singleton
static Context provideContext(Application application) {
return application;
}
@Binds
@IntoMap
@ClassKey(MainActivity.class)
abstract AndroidInjector.Factory<?> bindMainActivity(MainActivityComponent.Builder builder);
}
Когда я конвертирую его в Котлин
@Module(subcomponents = [MainActivityComponent::class])
abstract class ActivityBuilder {
companion object {
@Provides
@Singleton
fun provideContext(application: Application): Context {
return application
}
}
@Binds
@IntoMap
@ClassKey(MainActivity::class)
abstract fun bindMainActivity(builder: MainActivityComponent.Builder): AndroidInjector.Factory<*>
}
Я получил сообщение о том, что у меня не может быть @Provides
в статической функции.
error: @Provides methods can only be present within a @Module or @ProducerModule
public final android.content.Context provideContext(@org.jetbrains.annotations.NotNull()
^
Как я могу это исправить?