diff options
-rw-r--r-- | res/values/strings.xml | 1 | ||||
-rw-r--r-- | src/com/cyanogenmod/eleven/menu/FragmentMenuItems.java | 1 | ||||
-rw-r--r-- | src/com/cyanogenmod/eleven/utils/PopupMenuHelper.java | 13 | ||||
-rw-r--r-- | src/com/cyanogenmod/eleven/utils/SongPopupMenuHelper.java | 5 |
4 files changed, 20 insertions, 0 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 5343188..7e96954 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -99,6 +99,7 @@ <!-- Context menu items --> <string name="context_menu_play_selection">Play</string> <string name="context_menu_play_next">Play next</string> + <string name="context_menu_play_album">Play album</string> <string name="context_menu_more_by_artist">More by artist</string> <string name="context_menu_rename_playlist">Rename</string> <string name="context_menu_delete">Delete</string> diff --git a/src/com/cyanogenmod/eleven/menu/FragmentMenuItems.java b/src/com/cyanogenmod/eleven/menu/FragmentMenuItems.java index ff9d4c8..df34ef4 100644 --- a/src/com/cyanogenmod/eleven/menu/FragmentMenuItems.java +++ b/src/com/cyanogenmod/eleven/menu/FragmentMenuItems.java @@ -21,6 +21,7 @@ package com.cyanogenmod.eleven.menu; public interface FragmentMenuItems { int PLAY_SELECTION = 10; // play the selected song, album, etc. int PLAY_NEXT = 20; // queue a track to be played next + int PLAY_ALBUM = 25; // play the album that this track belongs to // SHUFFLE = 30 // defined in res/menu int ADD_TO_QUEUE = 40; // add to end of current queue int ADD_TO_PLAYLIST = 50; // append to a playlist diff --git a/src/com/cyanogenmod/eleven/utils/PopupMenuHelper.java b/src/com/cyanogenmod/eleven/utils/PopupMenuHelper.java index 910ee83..f3d1239 100644 --- a/src/com/cyanogenmod/eleven/utils/PopupMenuHelper.java +++ b/src/com/cyanogenmod/eleven/utils/PopupMenuHelper.java @@ -152,6 +152,13 @@ public abstract class PopupMenuHelper implements PopupMenu.OnMenuItemClickListen } /** + * Called when the user clicks "play album". + */ + protected void playAlbum() { + throw new UnsupportedOperationException("Method Not Implemented!"); + } + + /** * Creates the pop up menu by inflating the menu items * @param menu Menu to use for adding to */ @@ -201,6 +208,7 @@ public abstract class PopupMenuHelper implements PopupMenu.OnMenuItemClickListen return new int[] { FragmentMenuItems.PLAY_SELECTION, FragmentMenuItems.PLAY_NEXT, + FragmentMenuItems.PLAY_ALBUM, FragmentMenuItems.ADD_TO_QUEUE, FragmentMenuItems.ADD_TO_PLAYLIST, FragmentMenuItems.MORE_BY_ARTIST, @@ -295,6 +303,8 @@ public abstract class PopupMenuHelper implements PopupMenu.OnMenuItemClickListen return R.string.remove_from_queue; case FragmentMenuItems.PLAY_NEXT: return R.string.context_menu_play_next; + case FragmentMenuItems.PLAY_ALBUM: + return R.string.context_menu_play_album; case FragmentMenuItems.CHANGE_IMAGE: return R.string.context_menu_change_image; } @@ -371,6 +381,9 @@ public abstract class PopupMenuHelper implements PopupMenu.OnMenuItemClickListen case FragmentMenuItems.PLAY_NEXT: playNext(); return true; + case FragmentMenuItems.PLAY_ALBUM: + playAlbum(); + return true; default: break; } diff --git a/src/com/cyanogenmod/eleven/utils/SongPopupMenuHelper.java b/src/com/cyanogenmod/eleven/utils/SongPopupMenuHelper.java index e8b01a5..17fc4d5 100644 --- a/src/com/cyanogenmod/eleven/utils/SongPopupMenuHelper.java +++ b/src/com/cyanogenmod/eleven/utils/SongPopupMenuHelper.java @@ -47,6 +47,11 @@ public abstract class SongPopupMenuHelper extends PopupMenuHelper { } @Override + protected void playAlbum() { + MusicUtils.playAlbum(mActivity, mSong.mAlbumId, 0, false); + } + + @Override protected long[] getIdList() { return new long[] { mSong.mSongId }; } |