Skip to content

Instantly share code, notes, and snippets.

@Farhandroid
Created February 16, 2022 03:04
Show Gist options
  • Save Farhandroid/3babff9be6964da40f16b64341d31b39 to your computer and use it in GitHub Desktop.
Save Farhandroid/3babff9be6964da40f16b64341d31b39 to your computer and use it in GitHub Desktop.
MovieRemoteDataSourceImpl
class MovieRemoteDataSourceImpl(private val movieApi: MovieApi, private val movieDB: MovieDB) :
MovieRemoteDataSource {
private val movieDao = movieDB.movieDao()
@OptIn(ExperimentalPagingApi::class)
override fun getPopularMovies(): Flow<PagingData<Movie>> {
val pagingSourceFactory = { movieDao.getAllMovies() }
return Pager(
config = PagingConfig(pageSize = 20),
remoteMediator = MovieRemoteMediator(
movieApi,
movieDB
),
pagingSourceFactory = pagingSourceFactory,
).flow
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment