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 2f131a72..7a849554 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java
@@ -345,6 +345,14 @@ public class MusicPlayerRemote {
return false;
}
+ public static boolean clearQueue() {
+ if (musicService != null) {
+ musicService.clearQueue();
+ return true;
+ }
+ return false;
+ }
+
public static int getAudioSessionId() {
if (musicService != null) {
return musicService.getAudioSessionId();
diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java
index 71780bf0..85b79f91 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java
@@ -673,6 +673,14 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
notifyChange(QUEUE_CHANGED);
}
+ public void clearQueue() {
+ playingQueue.clear();
+ originalPlayingQueue.clear();
+
+ setPosition(-1);
+ notifyChange(QUEUE_CHANGED);
+ }
+
public void playSongAt(final int position) {
// handle this on the handlers thread to avoid blocking the ui thread
playerHandler.removeMessages(PLAY_SONG);
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java
index 2c81de96..f0ad25e1 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java
@@ -63,8 +63,9 @@ public abstract class AbsPlayerFragment extends AbsMusicServiceFragment implemen
case R.id.action_add_to_playlist:
AddToPlaylistDialog.create(song).show(getFragmentManager(), "ADD_PLAYLIST");
return true;
-// case R.id.action_playing_queue:
-// return true;
+ case R.id.action_clear_playing_queue:
+ MusicPlayerRemote.clearQueue();
+ return true;
case R.id.action_tag_editor:
Intent intent = new Intent(getActivity(), SongTagEditorActivity.class);
intent.putExtra(AbsTagEditorActivity.EXTRA_ID, song.id);
@@ -83,7 +84,7 @@ public abstract class AbsPlayerFragment extends AbsMusicServiceFragment implemen
return false;
}
- protected void toggleFavorite(Song song){
+ protected void toggleFavorite(Song song) {
MusicUtil.toggleFavorite(getActivity(), song);
}
diff --git a/app/src/main/res/menu/menu_player.xml b/app/src/main/res/menu/menu_player.xml
index bb381436..a308099d 100644
--- a/app/src/main/res/menu/menu_player.xml
+++ b/app/src/main/res/menu/menu_player.xml
@@ -12,6 +12,11 @@
android:title="@string/action_shuffle_all"
app:showAsAction="never" />
+
+
- Shuffle album
Shuffle artist
Shuffle playlist
+ Clear playing queue
Last opened
Light
Dark