Пример #1
0
  @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;
  }