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 b9da81a5..2979838d 100644 --- a/app/src/main/java/com/cappielloantonio/play/glide/CustomGlideRequest.java +++ b/app/src/main/java/com/cappielloantonio/play/glide/CustomGlideRequest.java @@ -51,7 +51,9 @@ public class CustomGlideRequest { "&c=" + params.get("c") + "&id=" + item; - if (size != -1) { url = url + "&size=" + size; } + if (size != -1) { + url = url + "&size=" + size; + } Log.d(TAG, "createUrl() " + url); @@ -65,9 +67,11 @@ public class CustomGlideRequest { private Builder(Context context, String item, String category, String custom) { this.requestManager = Glide.with(context); - if (item != null) { + if (PreferenceUtil.getInstance(context).isDataSavingMode()) { + this.item = MusicUtil.getDefaultPicPerCategory(category); + } else if (item != null && !PreferenceUtil.getInstance(context).isDataSavingMode()) { this.item = createUrl(item, PreferenceUtil.getInstance(context).getImageSize()); - } else if (custom != null) { + } else if (custom != null && !PreferenceUtil.getInstance(context).isDataSavingMode()) { this.item = custom; } 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 71065ce7..259aba8c 100644 --- a/app/src/main/java/com/cappielloantonio/play/util/PreferenceUtil.java +++ b/app/src/main/java/com/cappielloantonio/play/util/PreferenceUtil.java @@ -26,6 +26,7 @@ public class PreferenceUtil { public static final String AUDIO_TRANSCODE_FORMAT_WIFI = "audio_transcode_format_wifi"; public static final String AUDIO_TRANSCODE_FORMAT_MOBILE = "audio_transcode_format_mobile"; public static final String WIFI_ONLY = "wifi_only"; + public static final String DATA_SAVING_MODE = "data_saving_mode"; private static PreferenceUtil sInstance; private final SharedPreferences mPreferences; @@ -157,4 +158,8 @@ public class PreferenceUtil { public final boolean isWifiOnly() { return mPreferences.getBoolean(WIFI_ONLY, false); } + + public final boolean isDataSavingMode() { + return mPreferences.getBoolean(DATA_SAVING_MODE, false); + } } \ 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 434b367f..dfa61839 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -144,6 +144,8 @@ Transcode format in Mobile Transcode format in WiFi Covers cache + Data saving mode summary + Data saving mode https://github.com/CappielloAntonio/play-for-subsonic Follow the development Github diff --git a/app/src/main/res/xml/global_preferences.xml b/app/src/main/res/xml/global_preferences.xml index d80b30c4..75a6bfe0 100644 --- a/app/src/main/res/xml/global_preferences.xml +++ b/app/src/main/res/xml/global_preferences.xml @@ -79,6 +79,12 @@ android:summary="@string/settings_wifi_only_summary" android:key="wifi_only" /> + +