From c522382da24524366a69ebdb93241fe8bd270ef7 Mon Sep 17 00:00:00 2001 From: CappielloAntonio Date: Tue, 31 Aug 2021 09:58:14 +0200 Subject: [PATCH] Added the option to set the size of the cover images --- .../play/glide/CustomGlideRequest.java | 22 +++++++++++-------- .../play/util/PreferenceUtil.java | 5 +++++ app/src/main/res/values/arrays.xml | 12 ++++++++++ app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/global_preferences.xml | 9 ++++++++ 5 files changed, 40 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/play/glide/CustomGlideRequest.java b/app/src/main/java/com/cappielloantonio/play/glide/CustomGlideRequest.java index f543b98c..97efff24 100644 --- a/app/src/main/java/com/cappielloantonio/play/glide/CustomGlideRequest.java +++ b/app/src/main/java/com/cappielloantonio/play/glide/CustomGlideRequest.java @@ -2,7 +2,6 @@ package com.cappielloantonio.play.glide; import android.content.Context; import android.graphics.Bitmap; -import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import androidx.core.content.res.ResourcesCompat; @@ -15,6 +14,7 @@ import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.signature.ObjectKey; import com.cappielloantonio.play.App; import com.cappielloantonio.play.util.MusicUtil; +import com.cappielloantonio.play.util.PreferenceUtil; import java.util.Map; @@ -38,17 +38,23 @@ public class CustomGlideRequest { .centerCrop(); } - public static String createUrl(String item) { + public static String createUrl(String item, int size) { String url = App.getSubsonicClientInstance(App.getInstance(), false).getUrl(); Map params = App.getSubsonicClientInstance(App.getInstance(), false).getParams(); - return url + "getCoverArt" + + url = url + "getCoverArt" + "?u=" + params.get("u") + "&s=" + params.get("s") + "&t=" + params.get("t") + "&v=" + params.get("v") + "&c=" + params.get("c") + "&id=" + item; + + if (size != -1) { + return url + "&size" + size; + } + + return url; } public static class Builder { @@ -58,13 +64,11 @@ public class CustomGlideRequest { private Builder(Context context, String item, String category, String custom) { this.requestManager = Glide.with(context); - if(item != null) { - this.item = createUrl(item); - } - else if(custom != null) { + if (item != null) { + this.item = createUrl(item, PreferenceUtil.getInstance(context).getImageSize()); + } else if (custom != null) { this.item = custom; - } - else { + } else { this.item = MusicUtil.getDefaultPicPerCategory(category); } diff --git a/app/src/main/java/com/cappielloantonio/play/util/PreferenceUtil.java b/app/src/main/java/com/cappielloantonio/play/util/PreferenceUtil.java index 8c02b303..643e53df 100644 --- a/app/src/main/java/com/cappielloantonio/play/util/PreferenceUtil.java +++ b/app/src/main/java/com/cappielloantonio/play/util/PreferenceUtil.java @@ -19,6 +19,7 @@ public class PreferenceUtil { public static final String POSITION = "position"; public static final String PROGRESS = "progress"; public static final String IMAGE_CACHE_SIZE = "image_cache_size"; + public static final String IMAGE_SIZE = "image_size"; public static final String MEDIA_CACHE_SIZE = "media_cache_size"; private static PreferenceUtil sInstance; @@ -127,4 +128,8 @@ public class PreferenceUtil { public final int getMediaCacheSize() { return Integer.parseInt(mPreferences.getString(MEDIA_CACHE_SIZE, "400000000")); } + + public final int getImageSize() { + return Integer.parseInt(mPreferences.getString(IMAGE_SIZE, "-1")); + } } \ No newline at end of file diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 0d1e18d1..d959e659 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -44,4 +44,16 @@ 400000000 200000000 + + + High + Normal + Low + + + + -1 + 500 + 300 + \ 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 c2a2091c..da8aba8f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -6,6 +6,7 @@ Choose theme Covers cache Media cache + Cover size Library Home Search diff --git a/app/src/main/res/xml/global_preferences.xml b/app/src/main/res/xml/global_preferences.xml index 25a44b91..30cba9da 100644 --- a/app/src/main/res/xml/global_preferences.xml +++ b/app/src/main/res/xml/global_preferences.xml @@ -19,6 +19,15 @@ app:title="@string/media_cache" app:useSimpleSummaryProvider="true" /> + +