Extracted ContentResolver into LocalSource.kt

This commit is contained in:
Arty Bishop committed 2022-02-07 17:50:03 +00:00
1 parent 9b38e2c63e
commit a7427f3632
7 files changed
+30 -22

No files matched your search

@@ -49,12 +49,15 @@ class DataRepository(
_updateState.value = DataState.Handled
}
override fun updateDataFromFile(stream: InputStream) {
override fun updateDataFromFile(uri: String) {
repositoryScope.launch(exceptionHandler) {
_updateState.value = DataState.Loading
val importedSatellites = importSatellites(stream)
localSource.updateEntries(importedSatellites)
_updateState.value = DataState.Success(0L)
val updateTimeMillis = measureTimeMillis {
localSource.getFileStream(uri)?.let { fileStream ->
localSource.updateEntries(importSatellites(fileStream))
}
}
_updateState.value = DataState.Success(updateTimeMillis)
}
}
@@ -22,11 +22,14 @@ import com.rtbishop.look4sat.domain.model.SatItem
import com.rtbishop.look4sat.domain.model.Transmitter
import com.rtbishop.look4sat.domain.predict.Satellite
import kotlinx.coroutines.flow.Flow
import java.io.InputStream
interface ILocalSource {
fun getSatelliteItems(): Flow<List<SatItem>>
suspend fun getFileStream(uri: String): InputStream?
suspend fun getSelectedSatellites(): List<Satellite>
suspend fun getTransmitters(catnum: Int): List<Transmitter>
@@ -23,7 +23,6 @@ import com.rtbishop.look4sat.domain.model.Transmitter
import com.rtbishop.look4sat.domain.predict.Satellite
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.StateFlow
import java.io.InputStream
interface IDataRepository {
@@ -31,7 +30,7 @@ interface IDataRepository {
fun setDataUpdateHandled()
fun updateDataFromFile(stream: InputStream)
fun updateDataFromFile(uri: String)
fun updateDataFromWeb(sources: List<String>)