Search in sources :

Example 1 with EntryAdapter

use of org.moire.ultrasonic.view.EntryAdapter in project ultrasonic by ultrasonic.

the class SearchActivity method populateList.

private void populateList() {
    mergeAdapter = new MergeAdapter();
    mergeAdapter.addView(searchButton, true);
    if (searchResult != null) {
        List<Artist> artists = searchResult.getArtists();
        if (!artists.isEmpty()) {
            mergeAdapter.addView(artistsHeading);
            List<Artist> displayedArtists = new ArrayList<Artist>(artists.subList(0, Math.min(DEFAULT_ARTISTS, artists.size())));
            artistAdapter = new ArtistAdapter(this, displayedArtists);
            mergeAdapter.addAdapter(artistAdapter);
            if (artists.size() > DEFAULT_ARTISTS) {
                moreArtistsAdapter = mergeAdapter.addView(moreArtistsButton, true);
            }
        }
        List<MusicDirectory.Entry> albums = searchResult.getAlbums();
        if (!albums.isEmpty()) {
            mergeAdapter.addView(albumsHeading);
            List<MusicDirectory.Entry> displayedAlbums = new ArrayList<MusicDirectory.Entry>(albums.subList(0, Math.min(DEFAULT_ALBUMS, albums.size())));
            albumAdapter = new EntryAdapter(this, getImageLoader(), displayedAlbums, false);
            mergeAdapter.addAdapter(albumAdapter);
            if (albums.size() > DEFAULT_ALBUMS) {
                moreAlbumsAdapter = mergeAdapter.addView(moreAlbumsButton, true);
            }
        }
        List<MusicDirectory.Entry> songs = searchResult.getSongs();
        if (!songs.isEmpty()) {
            mergeAdapter.addView(songsHeading);
            List<MusicDirectory.Entry> displayedSongs = new ArrayList<MusicDirectory.Entry>(songs.subList(0, Math.min(DEFAULT_SONGS, songs.size())));
            songAdapter = new EntryAdapter(this, getImageLoader(), displayedSongs, false);
            mergeAdapter.addAdapter(songAdapter);
            if (songs.size() > DEFAULT_SONGS) {
                moreSongsAdapter = mergeAdapter.addView(moreSongsButton, true);
            }
        }
        boolean empty = searchResult.getArtists().isEmpty() && searchResult.getAlbums().isEmpty() && searchResult.getSongs().isEmpty();
        searchButton.setText(empty ? R.string.search_no_match : R.string.search_search);
    }
    list.setAdapter(mergeAdapter);
}
Also used : Artist(org.moire.ultrasonic.domain.Artist) Entry(org.moire.ultrasonic.domain.MusicDirectory.Entry) MusicDirectory(org.moire.ultrasonic.domain.MusicDirectory) ArtistAdapter(org.moire.ultrasonic.view.ArtistAdapter) MergeAdapter(org.moire.ultrasonic.util.MergeAdapter) EntryAdapter(org.moire.ultrasonic.view.EntryAdapter) ArrayList(java.util.ArrayList)

Aggregations

ArrayList (java.util.ArrayList)1 Artist (org.moire.ultrasonic.domain.Artist)1 MusicDirectory (org.moire.ultrasonic.domain.MusicDirectory)1 Entry (org.moire.ultrasonic.domain.MusicDirectory.Entry)1 MergeAdapter (org.moire.ultrasonic.util.MergeAdapter)1 ArtistAdapter (org.moire.ultrasonic.view.ArtistAdapter)1 EntryAdapter (org.moire.ultrasonic.view.EntryAdapter)1