@Override public boolean onMenuItemClick(MenuItem item) { if (item.getGroupId() == getGroupId()) { switch (item.getItemId()) { case FragmentMenuItems.REMOVE_FROM_RECENT: RecentStore.getInstance(mActivity).removeItem(getId()); MusicUtils.refresh(); return true; case FragmentMenuItems.PLAY_SELECTION: MusicUtils.playAll(mActivity, getIdList(), 0, getSourceId(), getSourceType(), false); return true; case FragmentMenuItems.ADD_TO_QUEUE: MusicUtils.addToQueue(mActivity, getIdList(), getSourceId(), getSourceType()); return true; case FragmentMenuItems.ADD_TO_PLAYLIST: ContextMenuBuilder builder = new ContextMenuBuilder(mActivity); MusicUtils.makePlaylistMenu(mActivity, getGroupId(), builder); builder.setHeaderTitle(R.string.add_to_playlist); builder.setCallback( new MenuBuilder.Callback() { @Override public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { return onMenuItemClick(item); } @Override public void onMenuModeChange(MenuBuilder menu) { // do nothing } }); builder.show(null, null); return true; case FragmentMenuItems.NEW_PLAYLIST: CreateNewPlaylist.getInstance(getIdList()).show(mFragmentManager, "CreatePlaylist"); return true; case FragmentMenuItems.RENAME_PLAYLIST: RenamePlaylist.getInstance(getId()).show(mFragmentManager, "RenameDialog"); return true; case FragmentMenuItems.PLAYLIST_SELECTED: final long mPlaylistId = item.getIntent().getLongExtra("playlist", 0); MusicUtils.addToPlaylist(mActivity, getIdList(), mPlaylistId); return true; case FragmentMenuItems.MORE_BY_ARTIST: NavUtils.openArtistProfile(mActivity, getArtistName()); return true; case FragmentMenuItems.DELETE: onDeleteClicked(); return true; case FragmentMenuItems.USE_AS_RINGTONE: MusicUtils.setRingtone(mActivity, getId()); return true; case FragmentMenuItems.REMOVE_FROM_PLAYLIST: removeFromPlaylist(); return true; case FragmentMenuItems.REMOVE_FROM_QUEUE: removeFromQueue(); return true; case FragmentMenuItems.PLAY_NEXT: playNext(); return true; case FragmentMenuItems.PLAY_ALBUM: playAlbum(); return true; default: break; } } return false; }