73 lines
2.2 KiB
Java
73 lines
2.2 KiB
Java
package com.squareup.picasso;
|
|
|
|
import android.graphics.Bitmap;
|
|
import android.net.NetworkInfo;
|
|
import com.squareup.picasso.Downloader;
|
|
import com.squareup.picasso.Picasso;
|
|
import com.squareup.picasso.RequestHandler;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
|
|
/* loaded from: classes.dex */
|
|
class NetworkRequestHandler extends RequestHandler {
|
|
private final Downloader a;
|
|
private final Stats b;
|
|
|
|
static class ContentLengthException extends IOException {
|
|
public ContentLengthException(String str) {
|
|
super(str);
|
|
}
|
|
}
|
|
|
|
public NetworkRequestHandler(Downloader downloader, Stats stats) {
|
|
this.a = downloader;
|
|
this.b = stats;
|
|
}
|
|
|
|
@Override // com.squareup.picasso.RequestHandler
|
|
int a() {
|
|
return 2;
|
|
}
|
|
|
|
@Override // com.squareup.picasso.RequestHandler
|
|
public boolean a(Request request) {
|
|
String scheme = request.d.getScheme();
|
|
return "http".equals(scheme) || "https".equals(scheme);
|
|
}
|
|
|
|
@Override // com.squareup.picasso.RequestHandler
|
|
boolean b() {
|
|
return true;
|
|
}
|
|
|
|
@Override // com.squareup.picasso.RequestHandler
|
|
public RequestHandler.Result a(Request request, int i) throws IOException {
|
|
Downloader.Response a = this.a.a(request.d, request.c);
|
|
if (a == null) {
|
|
return null;
|
|
}
|
|
Picasso.LoadedFrom loadedFrom = a.c ? Picasso.LoadedFrom.DISK : Picasso.LoadedFrom.NETWORK;
|
|
Bitmap a2 = a.a();
|
|
if (a2 != null) {
|
|
return new RequestHandler.Result(a2, loadedFrom);
|
|
}
|
|
InputStream c = a.c();
|
|
if (c == null) {
|
|
return null;
|
|
}
|
|
if (loadedFrom == Picasso.LoadedFrom.DISK && a.b() == 0) {
|
|
Utils.a(c);
|
|
throw new ContentLengthException("Received response with 0 content-length header.");
|
|
}
|
|
if (loadedFrom == Picasso.LoadedFrom.NETWORK && a.b() > 0) {
|
|
this.b.a(a.b());
|
|
}
|
|
return new RequestHandler.Result(c, loadedFrom);
|
|
}
|
|
|
|
@Override // com.squareup.picasso.RequestHandler
|
|
boolean a(boolean z, NetworkInfo networkInfo) {
|
|
return networkInfo == null || networkInfo.isConnected();
|
|
}
|
|
}
|