From 0b57cd31765d67cce54ad6b55075ce4ba69ce1b9 Mon Sep 17 00:00:00 2001 From: CappielloAntonio Date: Tue, 10 Aug 2021 14:05:07 +0200 Subject: [PATCH] TEST - Added media cache in exoplayer --- .../play/service/MultiPlayer.java | 7 +++++-- app/src/main/res/values/arrays.xml | 15 +++++++++++++++ app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/global_preferences.xml | 9 +++++++++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/play/service/MultiPlayer.java b/app/src/main/java/com/cappielloantonio/play/service/MultiPlayer.java index aec858ae..d05b9a24 100644 --- a/app/src/main/java/com/cappielloantonio/play/service/MultiPlayer.java +++ b/app/src/main/java/com/cappielloantonio/play/service/MultiPlayer.java @@ -32,8 +32,8 @@ public class MultiPlayer implements Playback { private final Context context; private final SimpleExoPlayer exoPlayer; - private final SimpleCache simpleCache; + private SimpleCache simpleCache; private PlaybackCallbacks callbacks; private final ExoPlayer.EventListener eventListener = new ExoPlayer.EventListener() { @@ -94,9 +94,11 @@ public class MultiPlayer implements Playback { public MultiPlayer(Context context) { this.context = context; + setSimpleCache(context); // Create a read-only cache data source factory using the download cache. DataSource.Factory cacheDataSourceFactory = new CacheDataSource.Factory() + .setCache(simpleCache) .setCache(DownloadUtil.getDownloadCache(context)) .setUpstreamDataSourceFactory(DownloadUtil.getHttpDataSourceFactory(context)) .setCacheWriteDataSinkFactory(null); // Disable writing. @@ -115,7 +117,9 @@ public class MultiPlayer implements Playback { exoPlayer.addListener(eventListener); exoPlayer.prepare(); + } + private void setSimpleCache(Context context) { long cacheSize = PreferenceUtil.getInstance(context).getMediaCacheSize(); LeastRecentlyUsedCacheEvictor recentlyUsedCache = new LeastRecentlyUsedCacheEvictor(cacheSize); ExoDatabaseProvider databaseProvider = new ExoDatabaseProvider(context); @@ -168,7 +172,6 @@ public class MultiPlayer implements Playback { @Override public boolean isPlaying() { return exoPlayer.getPlayWhenReady() && exoPlayer.getPlaybackSuppressionReason() == Player.PLAYBACK_SUPPRESSION_REASON_NONE; - } @Override diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 91b96076..0d1e18d1 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -29,4 +29,19 @@ 200000000 + + Unlimited + 2GB + 1GB + 400MB + 200MB + + + + 4000000000 + 2000000000 + 1000000000 + 400000000 + 200000000 + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 59d38462..1bd8c488 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5,6 +5,7 @@ Search title, artists or albums Choose theme Covers cache + Media cache Library Home Search diff --git a/app/src/main/res/xml/global_preferences.xml b/app/src/main/res/xml/global_preferences.xml index e1bac52a..73535475 100644 --- a/app/src/main/res/xml/global_preferences.xml +++ b/app/src/main/res/xml/global_preferences.xml @@ -10,6 +10,15 @@ app:title="@string/covers_cache" app:useSimpleSummaryProvider="true" /> + +