Hovhannes
07/02/2021, 7:03 AMerror: [Dagger/MissingBinding] com.example.feed.feedApp cannot be provided without an @Inject constructor or an @Provides-annotated method.
public abstract static class SingletonC implements HiltWrapper_ActivityRetainedComponentManager_ActivityRetainedComponentBuilderEntryPoint,
^
com.example.feed.feedApp is injected at
com.example.feed.dagger.viewmodel.FeedViewModelModule.providePauseAbleObservable(feedApp)
com.example.feed.util.PauseAbleObservable<?> is injected at
com.example.feed.viewmodel.FeedViewModel(�, PauseAbleObservable)
com.example.feed.viewmodel.FeedViewModel is injected at
com.example.feed.viewmodel.FeedViewModel_HiltModules.BindsModule.binds(vm)
@dagger.hilt.android.internal.lifecycle.HiltViewModelMap java.util.Map<java.lang.String,javax.inject.Provider<androidx.lifecycle.ViewModel>> is requested at
dagger.hilt.android.internal.lifecycle.HiltViewModelFactory.ViewModelFactoriesEntryPoint.getHiltViewModelMap() [com.example.feed.feedApp_HiltComponents.SingletonC ? com.example.feed.feedApp_HiltComponents.ActivityRetainedC ? com.example.feed
FeedViewModelModule.kt
@Module
@InstallIn(ActivityComponent::class)
class FeedViewModelModule {
@Provides
fun providePauseAbleObservable(feedApp: FeedApp): PauseAbleObservable<*> {
return PauseAbleInterval(
{ System.currentTimeMillis() },
sportsFeedApp.resources.getInteger(R.integer.pollingPeriodSeconds).toLong(),
TimeUnit.SECONDS
)
}
}
PauseAbleObservable.kt
interface PauseAbleObservable<T> {
val observable: Observable<T>
fun pause()
fun resume()
}
FeedViewModel .kt
@HiltViewModel
class FeedViewModel @Inject constructor(
private val feedRepository: FeedRepository,
var pauseAbleObservable: PauseAbleObservable<*>
) : ViewModel() {....}
iamthevoid
07/02/2021, 7:04 AM