Adha_setiawan
Adha_setiawan

Reputation: 27

MVVM Respository

i have a error on code that says

overload resolution ambiguity. all these functions match

class MovieRespository (val apiService: ApiService, val movieDao: MovieDao) {
    fun getListMovie() = movieDao.streamAll()
            .onErrorResumeNext{
                apiService.getMyMovie()
                        .doOnSuccess {
                            if (it.results.isEmpty()){
                            }else{
                                movieDao.deleteAll()
                                it.results.let {
                                    Timber.d("input data")
                                    val semuadata = it.map { data -> Movie.from(data) }
                                    movieDao.insert(semuadata)
                                }
                            }
                        }
            }
}

also there something like this in my error

enter image description here

Upvotes: 0

Views: 68

Answers (1)

Adam Arold
Adam Arold

Reputation: 30568

You simply have to specify the parameter you take in onErrorResumeNext:



i have a error on code that says

overload resolution ambiguity. all these functions match

class MovieRespository (val apiService: ApiService, val movieDao: MovieDao) {
    fun getListMovie() = movieDao.streamAll()
            .onErrorResumeNext{ next: Publisher<List<Movie>> ->
                apiService.getMyMovie()
                        .doOnSuccess {
                            if (it.results.isEmpty()){
                            }else{
                                movieDao.deleteAll()
                                it.results.let {
                                    Timber.d("input data")
                                    val semuadata = it.map { data -> Movie.from(data) }
                                    movieDao.insert(semuadata)
                                }
                            }
                        }
            }
}

Upvotes: 1

Related Questions