kopia lustrzana https://github.com/rt-bishop/Look4Sat
Added ability to get the number of entries and radios
rodzic
afe9f77869
commit
0404f7be90
|
@ -41,6 +41,10 @@ class LocalSource(
|
|||
private val ioDispatcher: CoroutineDispatcher
|
||||
) : ILocalSource {
|
||||
|
||||
override fun getEntriesNumber() = entriesDao.getEntriesNumber()
|
||||
|
||||
override fun getRadiosNumber() = radiosDao.getRadiosNumber()
|
||||
|
||||
override suspend fun getEntriesWithModes(): List<SatItem> {
|
||||
val selectedCatnums = getEntriesSelection()
|
||||
val entriesWithModes = entriesDao.getEntriesWithModes().toDomainItems()
|
||||
|
|
|
@ -20,10 +20,14 @@ package com.rtbishop.look4sat.framework.local
|
|||
import androidx.room.*
|
||||
import com.rtbishop.look4sat.framework.model.SatEntry
|
||||
import com.rtbishop.look4sat.framework.model.SatItem
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
interface SatEntriesDao {
|
||||
|
||||
@Query("SELECT COUNT(*) FROM entries")
|
||||
fun getEntriesNumber(): Flow<Int>
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT catnum, name FROM entries ORDER BY name ASC")
|
||||
suspend fun getEntriesWithModes(): List<SatItem>
|
||||
|
|
|
@ -22,10 +22,14 @@ import androidx.room.Insert
|
|||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import com.rtbishop.look4sat.framework.model.SatRadio
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
interface SatRadiosDao {
|
||||
|
||||
@Query("SELECT COUNT(*) FROM radios")
|
||||
fun getRadiosNumber(): Flow<Int>
|
||||
|
||||
@Query("SELECT * FROM radios WHERE catnum = :catnum AND isAlive = 1")
|
||||
suspend fun getRadios(catnum: Int): List<SatRadio>
|
||||
|
||||
|
|
|
@ -45,6 +45,10 @@ class DataRepository(
|
|||
_updateState.value = DataState.Handled
|
||||
}
|
||||
|
||||
override fun getEntriesNumber() = localSource.getEntriesNumber()
|
||||
|
||||
override fun getRadiosNumber() = localSource.getRadiosNumber()
|
||||
|
||||
override suspend fun getEntriesWithModes() = localSource.getEntriesWithModes()
|
||||
|
||||
override suspend fun getSelectedEntries() = localSource.getSelectedEntries()
|
||||
|
|
|
@ -21,10 +21,15 @@ import com.rtbishop.look4sat.domain.model.SatEntry
|
|||
import com.rtbishop.look4sat.domain.model.SatItem
|
||||
import com.rtbishop.look4sat.domain.model.SatRadio
|
||||
import com.rtbishop.look4sat.domain.predict.Satellite
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import java.io.InputStream
|
||||
|
||||
interface ILocalSource {
|
||||
|
||||
fun getEntriesNumber(): Flow<Int>
|
||||
|
||||
fun getRadiosNumber(): Flow<Int>
|
||||
|
||||
suspend fun getEntriesWithModes(): List<SatItem>
|
||||
|
||||
suspend fun getSelectedEntries(): List<Satellite>
|
||||
|
|
|
@ -21,6 +21,7 @@ import com.rtbishop.look4sat.domain.model.DataState
|
|||
import com.rtbishop.look4sat.domain.model.SatItem
|
||||
import com.rtbishop.look4sat.domain.model.SatRadio
|
||||
import com.rtbishop.look4sat.domain.predict.Satellite
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
|
||||
interface IDataRepository {
|
||||
|
@ -29,6 +30,10 @@ interface IDataRepository {
|
|||
|
||||
fun setUpdateStateHandled()
|
||||
|
||||
fun getEntriesNumber(): Flow<Int>
|
||||
|
||||
fun getRadiosNumber(): Flow<Int>
|
||||
|
||||
suspend fun getEntriesWithModes(): List<SatItem>
|
||||
|
||||
suspend fun getSelectedEntries(): List<Satellite>
|
||||
|
|
Ładowanie…
Reference in New Issue