package io.hefuyi.listener.dataloader;
import android.content.Context;
import android.database.Cursor;
import java.util.ArrayList;
import java.util.List;
import io.hefuyi.listener.mvp.model.Song;
import rx.Observable;
import rx.Subscriber;
/**
* Created by hefuyi on 2016/11/6.
*/
public class QueueLoader {
public static Observable<List<Song>> getQueueSongs(final Context context) {
return Observable.create(new Observable.OnSubscribe<List<Song>>() {
@Override
public void call(Subscriber<? super List<Song>> subscriber) {
final List<Song> mSongList = new ArrayList<>();
Cursor mCursor = new NowPlayingCursor(context);
if (mCursor.moveToFirst()) {
do {
final long id = mCursor.getLong(0);
final String songName = mCursor.getString(1);
final String artist = mCursor.getString(2);
final long albumId = mCursor.getLong(3);
final String album = mCursor.getString(4);
final int duration = mCursor.getInt(5);
final long artistid = mCursor.getInt(6);
final int tracknumber = mCursor.getInt(7);
final Song song = new Song(id, albumId, artistid, songName, artist, album, duration, tracknumber);
mSongList.add(song);
} while (mCursor.moveToNext());
}
subscriber.onNext(mSongList);
subscriber.onCompleted();
mCursor.close();
mCursor = null;
}
});
}
}