I have a question and maybe someone with experience can make things a little more clear for me. I have written Hilt modules both as interfaces or as abstract classes. Is there an actual difference between those two? For example, I have changed the following module in Hilt on my app and it still working.
@Module
@InstallIn(ViewModelComponent::class)
abstract class LocalModules {
@Binds
@ViewModelScoped
abstract fun bindTemporaryImageFileFactory(factory: TemporaryImageFileFactoryImpl): TemporaryImageFileFactory
}
or
@Module
@InstallIn(ViewModelComponent::class)
interface LocalModules {
@Binds
@ViewModelScoped
fun bindTemporaryImageFileFactory(factory: TemporaryImageFileFactoryImpl): TemporaryImageFileFactory
}