package com.nf2m.adapter;
import android.content.Context;
import android.database.Cursor;
import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import com.nf2m.RandomSong;
import com.nf2m.fragment.ImageDetailFragment;
import com.nf2m.fragment.NowPlayingFragment;
public class AlbumImagePagerAdapter extends FragmentStatePagerAdapter {
private final int mSize;
@NonNull
private final RandomSong randomSong;
@NonNull
private final Cursor songsCursor;
@NonNull
private final Context context;
public AlbumImagePagerAdapter(FragmentManager fm, @NonNull Cursor songsCursor, @NonNull Context context) {
super(fm);
this.songsCursor = songsCursor;
mSize = songsCursor.getCount();
randomSong = RandomSong.newInstance(context);
this.context = context;
}
@Nullable
@Override
public Fragment getItem(int position) {
if (songsCursor != null && songsCursor.getCount() != 0) {
if (NowPlayingFragment.shuffle_state.equalsIgnoreCase(NowPlayingFragment.SHUFFLE_ON)) {
if (RandomSong.randomPosMap.get(position) == null) {
int randomPos = randomSong.getRandomPos();
RandomSong.randomPosMap.put(position, randomPos);
if (!NowPlayingFragment.isConstantPos) {
position = randomPos;
}
} else {
if (!NowPlayingFragment.isConstantPos) {
position = RandomSong.randomPosMap.get(position);
}
}
}
System.out.println(RandomSong.randomPosMap.toString());
if (songsCursor.moveToPosition(position)) {
String album_id = songsCursor.getString(songsCursor.getColumnIndexOrThrow(MediaStore.Audio.AudioColumns.ALBUM_ID));
return ImageDetailFragment.newInstance(NowPlayingFragment.getAlbumPath(album_id, context));
}
return null;
}
return ImageDetailFragment.newInstance(null);
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
@Override
public int getCount() {
return mSize;
}
}