Получать с сервера только те id, которые сохранены в базе

В приложении есть корзина, которая сохраняет id элемента и его количество. При переходе на экран корзины должен отображаться список только сохраненных товаров. Но вместо этого я получаю полностью весь список товаров с сервера и уже у него меняется количество, на сохраненное в корзине. Как не отображать товары, которые нет в корзине?

Метод, который получает id сохраненных в корзине товаров

private fun getProductsFromDatabase() {
    subscriptions += dataManager.getAllFoods()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeBy { productsDatabase ->
                this.productsDatabase = productsDatabase

                productsDatabase.forEach { product ->
                    listId.add((product.id!!))
                }
                list = listId.toString()
                getFoodsById(list.removePrefix("[").removeSuffix("]"))
            }
}

Метод, который получает список с сервера (думаю именно в нем не правильная логика)

 private fun getFoodsById(listId: String) {
    viewState.showProgress(true)
    subscriptions += interactor.getProductById(listId)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeBy(
                    onSuccess = { products ->
                        for (product in products.productsModelSupermarket) {
                            for (item in productsDatabase) {
                                if (product.idListProducts == item.id) {
                                    product.count = item.count
                                } else{

                                }
                            }
                        }
                        viewState.getSavedProduct(products)
                        viewState.showProgress(false)
                    },
                    onError = {
                        viewState.showMessage("Ошибка")
                        viewState.showProgress(false)
                    }
            )
}

Ответы (0 шт):