summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Lee <llee@cyngn.com>2015-04-17 17:08:07 -0700
committerLinus Lee <llee@cyngn.com>2015-04-17 17:08:07 -0700
commit40c5425291bd07cb17a31f8d8169e142a51b7a19 (patch)
treebf3108fff8caf95a7515e8b7094f5d7d349a9150
parent92ad21c7a59997573c70f91814943a546a2d7e4b (diff)
downloadandroid_packages_apps_Eleven-40c5425291bd07cb17a31f8d8169e142a51b7a19.tar.gz
android_packages_apps_Eleven-40c5425291bd07cb17a31f8d8169e142a51b7a19.tar.bz2
android_packages_apps_Eleven-40c5425291bd07cb17a31f8d8169e142a51b7a19.zip
Eleven: Add a play Album option on songs
Change-Id: I62bf42f98ba8457b0121b723b7e4ace218805577
-rw-r--r--res/values/strings.xml1
-rw-r--r--src/com/cyanogenmod/eleven/menu/FragmentMenuItems.java1
-rw-r--r--src/com/cyanogenmod/eleven/utils/PopupMenuHelper.java13
-rw-r--r--src/com/cyanogenmod/eleven/utils/SongPopupMenuHelper.java5
4 files changed, 20 insertions, 0 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 80d7734..fedbac4 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 };
}