quando fui testar o uso das flags, o app executou certinho, mas não estava conseguindo salvar as notas pelo webclient. No logcat estava dizendo que era uma timeout exception.
salva:
java.net.SocketTimeoutException: timeout
alguém pode explicar como resolver o problema?
codigo do webclient:
package br.com.alura.ceep.webclient
import android.util.Log
import br.com.alura.ceep.model.Nota
import br.com.alura.ceep.webclient.model.NotaBody
import br.com.alura.ceep.webclient.services.NotaService
class NotaWebClient {
private val notaService: NotaService = RetrofitInicializador().notaService
suspend fun buscaTodas(): List<Nota>? {
return try {
val notasResposta = notaService
.buscaTodas()
notasResposta.map { notaResposta ->
notaResposta.nota
}
} catch (e: Exception) {
Log.e("NotaWebClient", "buscaTodas: ", e)
null
}
}
suspend fun salva(nota : Nota) : Boolean {
try {
val resposta = notaService.salva(nota.id, NotaBody(
titulo = nota.titulo,
descricao = nota.descricao,
imagem = nota.imagem
))
return resposta.isSuccessful
} catch (e: Exception) {
Log.e("NotaWebClient", "salva: ", e)
}
return false
}
}
codigo do inicializador do retrofit:
class RetrofitInicializador {
private val interceptor = HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BASIC)
private val okHttp = OkHttpClient.Builder().addInterceptor(interceptor).build()
private val retrofit = Retrofit.Builder()
.addConverterFactory(MoshiConverterFactory.create())
.baseUrl("https://5db0-200-203-17-56.ngrok.io")
.client(okHttp)
.build()
val notaService = retrofit.create(NotaService::class.java)
}