У меня есть два запроса по комнатам.
@Query("Select * from accountGroup")
fun getAll(): LiveData<List<AccountGroupDto>>
@Query("Select * from accounts")
fun getAll(): LiveData<List<AccountDto>>
С этими двумя списками результатов я хочу создать новый список ShareItem
data class ShareItem
(val accountId: Int, val accountGroupId: Int, val isGroup: Boolean)
Объединенный список, в котором я хочу наблюдать за ним. моя деятельность. Итак, у меня есть репозиторий, который реализует MediatorLiveData, который добавляет два источника, и я хочу, чтобы каждый элемент трансформировался (создавая ShareItem) и добавлял его в mutableLiveData и передавал его в viewModel.
override fun getShareItems(): LiveData<List<Int>> {
val shareItems = MutableLiveData<List<ShareItem>>()
val liveDataMerger = MediatorLiveData<List<Int>>()
liveDataMerger.addSource(accountGroupsDao.getAll()) { groups ->
// Transform each element in ShareItem ??
println("Group log")
}
liveDataMerger.addSource(accountsDao.getAll()) { accounts ->
// Transform each element in ShareItem ??
println("Account log")
}
return shareItems
}
Однако я никогда не вижу System.out в консоли. Что мне не хватает, поскольку база данных явно заполнена данными?