Download chapter images

This commit is contained in:
inorichi
2015-10-06 00:24:29 +02:00
parent c3b65d286f
commit a78359e4a9
10 changed files with 1169 additions and 166 deletions

View File

@@ -0,0 +1,62 @@
package eu.kanade.mangafeed.data.helpers;
import com.squareup.okhttp.CacheControl;
import com.squareup.okhttp.Headers;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import java.io.IOException;
import rx.Observable;
import rx.Subscriber;
import timber.log.Timber;
public final class NetworkHelper {
private OkHttpClient mClient;
public final CacheControl NULL_CACHE_CONTROL = new CacheControl.Builder().noCache().build();
public final Headers NULL_HEADERS = new Headers.Builder().build();
public NetworkHelper() {
mClient = new OkHttpClient();
}
public Observable<Response> getResponse(final String url, final CacheControl cacheControl, final Headers headers) {
return Observable.create(subscriber -> {
try {
if (!subscriber.isUnsubscribed()) {
Request request = new Request.Builder()
.url(url)
.cacheControl(cacheControl != null ? cacheControl : NULL_CACHE_CONTROL)
.headers(headers != null ? headers : NULL_HEADERS)
.build();
subscriber.onNext(mClient.newCall(request).execute());
}
subscriber.onCompleted();
} catch (Throwable e) {
subscriber.onError(e);
}
});
}
public Observable<String> mapResponseToString(final Response response) {
return Observable.create(subscriber -> {
try {
subscriber.onNext(response.body().string());
subscriber.onCompleted();
} catch (Throwable e) {
subscriber.onError(e);
}
});
}
public Observable<String> getStringResponse(final String url, final CacheControl cacheControl, final Headers headers) {
return getResponse(url, cacheControl, headers)
.flatMap(this::mapResponseToString);
}
}