Now clearing satellite transceivers data on update

This commit is contained in:
Arty Bishop committed 2021-03-27 19:32:47 +00:00
1 parent 76dce66a4a
commit 040ad844f5
4 files changed
+13 -5

No files matched your search

@@ -33,7 +33,7 @@ interface SatelliteDao {
@Query("SELECT catNum, name, isSelected FROM entries ORDER BY name ASC")
fun getAllSatItems(): Flow<List<SatItem>>
@Query("SELECT * FROM transmitters WHERE isAlive = 1 and catNum = :catNum")
@Query("SELECT * FROM transmitters WHERE catNum = :catNum")
fun getTransmittersByCatNum(catNum: Int): Flow<List<SatTrans>>
@Query("SELECT tle FROM entries WHERE isSelected = 1")
@@ -47,6 +47,12 @@ interface SatelliteDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun insertEntries(entries: List<SatEntry>)
@Transaction
suspend fun updateTransmitters(transmitters: List<SatTrans>) {
deleteTransmitters()
insertTransmitters(transmitters)
}
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun insertTransmitters(transmitters: List<SatTrans>)
@@ -87,8 +87,8 @@ class SatelliteRepo @Inject constructor(
}
private suspend fun importTransmitters() {
val transmitters = satelliteService.fetchTransmitters()
satelliteDao.insertTransmitters(transmitters)
val transmitters = satelliteService.fetchTransmitters().filter { it.isAlive }
satelliteDao.updateTransmitters(transmitters)
}
private suspend fun getStreamsForSources(sources: List<TleSource>): List<InputStream> {