Search in sources :

Example 11 with Album

use of com.naman14.timber.models.Album in project Timber by naman14.

the class ArtistSongLoader method getSongsForArtist.

public static ArrayList<Song> getSongsForArtist(Context context, long artistID) {
    Cursor cursor = makeArtistSongCursor(context, artistID);
    ArrayList songsList = new ArrayList();
    if ((cursor != null) && (cursor.moveToFirst()))
        do {
            long id = cursor.getLong(0);
            String title = cursor.getString(1);
            String artist = cursor.getString(2);
            String album = cursor.getString(3);
            int duration = cursor.getInt(4);
            int trackNumber = cursor.getInt(5);
            long albumId = cursor.getInt(6);
            long artistId = artistID;
            songsList.add(new Song(id, albumId, artistID, title, artist, album, duration, trackNumber));
        } while (cursor.moveToNext());
    if (cursor != null)
        cursor.close();
    return songsList;
}
Also used : Song(com.naman14.timber.models.Song) ArrayList(java.util.ArrayList) Cursor(android.database.Cursor)

Example 12 with Album

use of com.naman14.timber.models.Album in project Timber by naman14.

the class PlaylistSongLoader method getSongsInPlaylist.

public static List<Song> getSongsInPlaylist(Context mContext, long playlistID) {
    ArrayList<Song> mSongList = new ArrayList<>();
    context = mContext;
    mPlaylistID = playlistID;
    final int playlistCount = countPlaylist(context, mPlaylistID);
    mCursor = makePlaylistSongCursor(context, mPlaylistID);
    if (mCursor != null) {
        boolean runCleanup = false;
        if (mCursor.getCount() != playlistCount) {
            runCleanup = true;
        }
        if (!runCleanup && mCursor.moveToFirst()) {
            final int playOrderCol = mCursor.getColumnIndexOrThrow(Playlists.Members.PLAY_ORDER);
            int lastPlayOrder = -1;
            do {
                int playOrder = mCursor.getInt(playOrderCol);
                if (playOrder == lastPlayOrder) {
                    runCleanup = true;
                    break;
                }
                lastPlayOrder = playOrder;
            } while (mCursor.moveToNext());
        }
        if (runCleanup) {
            cleanupPlaylist(context, mPlaylistID, mCursor);
            mCursor.close();
            mCursor = makePlaylistSongCursor(context, mPlaylistID);
            if (mCursor != null) {
            }
        }
    }
    if (mCursor != null && mCursor.moveToFirst()) {
        do {
            final long id = mCursor.getLong(mCursor.getColumnIndexOrThrow(MediaStore.Audio.Playlists.Members.AUDIO_ID));
            final String songName = mCursor.getString(mCursor.getColumnIndexOrThrow(AudioColumns.TITLE));
            final String artist = mCursor.getString(mCursor.getColumnIndexOrThrow(AudioColumns.ARTIST));
            final long albumId = mCursor.getLong(mCursor.getColumnIndexOrThrow(AudioColumns.ALBUM_ID));
            final long artistId = mCursor.getLong(mCursor.getColumnIndexOrThrow(AudioColumns.ARTIST_ID));
            final String album = mCursor.getString(mCursor.getColumnIndexOrThrow(AudioColumns.ALBUM));
            final long duration = mCursor.getLong(mCursor.getColumnIndexOrThrow(AudioColumns.DURATION));
            final int durationInSecs = (int) duration / 1000;
            final int tracknumber = mCursor.getInt(mCursor.getColumnIndexOrThrow(AudioColumns.TRACK));
            final Song song = new Song(id, albumId, artistId, songName, artist, album, durationInSecs, tracknumber);
            mSongList.add(song);
        } while (mCursor.moveToNext());
    }
    // Close the cursor
    if (mCursor != null) {
        mCursor.close();
        mCursor = null;
    }
    return mSongList;
}
Also used : Song(com.naman14.timber.models.Song) ArrayList(java.util.ArrayList)

Aggregations

Song (com.naman14.timber.models.Song)8 ArrayList (java.util.ArrayList)6 Cursor (android.database.Cursor)4 Album (com.naman14.timber.models.Album)4 RecyclerView (android.support.v7.widget.RecyclerView)2 View (android.view.View)2 ImageView (android.widget.ImageView)2 TextView (android.widget.TextView)2 DisplayImageOptions (com.nostra13.universalimageloader.core.DisplayImageOptions)2 FadeInBitmapDisplayer (com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer)2 TargetApi (android.annotation.TargetApi)1 ContentResolver (android.content.ContentResolver)1 Bitmap (android.graphics.Bitmap)1 Uri (android.net.Uri)1 Handler (android.os.Handler)1 Palette (android.support.v7.graphics.Palette)1 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1 AlbumSongsAdapter (com.naman14.timber.adapters.AlbumSongsAdapter)1 ArtistInfoListener (com.naman14.timber.lastfmapi.callbacks.ArtistInfoListener)1 ArtistQuery (com.naman14.timber.lastfmapi.models.ArtistQuery)1