private void loadBackGround() { Song song = CloudifyController.getInstance().currentSelection; if (song instanceof SpotifySong) { SpotifySong sSong = (SpotifySong) song; Picasso.with(getContext()) .load(sSong.getTrack().getAlbum().getImages()[0].getUrl()) .into(target); } else { Album album = CloudifyController.getInstance().getAlbum(song.albumId); Picasso.with(getContext()).load(album.getUri()).into(target); } }
public class PlaceSlidesFragmentAdapter extends FragmentPagerAdapter implements IAlbumArtPagerAdapter { private int mCount = CloudifyController.getInstance().currentPlaylistSongs.size(); public PlaceSlidesFragmentAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { AlbumArtSlideFragment frag = new AlbumArtSlideFragment(); Bundle b = new Bundle(); b.putInt("index", position); frag.setArguments(b); return frag; } @Override public int getCount() { return mCount; } @Override public int getIconResId(int index) { return CloudifyController.getInstance().currentPlaylistSongs.get(index).id; } }
@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (vGroup == null) { vGroup = (ViewGroup) inflater.inflate(R.layout.fragment_media_player, null, false); ivBackGround = (ImageView) vGroup.findViewById(R.id.ivBackGround); vpAlbumArtPager = (ViewPager) vGroup.findViewById(R.id.vpAlbumArtPager); mSeekBar = (SeekBar) vGroup.findViewById(R.id.mSeekBar); lytMain = (RelativeLayout) vGroup.findViewById(R.id.lytMain); // ivAlbumArt = (ImageView) vGroup.findViewById(R.id.ivAlbumArt); tvSongName = (TextView) vGroup.findViewById(R.id.tvTitle); tvArtist = (TextView) vGroup.findViewById(R.id.tvArtist); btnForward = (ImageButton) vGroup.findViewById(R.id.btnForward); btnBack = (ImageButton) vGroup.findViewById(R.id.btnBack); setUpVisualizerAndSeekBar(); btnForward.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { mediaPlayerListener.onNextSong(true); setUpViews(); setViewPagerToCurrentIndex(); } }); loadBackGround(); btnBack.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { mediaPlayerListener.onPreviousSong(true); setUpViews(); setViewPagerToCurrentIndex(); } }); mAdapter = new PlaceSlidesFragmentAdapter(getChildFragmentManager()); vpAlbumArtPager.setAdapter(mAdapter); vpAlbumArtPager.setPageMargin(-150); vpAlbumArtPager.offsetTopAndBottom(-50); vpAlbumArtPager.setPageTransformer(false, new ZoomOutPageTransformer()); vpAlbumArtPager.setHorizontalFadingEdgeEnabled(true); vpAlbumArtPager.setFadingEdgeLength(100); vpAlbumArtPager.addOnPageChangeListener(this); lastPage = CloudifyController.getInstance().getSongIndex(); vpAlbumArtPager.setCurrentItem(lastPage); } return vGroup; }
public void setUpViews() { song = CloudifyController.getInstance().currentSelection; if (song instanceof SpotifySong) { tvSongName.setText(((SpotifySong) song).getTrack().getName()); ArrayList<Artists> artists = ((SpotifySong) song).getTrack().getArtists(); if (artists.size() > 0) tvArtist.setText(artists.get(0).getName()); } else { tvSongName.setText(song.name); tvArtist.setText(song.artist); } loadBackGround(); }
@Override public int getIconResId(int index) { return CloudifyController.getInstance().currentPlaylistSongs.get(index).id; }
/** * Sets the viewpager to the correct index. Only gets called when you want to manually set * viewpager index When the viewpager is swiped it also changes the song but is not in need of a * view refresh, it will naturally already be ont he correct album art. */ private void setViewPagerToCurrentIndex() { vpAlbumArtPager.setCurrentItem(CloudifyController.getInstance().getSongIndex()); }