The Code A is from https://developer.android.com/codelabs/android-hilt#6
And Code B is from https://developer.android.com/codelabs/android-hilt#7
I find the annotation @ApplicationContext is added before appContext: Context in Code A, and none annotation is added before private val activity: FragmentActivity in Code B, why?
And more can I use Code C instead of Code A?
Code A
@Module
object DatabaseModule {
@Provides
@Singleton
fun provideDatabase(@ApplicationContext appContext: Context): AppDatabase {
...
}
}
Code B
class AppNavigatorImpl @Inject constructor(
private val activity: FragmentActivity
) : AppNavigator {
...
}
Code C
@Module
object DatabaseModule {
@Provides
@Singleton
fun provideDatabase(appContext: ApplicationContext): AppDatabase {
...
}
}