Skip to content

Instantly share code, notes, and snippets.

@Levi-Moreira
Last active February 25, 2019 19:31

Revisions

  1. Levi-Moreira renamed this gist Feb 25, 2019. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  2. Levi-Moreira created this gist Feb 25, 2019.
    24 changes: 24 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,24 @@
    package com.levimoreira.cinemabuff.movie

    import com.levimoreira.cinemabuff.infrastructure.api.TmdbApi
    import com.levimoreira.cinemabuff.movie.data.MovieDataSourceFactory
    import com.levimoreira.cinemabuff.movie.data.MovieRepository
    import com.levimoreira.cinemabuff.movie.data.MovieRepositoryImpl
    import com.levimoreira.cinemabuff.movie.viewmodels.MovieViewModel
    import org.koin.android.viewmodel.ext.koin.viewModel
    import org.koin.dsl.module.module

    val movieModule = module {
    single<MovieRepository> { provideMovieRepository(get()) }
    single<MovieDataSourceFactory> { provideMovieDataSourceFactory(get()) }
    viewModel { provideMovieViewModel(get()) }
    }

    fun provideMovieRepository(tmdbApi: TmdbApi) =
    MovieRepositoryImpl(tmdbApi)

    fun provideMovieDataSourceFactory(repository: MovieRepository) =
    MovieDataSourceFactory(repository)

    fun provideMovieViewModel(dataSourceFactory: MovieDataSourceFactory) =
    MovieViewModel(dataSourceFactory)