@Override
 public boolean onSearchRequested() {
   Bundle appData = new Bundle();
   appData.putInt(LibraryActivity.SERVER_ID, mLibrary.getServer().getId());
   startSearch(null, false, appData, false);
   return true;
 }
 public int getGroupCount() {
   try {
     return mPlaylist.getArtists().size();
   } catch (Exception ex) {
     GuiUtil.showErrorAndFinish(mActivity, ex);
     return 0;
   }
 }
 public Object getGroup(int groupPosition) {
   try {
     return mPlaylist.getArtists().get(groupPosition);
   } catch (Exception ex) {
     GuiUtil.showErrorAndFinish(mActivity, ex);
     return 0;
   }
 }
  @Override
  public boolean onChildClick(
      ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
    try {
      Artist artist = mLibrary.getArtists().get(groupPosition);
      Album album = artist.getAlbums().get(childPosition);

      Intent intent = new Intent(this, AlbumActivity.class);
      intent.putExtra(LibraryActivity.SERVER_ID, mLibrary.getServer().getId());
      intent.putExtra(LibraryActivity.ALBUM_ID, album.getId());
      startActivity(intent);

      return true;
    } catch (Exception ex) {
      Log.e("ArtistListAdapter", ex.toString());
      ex.printStackTrace();
      return super.onChildClick(parent, v, groupPosition, childPosition, id);
    }
  }