I use RoboSpice with OkHttpClient module (OkHttpSpiceService) for quite long time requests. For that purposes I need to increase timeouts of http client so I made and set them on 120 seconds.
@Override
protected OkHttpClient createOkHttpClient() {
OkHttpClient okHttpClient = super.createOkHttpClient();
okHttpClient.setConnectTimeout(120, TimeUnit.SECONDS);
okHttpClient.setReadTimeout(120, TimeUnit.SECONDS);
okHttpClient.setWriteTimeout(120, TimeUnit.SECONDS);
return okHttpClient;
}
I do not use caching option so I call SpiceRequest by
getSpiceManager().execute(spiceRequest, this);
After this SpiceService invoking loadDataFromNetwork() every 30 seconds (3 times) when response is not comming or is not reachable in this short time.
Is any posibilites to increase or change of time of invoking loadDataFromNetwork()? I know that I get response after one minute but using this methods I cannot reach proper response.
By default RoboSpice uses a DefaultRetryPolicy like this:
What you can do is to implement your own retry policy by extending DefaultRetryPolicy class, and by overriding this two methods:
Than you can use your custom retry policy like this:
Take a look here: https://github.com/stephanenicolas/robospice/wiki/Advanced-RoboSpice-Usages-and-FAQ#how-can-i-setup-a-retry-policy-for-failed-requests-
By the way, this does not stop RoboSpice from using of cache. To really stop SpiceService from using the cache you need to override
createCacheManagermethod in your ownOkHttpSpiceServiceimplementation like this:}