Заполнение базы Room c использованием MVP + Dagger2+Kotlin

В приложении осуществляется добавление в базу количества товаров и итоговую цену. Потом все это должно выводиться в список с помощью адаптера. Проблема в том. что ничего не добавляется. Выводится только тост из doOnSubcribe. Остальные тосты не выводятся. Мне кажется, что оно не доходит до subcribeBy

БД

@Parcelize
@Entity(tableName = "food_checklist")
class FoodEntity : Parcelable {
@PrimaryKey
var id: Long? = null

@ColumnInfo(name = "price")
var price: Double? = null

@ColumnInfo(name = "count")
var count: Int = 0

@ColumnInfo(name = "type")
var type: String = TYPE_RESTAURANT

override fun equals(other: Any?): Boolean {
    return (other as FoodEntity).id == id
}

Presenter

subscriptions += dataManager.getAllFoods()
            .doOnSubscribe { viewState.showErrorToast("Получение из базы запущено") }
            .doOnError { viewState.showErrorToast("Ошибка при получении из базы") }
            .doAfterTerminate { }
            .subscribeBy(
                    onNext = { productFromDatabase ->
                        this.productFromDatabase = productFromDatabase
                        var value = 0
                        productFromDatabase.forEach {
                            value += (it.count * it.price!!.toInt())
                            for (i in 0..productFromDatabase.size) {
                                productFromDatabase[i].count = it.count
                                productFromDatabase[i].price = it.price
                            }
                            viewState.showSavedProducts(productFromDatabase)
                        }
                        viewState.showErrorToast("Данные получены")
                    },
                    onComplete = {},
                    onError = {}
            )
         }

Активити

  override fun showSavedProducts(savedProducts: List<FoodEntity>) {
    val productsFromNetwork =
            (listProductsRecyclerView.adapter as SupermarketProductsAdapter).supermarketProducts
    savedProducts.forEach { productsEntity ->
        productsFromNetwork.forEach { product ->
            product.count = productsEntity.count
        }
    }
    (listProductsRecyclerView.adapter as SupermarketProductsAdapter).notifyDataSetChanged()
}

Адаптер

class SupermarketProductsAdapter(
    var supermarketProducts: List<SupermarketProducts>,
    var savedProduct: List<FoodEntity>? = null,
    val addProduct: ((supermarketProducts: FoodEntity) -> Unit)? = null,
    val deleteProduct: ((supermarketProducts: FoodEntity) -> Unit)? = null,
    val countChangeClickListener: ((supermarketProducts: FoodEntity) -> Unit)? = null
 ):
    RecyclerView.Adapter<SupermarketProductsAdapter.ListProductsViewHolder>() {

inner class ListProductsViewHolder(override val containerView: View)
    : RecyclerView.ViewHolder(containerView), LayoutContainer  {

    private lateinit var supermarketProducts: SupermarketProducts

    @SuppressLint("SetTextI18n")
    fun bind(supermarketProducts: SupermarketProducts){
        this.supermarketProducts = supermarketProducts
        with(containerView){

            Glide.with(this)
                    .load(supermarketProducts.imageListProducts)
                    .into(imageItemListProducts)
            nameItemListProducts.text = supermarketProducts.nameListProducts
            newPriceItemListProducts.text = "${supermarketProducts.newPriceListProducts} ₽"
            oldPriceItemListProducts.text = "${supermarketProducts.oldPriceListProducts} ₽"

            //Проверка новой и старой цен
            if(supermarketProducts.newPriceListProducts == supermarketProducts.oldPriceListProducts) {
                oldPriceItemListProducts.makeGone()
                newPriceItemListProducts.setTextColor(resources.getColor(R.color.black))
            }
            
            checkCount(supermarketProducts.count)

            //Добавление в корзину
            plusItemListProducts.setOnClickListener {
                supermarketProducts.count += 1
                addProduct?.invoke(supermarketProducts.mapToEntity())
                checkCount(supermarketProducts.count)
                countChangeClickListener?.invoke(supermarketProducts.mapToEntity())
            }

            //Удаление из корзины
            minusItemListProducts.setOnClickListener {
                supermarketProducts.count -= 1
                deleteProduct?.invoke(supermarketProducts.mapToEntity())
                checkCount(supermarketProducts.count)
                countChangeClickListener?.invoke(supermarketProducts.mapToEntity())
            }
        }
    }

    //Видимость минуса и количества
    private fun checkCount(count: Int){
        if (count == 0){
            minusItemListProducts.makeGone()
            countItemListProducts.makeGone()
        }
        else{
            minusItemListProducts.makeVisible()
            countItemListProducts.makeVisible()
            countItemListProducts.text = count.toString()
        }
    }
}

override fun onCreateViewHolder(parent: ViewGroup, position: Int): ListProductsViewHolder {
    return ListProductsViewHolder(LayoutInflater.from(parent.context)
            .inflate(R.layout.item_product_supermarket, parent, false))
}

override fun getItemCount() = supermarketProducts.size

override fun onBindViewHolder(viewHolder: ListProductsViewHolder, position: Int) {
    viewHolder.bind(supermarketProducts[position])
}

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