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; } }