Provides simple progress listener implementation for Retrofit 2
Gradle:
compile 'pl.gumyns:retrofit_progress:1.0.0'
Create pool:
ProgressListenerPool pool = new ProgressListenerPool();
Add interceptor and converter:
Retrofit retrofit = new Retrofit.Builder()
.client(new OkHttpClient.Builder().addInterceptor(new ProgressInterceptor(pool)).build())
.addConverterFactory(new ProgressConverterFactory(pool))
...
.build();
Sample Webservice interface:
public interface WS {
@GET("/sth")
Observable<Object> getSomething(@DownloadProgress @Header(DownloadProgress.HEADER) ProgressListener listener);
@POST("/sth")
Observable<Object> setSomething(@Body String veryLongString, @UploadProgress @Header(UploadProgress.HEADER) ProgressListener listener);
}