@Override
  public void onCreateContextMenu(
      ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, view, menuInfo);
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
    Object selectedItem = list.getItemAtPosition(info.position);

    boolean isArtist = selectedItem instanceof Artist;
    boolean isAlbum =
        selectedItem instanceof MusicDirectory.Entry
            && ((MusicDirectory.Entry) selectedItem).isDirectory();
    boolean isSong =
        selectedItem instanceof MusicDirectory.Entry
            && (!((MusicDirectory.Entry) selectedItem).isDirectory())
            && (!((MusicDirectory.Entry) selectedItem).isVideo());

    if (isArtist || isAlbum) {
      MenuInflater inflater = getMenuInflater();
      inflater.inflate(R.menu.select_album_context, menu);
    } else if (isSong) {
      MenuInflater inflater = getMenuInflater();
      inflater.inflate(R.menu.select_song_context, menu);
    }
  }