Search in sources :

Example 16 with Song

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

the class SlidingQueueAdapter method onBindViewHolder.

@Override
public void onBindViewHolder(ItemHolder itemHolder, int i) {
    //        setAnimation(itemHolder.itemView, i);
    Song localItem = arraylist.get(i);
    ImageLoader.getInstance().displayImage(TimberUtils.getAlbumArtUri(localItem.albumId).toString(), itemHolder.albumArt, new DisplayImageOptions.Builder().cacheInMemory(true).showImageOnFail(R.drawable.ic_empty_music2).resetViewBeforeLoading(true).build());
}
Also used : Song(com.naman14.timber.models.Song) DisplayImageOptions(com.nostra13.universalimageloader.core.DisplayImageOptions)

Example 17 with Song

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

the class SongsListAdapter method onBindViewHolder.

@Override
public void onBindViewHolder(ItemHolder itemHolder, int i) {
    Song localItem = arraylist.get(i);
    itemHolder.title.setText(localItem.title);
    itemHolder.artist.setText(localItem.artistName);
    ImageLoader.getInstance().displayImage(TimberUtils.getAlbumArtUri(localItem.albumId).toString(), itemHolder.albumArt, new DisplayImageOptions.Builder().cacheInMemory(true).showImageOnFail(R.drawable.ic_empty_music2).resetViewBeforeLoading(true).build());
    if (MusicPlayer.getCurrentAudioId() == localItem.id) {
        itemHolder.title.setTextColor(Config.accentColor(mContext, ateKey));
        if (MusicPlayer.isPlaying()) {
            itemHolder.visualizer.setColor(Config.accentColor(mContext, ateKey));
            itemHolder.visualizer.setVisibility(View.VISIBLE);
        }
    } else {
        if (isPlaylist)
            itemHolder.title.setTextColor(Color.WHITE);
        else
            itemHolder.title.setTextColor(Config.textColorPrimary(mContext, ateKey));
        itemHolder.visualizer.setVisibility(View.GONE);
    }
    if (animate && isPlaylist && PreferencesUtility.getInstance(mContext).getAnimations()) {
        if (TimberUtils.isLollipop())
            setAnimation(itemHolder.itemView, i);
        else {
            if (i > 10)
                setAnimation(itemHolder.itemView, i);
        }
    }
    setOnPopupMenuListener(itemHolder, i);
}
Also used : Song(com.naman14.timber.models.Song) DisplayImageOptions(com.nostra13.universalimageloader.core.DisplayImageOptions)

Example 18 with Song

use of com.naman14.timber.models.Song 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 19 with Song

use of com.naman14.timber.models.Song 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)

Example 20 with Song

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

the class Timber6 method onMetaChanged.

@Override
public void onMetaChanged() {
    super.onMetaChanged();
    if (getActivity() != null) {
        long nextId = MusicPlayer.getNextAudioId();
        Song next = SongLoader.getSongForID(getActivity(), nextId);
        nextSong.setText(next.title);
        nextArt.setImageURI(TimberUtils.getAlbumArtUri(next.albumId));
    }
}
Also used : Song(com.naman14.timber.models.Song)

Aggregations

Song (com.naman14.timber.models.Song)20 DisplayImageOptions (com.nostra13.universalimageloader.core.DisplayImageOptions)7 ArrayList (java.util.ArrayList)5 Cursor (android.database.Cursor)3 DividerItemDecoration (com.naman14.timber.widgets.DividerItemDecoration)2 ContentResolver (android.content.ContentResolver)1 Uri (android.net.Uri)1 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1 AlbumSongsAdapter (com.naman14.timber.adapters.AlbumSongsAdapter)1 ArtistSongAdapter (com.naman14.timber.adapters.ArtistSongAdapter)1 TopTracksLoader (com.naman14.timber.dataloaders.TopTracksLoader)1 ArtistInfoListener (com.naman14.timber.lastfmapi.callbacks.ArtistInfoListener)1 ArtistQuery (com.naman14.timber.lastfmapi.models.ArtistQuery)1 LastfmArtist (com.naman14.timber.lastfmapi.models.LastfmArtist)1 Album (com.naman14.timber.models.Album)1 Artist (com.naman14.timber.models.Artist)1 DragSortRecycler (com.naman14.timber.widgets.DragSortRecycler)1 FadeInBitmapDisplayer (com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer)1 File (java.io.File)1