I have one class NavigationController which requires an activity instance all of my fragment are hosted through these activity.
class NavigationController constructor(private val activity: MainActivity) {
fun navigateToAuth() {
activity.supportFragmentManager
.beginTransaction()
.replace(R.id.main_container,WelcomeFrag())
.commitAllowingStateLoss()
}
}
And here is my NavigationModule
@InstallIn(ApplicationComponent::class)
@Module
object NavigationModule {
@Provides
fun providesNavigationModule(activity: MainActivity): NavigationController {
return NavigationController(activity)
}
}
But i'm getting Error as MainActivity cannot be provided requires @Inject or @Provides I know dagger doesnt know how to create MainActivity as it doesnt have constructor i cannot inject it
So how could i get activity and pass it to my NavigationController ?