I\'m trying to update this RetroFit + Otto tutorial, so my code updated is:
IWeather.java
RetroFit 2.+ doesn\'t allow to return void
java.lang.IllegalArgumentException: No Retrofit annotation found. (parameter #3)
As the error says, the problem is that the third parameter of the getWeather method does not have an annotation. The Callback class is used for the Call#enqueue(Callback) method.
Simply change
sForecastClient.getWeather(latitude, longitude, callback)
to
sForecastClient.getWeather(latitude, longitude).enqueue(callback)
and remove the third parameter.
Try it and modify your retrofit version number to 2.6.0. The use of coroutines in Retrofit 2.6.0 can return a Response object directly. If await() is not needed, Retrofit will automatically call it. This is not applicable when the version is below 2.6.0.