From f24edc62a0485e8e13e6fa61f48c3e1a44d0ae1a Mon Sep 17 00:00:00 2001 From: Arty Bishop Date: Mon, 21 Oct 2019 10:22:57 +0100 Subject: [PATCH] Added basic Transmitter apiService implementation with suspend functions --- .../com/rtbishop/lookingsat/api/TransmitterApi.kt | 12 ++++++++++++ .../rtbishop/lookingsat/api/TransmitterService.kt | 13 ++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/rtbishop/lookingsat/api/TransmitterApi.kt b/app/src/main/java/com/rtbishop/lookingsat/api/TransmitterApi.kt index 54ff48c5..b1b0027c 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/api/TransmitterApi.kt +++ b/app/src/main/java/com/rtbishop/lookingsat/api/TransmitterApi.kt @@ -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 + + companion object { + operator fun invoke(): TransmitterApi { + return Retrofit.Builder() + .baseUrl("https://db.satnogs.org/api/") + .addConverterFactory(GsonConverterFactory.create()) + .build() + .create(TransmitterApi::class.java) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/rtbishop/lookingsat/api/TransmitterService.kt b/app/src/main/java/com/rtbishop/lookingsat/api/TransmitterService.kt index 6995a49c..5048551b 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/api/TransmitterService.kt +++ b/app/src/main/java/com/rtbishop/lookingsat/api/TransmitterService.kt @@ -1,3 +1,14 @@ package com.rtbishop.lookingsat.api -class TransmitterService \ No newline at end of file +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import com.rtbishop.lookingsat.repo.Transmitter + +class TransmitterService(private val transmitterApi: TransmitterApi) { + private val _transmittersList = MutableLiveData>() + val transmittersList: LiveData> = _transmittersList + + suspend fun fetchTransmitters() { + _transmittersList.postValue(transmitterApi.getTransmitterList()) + } +} \ No newline at end of file