From b0b42634992bd0d33c626f227aa2131bd577c1ca Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Thu, 26 Dec 2013 06:11:05 -0800 Subject: #205 Add Show Artist to albums in album lists/search --- .../daneren2005/dsub/fragments/SelectDirectoryFragment.java | 4 ++++ src/github/daneren2005/dsub/fragments/SubsonicFragment.java | 13 +++++++++++++ 2 files changed, 17 insertions(+) (limited to 'src') diff --git a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java index 4ed4123f..d213ecff 100644 --- a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java +++ b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java @@ -256,6 +256,10 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Adapter if(!entry.isVideo() && !Util.isOffline(context) && playlistId == null && (podcastId == null || Util.isOffline(context) && podcastId != null)) { menu.removeItem(R.id.song_menu_remove_playlist); } + // Remove show artists if parent is not set and if not on a album list + if((albumListType == null || entry.getParent() == null) && !Util.isOffline(context)) { + menu.removeItem(R.id.album_menu_show_artist); + } if(podcastId != null && !Util.isOffline(context)) { String status = ((PodcastEpisode)entry).getStatus(); if("completed".equals(status)) { diff --git a/src/github/daneren2005/dsub/fragments/SubsonicFragment.java b/src/github/daneren2005/dsub/fragments/SubsonicFragment.java index ed900b92..224c051b 100644 --- a/src/github/daneren2005/dsub/fragments/SubsonicFragment.java +++ b/src/github/daneren2005/dsub/fragments/SubsonicFragment.java @@ -274,6 +274,9 @@ public class SubsonicFragment extends Fragment { case R.id.album_menu_info: displaySongInfo(entry); break; + case R.id.album_menu_show_artist: + showArtist((MusicDirectory.Entry) selectedItem); + break; case R.id.song_menu_play_now: getDownloadService().clear(); getDownloadService().download(songs, false, true, true, false); @@ -1043,6 +1046,16 @@ public class SubsonicFragment extends Fragment { refresh(); } } + + public void showArtist(MusicDirectory.Entry entry) { + SubsonicFragment fragment = new SelectDirectoryFragment(); + Bundle args = new Bundle(); + args.putString(Constants.INTENT_EXTRA_NAME_ID, entry.getParent()); + args.putString(Constants.INTENT_EXTRA_NAME_NAME, entry.getArtist()); + fragment.setArguments(args); + + replaceFragment(fragment, getRootId(), true); + } public GestureDetector getGestureDetector() { return gestureScanner; -- cgit v1.2.3