diff options
author | ByteHamster <ByteHamster@users.noreply.github.com> | 2021-07-30 21:54:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-30 21:54:22 +0200 |
commit | 324761fd09967f1c4356c7b2f4a010e5e18910e3 (patch) | |
tree | 95fbbc4c415efd1db98319860818407e7eabbdb9 /core/src/main/java/de | |
parent | 67579f9a22c0c835abecbcec33d69e4374b38a65 (diff) | |
parent | 6d63186e3b19b5ab8cb7350689ac30716496bb01 (diff) | |
download | AntennaPod-324761fd09967f1c4356c7b2f4a010e5e18910e3.zip |
Merge pull request #5308 from ByteHamster/remove-cache-size
Remove image cache size setting and choose size automatically
Diffstat (limited to 'core/src/main/java/de')
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/glide/ApGlideModule.java | 13 | ||||
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java | 15 |
2 files changed, 10 insertions, 18 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/glide/ApGlideModule.java b/core/src/main/java/de/danoeh/antennapod/core/glide/ApGlideModule.java index b3adc567e..8ad04cb47 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/glide/ApGlideModule.java +++ b/core/src/main/java/de/danoeh/antennapod/core/glide/ApGlideModule.java @@ -1,6 +1,8 @@ package de.danoeh.antennapod.core.glide; +import android.annotation.SuppressLint; import android.content.Context; +import android.util.Log; import androidx.annotation.NonNull; import com.bumptech.glide.Glide; @@ -16,7 +18,6 @@ import de.danoeh.antennapod.core.util.EmbeddedChapterImage; import java.io.InputStream; import com.bumptech.glide.request.RequestOptions; -import de.danoeh.antennapod.core.preferences.UserPreferences; import java.nio.ByteBuffer; /** @@ -24,12 +25,18 @@ import java.nio.ByteBuffer; */ @GlideModule public class ApGlideModule extends AppGlideModule { + private static final String TAG = "ApGlideModule"; + private static final long MEGABYTES = 1024 * 1024; + private static final long GIGABYTES = 1024 * 1024 * 1024; @Override public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) { builder.setDefaultRequestOptions(new RequestOptions().format(DecodeFormat.PREFER_ARGB_8888)); - builder.setDiskCache(new InternalCacheDiskCacheFactory(context, - UserPreferences.getImageCacheSize())); + @SuppressLint("UsableSpace") + long spaceAvailable = context.getCacheDir().getUsableSpace(); + long imageCacheSize = (spaceAvailable > 2 * GIGABYTES) ? (250 * MEGABYTES) : (50 * MEGABYTES); + Log.d(TAG, "Free space on cache dir: " + spaceAvailable + ", using image cache size: " + imageCacheSize); + builder.setDiskCache(new InternalCacheDiskCacheFactory(context, imageCacheSize)); } @Override diff --git a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java index 046e5a5a7..91006d446 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java +++ b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java @@ -116,7 +116,6 @@ public class UserPreferences { // Other private static final String PREF_DATA_FOLDER = "prefDataFolder"; - public static final String PREF_IMAGE_CACHE_SIZE = "prefImageCacheSize"; public static final String PREF_DELETE_REMOVES_FROM_QUEUE = "prefDeleteRemovesFromQueue"; public static final String PREF_USAGE_COUNTING_DATE = "prefUsageCounting"; @@ -129,8 +128,6 @@ public class UserPreferences { private static final String PREF_FAST_FORWARD_SECS = "prefFastForwardSecs"; private static final String PREF_REWIND_SECS = "prefRewindSecs"; private static final String PREF_QUEUE_LOCKED = "prefQueueLocked"; - private static final String IMAGE_CACHE_DEFAULT_VALUE = "100"; - private static final int IMAGE_CACHE_SIZE_MINIMUM = 20; private static final String PREF_LEFT_VOLUME = "prefLeftVolume"; private static final String PREF_RIGHT_VOLUME = "prefRightVolume"; @@ -616,18 +613,6 @@ public class UserPreferences { return Build.VERSION.SDK_INT < 29 && prefs.getBoolean(PREF_ENABLE_AUTODL_WIFI_FILTER, false); } - public static int getImageCacheSize() { - String cacheSizeString = prefs.getString(PREF_IMAGE_CACHE_SIZE, IMAGE_CACHE_DEFAULT_VALUE); - int cacheSizeInt = Integer.parseInt(cacheSizeString); - // if the cache size is too small the user won't get any images at all - // that's bad, force it back to the default. - if (cacheSizeInt < IMAGE_CACHE_SIZE_MINIMUM) { - prefs.edit().putString(PREF_IMAGE_CACHE_SIZE, IMAGE_CACHE_DEFAULT_VALUE).apply(); - cacheSizeInt = Integer.parseInt(IMAGE_CACHE_DEFAULT_VALUE); - } - return cacheSizeInt * 1024 * 1024; - } - public static int getFastForwardSecs() { return prefs.getInt(PREF_FAST_FORWARD_SECS, 30); } |