下面列出了com.squareup.okhttp.CacheControl#com.facebook.imagepipeline.producers.BaseProducerContextCallbacks 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void fetch(final VolleyNetworkFetchState fetchState, final Callback callback) {
fetchState.submitTime = SystemClock.elapsedRealtime();
final RawRequest request =
new RawRequest(
fetchState.getUri().toString(),
new Response.Listener<byte[]>() {
@Override
public void onResponse(byte[] bytes) {
fetchState.responseTime = SystemClock.uptimeMillis();
try {
InputStream is = new ByteArrayInputStream(bytes);
callback.onResponse(is, bytes.length);
} catch (IOException e) {
callback.onFailure(e);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
callback.onFailure(volleyError);
}
});
fetchState
.getContext()
.addCallbacks(
new BaseProducerContextCallbacks() {
@Override
public void onCancellationRequested() {
mRequestQueue.cancelAll(
new RequestFilter() {
@Override
public boolean apply(Request<?> candidate) {
return candidate != null
&& request.getSequence() == candidate.getSequence();
}
});
}
});
mRequestQueue.add(request);
}