Android Open Source - MusicPlayer Abstract Song Picker






From Project

Back to project page MusicPlayer.

License

The source code is released under:

MIT License

If you think the Android project MusicPlayer listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.dsvoronin.musicplayer;
/* w  w w  .j  ava2s  .  c o  m*/
import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by dsvoronin on 27/02/14.
 */
abstract class AbstractSongPicker implements SongPicker {

    static final int INVALID_INDEX = -1;
    protected int mCurrentIndex = INVALID_INDEX;
    protected List<Playable> mTracks = new ArrayList<Playable>();

    @Override
    public void refresh(@NotNull List<Playable> tracks) {
        mTracks.clear();
        mTracks.addAll(tracks);
        mCurrentIndex = 0;
    }

    @Override
    public Playable pickSong() {
        if (mCurrentIndex == INVALID_INDEX) {
            return null;
        }

        Playable playable = mTracks.get(mCurrentIndex);

        if (mCurrentIndex < mTracks.size() - 1) {
            mCurrentIndex = mCurrentIndex + 1;
        } else {
            mCurrentIndex = 0;
        }

        return playable;
    }
}




Java Source Code List

com.dsvoronin.musicplayer.AbstractSongPicker.java
com.dsvoronin.musicplayer.DefaultSongPicker.java
com.dsvoronin.musicplayer.InitState.java
com.dsvoronin.musicplayer.MusicPlayerService.java
com.dsvoronin.musicplayer.OnPlaybackStartEvent.java
com.dsvoronin.musicplayer.OnPlaybackStopEvent.java
com.dsvoronin.musicplayer.PausedState.java
com.dsvoronin.musicplayer.Playable.java
com.dsvoronin.musicplayer.PlayerState.java
com.dsvoronin.musicplayer.PlayingState.java
com.dsvoronin.musicplayer.PrepareState.java
com.dsvoronin.musicplayer.ReadyState.java
com.dsvoronin.musicplayer.ShuffleSongPicker.java
com.dsvoronin.musicplayer.SongPicker.java