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" />
+
+