package com.octo.android.robospice.okhttp; import java.util.Set; import com.octo.android.robospice.SpiceService; import com.octo.android.robospice.request.CachedSpiceRequest; import com.octo.android.robospice.request.listener.RequestListener; import com.octo.android.robospice.request.okhttp.OkHttpSpiceRequest; import com.squareup.okhttp.OkHttpClient; public abstract class OkHttpSpiceService extends SpiceService { private OkHttpClient okHttpClient; @Override public void onCreate() { super.onCreate(); okHttpClient = createOkHttpClient(); } protected OkHttpClient createOkHttpClient() { return new OkHttpClient(); } @SuppressWarnings({ "rawtypes" }) @Override public void addRequest(CachedSpiceRequest<?> request, Set<RequestListener<?>> listRequestListener) { if (request.getSpiceRequest() instanceof OkHttpSpiceRequest) { OkHttpSpiceRequest okHttpSpiceRequest = (OkHttpSpiceRequest) request.getSpiceRequest(); okHttpSpiceRequest.setOkHttpClient(okHttpClient); } super.addRequest(request, listRequestListener); } protected OkHttpClient getOkHttpClient() { return okHttpClient; } }