I have the following Java code which works fine
@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);
}
When I convert it to Kotlin
@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<*>
}
I got error stating I can't have my @Provides
on the static function.
error: @Provides methods can only be present within a @Module or @ProducerModule
public final android.content.Context provideContext(@org.jetbrains.annotations.NotNull()
^
How could I fix that?