Added single multiple clock
This commit is contained in:
@ -0,0 +1,40 @@
|
||||
package com.tommasoberlose.anotherwidget.network
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import com.chibatching.kotpref.Kotpref
|
||||
import com.google.gson.internal.LinkedTreeMap
|
||||
import com.haroldadmin.cnradapter.NetworkResponse
|
||||
import com.tommasoberlose.anotherwidget.R
|
||||
import com.tommasoberlose.anotherwidget.global.Constants
|
||||
import com.tommasoberlose.anotherwidget.global.Preferences
|
||||
import com.tommasoberlose.anotherwidget.helpers.WeatherHelper
|
||||
import com.tommasoberlose.anotherwidget.network.repository.TimeZonesRepository
|
||||
import com.tommasoberlose.anotherwidget.ui.fragments.MainFragment
|
||||
import com.tommasoberlose.anotherwidget.ui.widgets.MainWidget
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import java.lang.Exception
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
class TimeZonesApi(val context: Context) {
|
||||
suspend fun getTimeZone(lat: String, long: String): String? {
|
||||
Kotpref.init(context)
|
||||
val repository = TimeZonesRepository()
|
||||
var id: String? = null
|
||||
|
||||
when (val response = repository.getTimeZone(lat, long)) {
|
||||
is NetworkResponse.Success -> {
|
||||
try {
|
||||
Log.d("ciao", response.body.toString())
|
||||
id = response.body["timezoneId"] as String
|
||||
|
||||
} catch(ex: Exception) {
|
||||
ex.printStackTrace()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return id
|
||||
}
|
||||
}
|
@ -71,4 +71,13 @@ object ApiServices {
|
||||
@Query("lon") lon: String,
|
||||
): NetworkResponse<HashMap<String, Any>, HashMap<String, Any>>
|
||||
}
|
||||
|
||||
interface TimeZonesService {
|
||||
@GET("timezoneJSON")
|
||||
suspend fun getTimeZone(
|
||||
@Query("lat") lat: String,
|
||||
@Query("lng") lon: String,
|
||||
@Query("username") username: String = "tommaso.berlose",
|
||||
): NetworkResponse<HashMap<String, Any>, HashMap<String, Any>>
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package com.tommasoberlose.anotherwidget.network.repository
|
||||
|
||||
import com.haroldadmin.cnradapter.NetworkResponseAdapterFactory
|
||||
import com.tommasoberlose.anotherwidget.network.api.ApiServices
|
||||
import retrofit2.Retrofit
|
||||
import retrofit2.converter.gson.GsonConverterFactory
|
||||
|
||||
class TimeZonesRepository {
|
||||
|
||||
/* YR */
|
||||
private val apiService: ApiServices.TimeZonesService = getRetrofit().create(ApiServices.TimeZonesService::class.java)
|
||||
suspend fun getTimeZone(lat: String, long: String) = apiService.getTimeZone(lat, long)
|
||||
|
||||
companion object {
|
||||
private const val BASE_URL_YR = "http://api.geonames.org/"
|
||||
|
||||
private fun getRetrofit(): Retrofit {
|
||||
return Retrofit.Builder()
|
||||
.baseUrl(BASE_URL_YR)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.addCallAdapterFactory(NetworkResponseAdapterFactory())
|
||||
.build()
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user