Parameterized the duration of maxAge and maxStale of the request cache

This commit is contained in:
CappielloAntonio 2021-09-04 15:46:49 +02:00
parent 374a9c0334
commit ea7b79893d
9 changed files with 13 additions and 11 deletions

View file

@ -72,7 +72,7 @@ public class AlbumSongListClient {
} }
private OkHttpClient getOkHttpClient() { private OkHttpClient getOkHttpClient() {
CacheUtil cacheUtil = new CacheUtil(context); CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30);
return new OkHttpClient.Builder() return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor()) .addInterceptor(getHttpLoggingInterceptor())

View file

@ -122,7 +122,7 @@ public class BrowsingClient {
} }
private OkHttpClient getOkHttpClient() { private OkHttpClient getOkHttpClient() {
CacheUtil cacheUtil = new CacheUtil(context); CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30);
return new OkHttpClient.Builder() return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor()) .addInterceptor(getHttpLoggingInterceptor())

View file

@ -57,7 +57,7 @@ public class MediaAnnotationClient {
} }
private OkHttpClient getOkHttpClient() { private OkHttpClient getOkHttpClient() {
CacheUtil cacheUtil = new CacheUtil(context); CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30);
return new OkHttpClient.Builder() return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor()) .addInterceptor(getHttpLoggingInterceptor())

View file

@ -48,7 +48,7 @@ public class MediaLibraryScanningClient {
} }
private OkHttpClient getOkHttpClient() { private OkHttpClient getOkHttpClient() {
CacheUtil cacheUtil = new CacheUtil(context); CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30);
return new OkHttpClient.Builder() return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor()) .addInterceptor(getHttpLoggingInterceptor())

View file

@ -47,7 +47,7 @@ public class MediaRetrievalClient {
} }
private OkHttpClient getOkHttpClient() { private OkHttpClient getOkHttpClient() {
CacheUtil cacheUtil = new CacheUtil(context); CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30);
return new OkHttpClient.Builder() return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor()) .addInterceptor(getHttpLoggingInterceptor())

View file

@ -64,7 +64,7 @@ public class PlaylistClient {
} }
private OkHttpClient getOkHttpClient() { private OkHttpClient getOkHttpClient() {
CacheUtil cacheUtil = new CacheUtil(context); CacheUtil cacheUtil = new CacheUtil(context, 0, 60 * 60 * 24 * 30);
return new OkHttpClient.Builder() return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor()) .addInterceptor(getHttpLoggingInterceptor())

View file

@ -47,7 +47,7 @@ public class SearchingClient {
} }
private OkHttpClient getOkHttpClient() { private OkHttpClient getOkHttpClient() {
CacheUtil cacheUtil = new CacheUtil(context); CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30);
return new OkHttpClient.Builder() return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor()) .addInterceptor(getHttpLoggingInterceptor())

View file

@ -47,7 +47,7 @@ public class SystemClient {
} }
private OkHttpClient getOkHttpClient() { private OkHttpClient getOkHttpClient() {
CacheUtil cacheUtil = new CacheUtil(context); CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30);
return new OkHttpClient.Builder() return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor()) .addInterceptor(getHttpLoggingInterceptor())

View file

@ -9,14 +9,17 @@ import okhttp3.Request;
public class CacheUtil { public class CacheUtil {
private final Context context; private final Context context;
private int maxAge; // 60 seconds
private int maxStale; // 60 * 60 * 24 * 30 = 30 days (60 seconds * 60 minutes * 24 hours * 30 days)
public CacheUtil(Context context) { public CacheUtil(Context context, int maxAge, int maxStale) {
this.context = context; this.context = context;
this.maxAge = maxAge;
this.maxStale = maxStale;
} }
public Interceptor onlineInterceptor = chain -> { public Interceptor onlineInterceptor = chain -> {
okhttp3.Response response = chain.proceed(chain.request()); okhttp3.Response response = chain.proceed(chain.request());
int maxAge = 60; // 60 seconds
return response.newBuilder() return response.newBuilder()
.header("Cache-Control", "public, max-age=" + maxAge) .header("Cache-Control", "public, max-age=" + maxAge)
.removeHeader("Pragma") .removeHeader("Pragma")
@ -26,7 +29,6 @@ public class CacheUtil {
public Interceptor offlineInterceptor = chain -> { public Interceptor offlineInterceptor = chain -> {
Request request = chain.request(); Request request = chain.request();
if (!isConnected()) { if (!isConnected()) {
int maxStale = 60 * 60 * 24 * 30; // 30 days (60 seconds * 60 minutes * 24 hours * 30 days)
request = request.newBuilder() request = request.newBuilder()
.header("Cache-Control", "public, only-if-cached, max-stale=" + maxStale) .header("Cache-Control", "public, only-if-cached, max-stale=" + maxStale)
.removeHeader("Pragma") .removeHeader("Pragma")