Added basic Transmitter apiService implementation with suspend functions

This commit is contained in:
Arty Bishop committed 2019-10-21 10:22:57 +01:00
1 parent fb432cffca
commit f24edc62a0
2 files changed
+24 -1

No files matched your search

@@ -1,10 +1,22 @@
package com.rtbishop.lookingsat.api
import com.rtbishop.lookingsat.repo.Transmitter
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.http.GET
interface TransmitterApi {
@GET("transmitters/?alive=true")
suspend fun getTransmitterList(): List<Transmitter>
companion object {
operator fun invoke(): TransmitterApi {
return Retrofit.Builder()
.baseUrl("https://db.satnogs.org/api/")
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(TransmitterApi::class.java)
}
}
}
@@ -1,3 +1,14 @@
package com.rtbishop.lookingsat.api
class TransmitterService
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.rtbishop.lookingsat.repo.Transmitter
class TransmitterService(private val transmitterApi: TransmitterApi) {
private val _transmittersList = MutableLiveData<List<Transmitter>>()
val transmittersList: LiveData<List<Transmitter>> = _transmittersList
suspend fun fetchTransmitters() {
_transmittersList.postValue(transmitterApi.getTransmitterList())
}
}