diff --git a/app/src/main/java/com/cappielloantonio/play/subsonic/api/albumsonglist/AlbumSongListClient.java b/app/src/main/java/com/cappielloantonio/play/subsonic/api/albumsonglist/AlbumSongListClient.java index 734f5a62..4c933cc8 100644 --- a/app/src/main/java/com/cappielloantonio/play/subsonic/api/albumsonglist/AlbumSongListClient.java +++ b/app/src/main/java/com/cappielloantonio/play/subsonic/api/albumsonglist/AlbumSongListClient.java @@ -72,7 +72,7 @@ public class AlbumSongListClient { } private OkHttpClient getOkHttpClient() { - CacheUtil cacheUtil = new CacheUtil(context); + CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30); return new OkHttpClient.Builder() .addInterceptor(getHttpLoggingInterceptor()) diff --git a/app/src/main/java/com/cappielloantonio/play/subsonic/api/browsing/BrowsingClient.java b/app/src/main/java/com/cappielloantonio/play/subsonic/api/browsing/BrowsingClient.java index 1b71f7ff..0d2b95bc 100644 --- a/app/src/main/java/com/cappielloantonio/play/subsonic/api/browsing/BrowsingClient.java +++ b/app/src/main/java/com/cappielloantonio/play/subsonic/api/browsing/BrowsingClient.java @@ -122,7 +122,7 @@ public class BrowsingClient { } private OkHttpClient getOkHttpClient() { - CacheUtil cacheUtil = new CacheUtil(context); + CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30); return new OkHttpClient.Builder() .addInterceptor(getHttpLoggingInterceptor()) diff --git a/app/src/main/java/com/cappielloantonio/play/subsonic/api/mediaannotation/MediaAnnotationClient.java b/app/src/main/java/com/cappielloantonio/play/subsonic/api/mediaannotation/MediaAnnotationClient.java index ca90e546..c21bbb2e 100644 --- a/app/src/main/java/com/cappielloantonio/play/subsonic/api/mediaannotation/MediaAnnotationClient.java +++ b/app/src/main/java/com/cappielloantonio/play/subsonic/api/mediaannotation/MediaAnnotationClient.java @@ -57,7 +57,7 @@ public class MediaAnnotationClient { } private OkHttpClient getOkHttpClient() { - CacheUtil cacheUtil = new CacheUtil(context); + CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30); return new OkHttpClient.Builder() .addInterceptor(getHttpLoggingInterceptor()) diff --git a/app/src/main/java/com/cappielloantonio/play/subsonic/api/medialibraryscanning/MediaLibraryScanningClient.java b/app/src/main/java/com/cappielloantonio/play/subsonic/api/medialibraryscanning/MediaLibraryScanningClient.java index cb921ef9..acf15194 100644 --- a/app/src/main/java/com/cappielloantonio/play/subsonic/api/medialibraryscanning/MediaLibraryScanningClient.java +++ b/app/src/main/java/com/cappielloantonio/play/subsonic/api/medialibraryscanning/MediaLibraryScanningClient.java @@ -48,7 +48,7 @@ public class MediaLibraryScanningClient { } private OkHttpClient getOkHttpClient() { - CacheUtil cacheUtil = new CacheUtil(context); + CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30); return new OkHttpClient.Builder() .addInterceptor(getHttpLoggingInterceptor()) diff --git a/app/src/main/java/com/cappielloantonio/play/subsonic/api/mediaretrieval/MediaRetrievalClient.java b/app/src/main/java/com/cappielloantonio/play/subsonic/api/mediaretrieval/MediaRetrievalClient.java index 44e6df45..d5758da2 100644 --- a/app/src/main/java/com/cappielloantonio/play/subsonic/api/mediaretrieval/MediaRetrievalClient.java +++ b/app/src/main/java/com/cappielloantonio/play/subsonic/api/mediaretrieval/MediaRetrievalClient.java @@ -47,7 +47,7 @@ public class MediaRetrievalClient { } private OkHttpClient getOkHttpClient() { - CacheUtil cacheUtil = new CacheUtil(context); + CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30); return new OkHttpClient.Builder() .addInterceptor(getHttpLoggingInterceptor()) diff --git a/app/src/main/java/com/cappielloantonio/play/subsonic/api/playlist/PlaylistClient.java b/app/src/main/java/com/cappielloantonio/play/subsonic/api/playlist/PlaylistClient.java index 56830bab..b89bfcb6 100644 --- a/app/src/main/java/com/cappielloantonio/play/subsonic/api/playlist/PlaylistClient.java +++ b/app/src/main/java/com/cappielloantonio/play/subsonic/api/playlist/PlaylistClient.java @@ -64,7 +64,7 @@ public class PlaylistClient { } private OkHttpClient getOkHttpClient() { - CacheUtil cacheUtil = new CacheUtil(context); + CacheUtil cacheUtil = new CacheUtil(context, 0, 60 * 60 * 24 * 30); return new OkHttpClient.Builder() .addInterceptor(getHttpLoggingInterceptor()) diff --git a/app/src/main/java/com/cappielloantonio/play/subsonic/api/searching/SearchingClient.java b/app/src/main/java/com/cappielloantonio/play/subsonic/api/searching/SearchingClient.java index 392af581..7083944f 100644 --- a/app/src/main/java/com/cappielloantonio/play/subsonic/api/searching/SearchingClient.java +++ b/app/src/main/java/com/cappielloantonio/play/subsonic/api/searching/SearchingClient.java @@ -47,7 +47,7 @@ public class SearchingClient { } private OkHttpClient getOkHttpClient() { - CacheUtil cacheUtil = new CacheUtil(context); + CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30); return new OkHttpClient.Builder() .addInterceptor(getHttpLoggingInterceptor()) diff --git a/app/src/main/java/com/cappielloantonio/play/subsonic/api/system/SystemClient.java b/app/src/main/java/com/cappielloantonio/play/subsonic/api/system/SystemClient.java index 1f09da80..ae9cdb5e 100644 --- a/app/src/main/java/com/cappielloantonio/play/subsonic/api/system/SystemClient.java +++ b/app/src/main/java/com/cappielloantonio/play/subsonic/api/system/SystemClient.java @@ -47,7 +47,7 @@ public class SystemClient { } private OkHttpClient getOkHttpClient() { - CacheUtil cacheUtil = new CacheUtil(context); + CacheUtil cacheUtil = new CacheUtil(context, 60, 60 * 60 * 24 * 30); return new OkHttpClient.Builder() .addInterceptor(getHttpLoggingInterceptor()) diff --git a/app/src/main/java/com/cappielloantonio/play/subsonic/utils/CacheUtil.java b/app/src/main/java/com/cappielloantonio/play/subsonic/utils/CacheUtil.java index 5f16608f..5dcb796b 100644 --- a/app/src/main/java/com/cappielloantonio/play/subsonic/utils/CacheUtil.java +++ b/app/src/main/java/com/cappielloantonio/play/subsonic/utils/CacheUtil.java @@ -9,14 +9,17 @@ import okhttp3.Request; public class CacheUtil { 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.maxAge = maxAge; + this.maxStale = maxStale; } public Interceptor onlineInterceptor = chain -> { okhttp3.Response response = chain.proceed(chain.request()); - int maxAge = 60; // 60 seconds return response.newBuilder() .header("Cache-Control", "public, max-age=" + maxAge) .removeHeader("Pragma") @@ -26,7 +29,6 @@ public class CacheUtil { public Interceptor offlineInterceptor = chain -> { Request request = chain.request(); if (!isConnected()) { - int maxStale = 60 * 60 * 24 * 30; // 30 days (60 seconds * 60 minutes * 24 hours * 30 days) request = request.newBuilder() .header("Cache-Control", "public, only-if-cached, max-stale=" + maxStale) .removeHeader("Pragma")