Search in sources :

Example 11 with Artist

use of org.moire.ultrasonic.domain.Artist in project ultrasonic by ultrasonic.

the class SelectArtistActivity method load.

private void load() {
    BackgroundTask<Indexes> task = new TabActivityBackgroundTask<Indexes>(this, true) {

        @Override
        protected Indexes doInBackground() throws Throwable {
            boolean refresh = getIntent().getBooleanExtra(Constants.INTENT_EXTRA_NAME_REFRESH, false);
            MusicService musicService = MusicServiceFactory.getMusicService(SelectArtistActivity.this);
            boolean isOffline = Util.isOffline(SelectArtistActivity.this);
            boolean useId3Tags = Util.getShouldUseId3Tags(SelectArtistActivity.this);
            if (!isOffline && !useId3Tags) {
                musicFolders = musicService.getMusicFolders(refresh, SelectArtistActivity.this, this);
            }
            String musicFolderId = Util.getSelectedMusicFolderId(SelectArtistActivity.this);
            return !isOffline && useId3Tags ? musicService.getArtists(refresh, SelectArtistActivity.this, this) : musicService.getIndexes(musicFolderId, refresh, SelectArtistActivity.this, this);
        }

        @Override
        protected void done(Indexes result) {
            if (result != null) {
                List<Artist> artists = new ArrayList<Artist>(result.getShortcuts().size() + result.getArtists().size());
                artists.addAll(result.getShortcuts());
                artists.addAll(result.getArtists());
                artistListView.setAdapter(new ArtistAdapter(SelectArtistActivity.this, artists));
            }
            // Display selected music folder
            if (musicFolders != null) {
                String musicFolderId = Util.getSelectedMusicFolderId(SelectArtistActivity.this);
                if (musicFolderId == null) {
                    if (folderName != null) {
                        folderName.setText(R.string.select_artist_all_folders);
                    }
                } else {
                    for (MusicFolder musicFolder : musicFolders) {
                        if (musicFolder.getId().equals(musicFolderId)) {
                            if (folderName != null) {
                                folderName.setText(musicFolder.getName());
                            }
                            break;
                        }
                    }
                }
            }
        }
    };
    task.execute();
}
Also used : Artist(org.moire.ultrasonic.domain.Artist) TabActivityBackgroundTask(org.moire.ultrasonic.util.TabActivityBackgroundTask) MusicService(org.moire.ultrasonic.service.MusicService) ArtistAdapter(org.moire.ultrasonic.view.ArtistAdapter) ArrayList(java.util.ArrayList) Indexes(org.moire.ultrasonic.domain.Indexes) MusicFolder(org.moire.ultrasonic.domain.MusicFolder)

Aggregations

Artist (org.moire.ultrasonic.domain.Artist)11 AdapterView (android.widget.AdapterView)5 ArrayList (java.util.ArrayList)5 MusicDirectory (org.moire.ultrasonic.domain.MusicDirectory)4 Entry (org.moire.ultrasonic.domain.MusicDirectory.Entry)4 MusicFolder (org.moire.ultrasonic.domain.MusicFolder)3 MenuInflater (android.view.MenuInflater)2 MenuItem (android.view.MenuItem)2 File (java.io.File)2 Indexes (org.moire.ultrasonic.domain.Indexes)2 ArtistAdapter (org.moire.ultrasonic.view.ArtistAdapter)2 Intent (android.content.Intent)1 View (android.view.View)1 ListView (android.widget.ListView)1 TextView (android.widget.TextView)1 SearchResult (org.moire.ultrasonic.domain.SearchResult)1 MusicService (org.moire.ultrasonic.service.MusicService)1 MergeAdapter (org.moire.ultrasonic.util.MergeAdapter)1 TabActivityBackgroundTask (org.moire.ultrasonic.util.TabActivityBackgroundTask)1 EntryAdapter (org.moire.ultrasonic.view.EntryAdapter)1