diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java index 6a4bdeea..27ed199f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java @@ -24,6 +24,7 @@ import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.SongLoader; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; +import com.kabouzeid.gramophone.util.PreferenceUtil; import java.io.File; import java.util.ArrayList; @@ -176,6 +177,9 @@ public class MusicPlayerRemote { public static void openQueue(final ArrayList queue, final int startPosition, final boolean startPlaying) { if (!tryToHandleOpenPlayingQueue(queue, startPosition, startPlaying) && musicService != null) { musicService.openQueue(queue, startPosition, startPlaying); + if (!PreferenceUtil.getInstance(musicService).rememberShuffle()){ + setShuffleMode(MusicService.SHUFFLE_MODE_NONE); + } } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java index 5b85cbe7..32404835 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java @@ -82,6 +82,8 @@ public final class PreferenceUtil { public static final String LIBRARY_CATEGORIES = "library_categories"; + private static final String REMEMBER_SHUFFLE = "remember_shuffle"; + private static PreferenceUtil sInstance; private final SharedPreferences mPreferences; @@ -432,6 +434,10 @@ public final class PreferenceUtil { return mPreferences.getBoolean(INTRO_SHOWN, false); } + public final boolean rememberShuffle() { + return mPreferences.getBoolean(REMEMBER_SHUFFLE, true); + } + public final String autoDownloadImagesPolicy() { return mPreferences.getString(AUTO_DOWNLOAD_IMAGES_POLICY, "only_wifi"); } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 576b338a..f0a5f037 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -131,6 +131,7 @@ Last added playlist interval Show synchronized lyrics Remember last tab + Remember shuffle No equalizer found. "Play a song first, then try again." Delete @@ -165,6 +166,7 @@ Notifications, navigation etc. Currently only synchronized lyrics in LRC format are supported. Either embedded or as a separate file. Go to the last opened tab on launch + Shuffle mode will stay on when selecting a new list of songs "Couldn\u2019t download a matching album cover." Search your library… Favorites diff --git a/app/src/main/res/xml/pref_audio.xml b/app/src/main/res/xml/pref_audio.xml index 3887155e..c992fb78 100644 --- a/app/src/main/res/xml/pref_audio.xml +++ b/app/src/main/res/xml/pref_audio.xml @@ -15,6 +15,12 @@ android:summary="@string/pref_summary_gapless_playback" android:title="@string/pref_title_gapless_playback" /> + +