diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/AlbumsAdapter.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/AlbumsAdapter.java index ac927e0f53c6d45894832b60ec7266cd18f44f07..e3148b99befbba3cdad8fe5f707d05ef031a2c12 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/AlbumsAdapter.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/AlbumsAdapter.java @@ -7,8 +7,11 @@ import android.os.Bundle; import android.support.v4.app.FragmentManager; import android.support.v7.graphics.Palette; import android.support.v7.widget.CardView; +import android.transition.ChangeBounds; import android.transition.ChangeImageTransform; +import android.transition.ChangeTransform; import android.transition.Slide; +import android.transition.TransitionSet; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; @@ -47,6 +50,9 @@ public class AlbumsAdapter extends RealmBasedRecyclerViewAdapter= Build.VERSION_CODES.LOLLIPOP) { + albumViewHolder.albumArt.setTransitionName(realmResults.get(i).getAlbumsku()); + } Picasso.with(albumViewHolder.itemView.getContext()).load(realmResults.get(i).getCover_small()).into(albumViewHolder.albumArt, new Callback() { @Override public void onSuccess() { @@ -80,13 +86,15 @@ public class AlbumsAdapter extends RealmBasedRecyclerViewAdapter= Build.VERSION_CODES.LOLLIPOP) { fragment.setEnterTransition(new Slide(Gravity.BOTTOM)); fragment.setExitTransition(new Slide(Gravity.BOTTOM)); - fragment.setSharedElementEnterTransition(new ChangeImageTransform()); - fragment.setSharedElementReturnTransition(new ChangeImageTransform()); + TransitionSet sharedTransition = new TransitionSet(); + sharedTransition.addTransition(new ChangeImageTransform()).addTransition(new ChangeBounds()).addTransition(new ChangeTransform()); + fragment.setSharedElementEnterTransition(sharedTransition); + fragment.setSharedElementReturnTransition(sharedTransition); } fragment.setArguments(args); fragmentManager.beginTransaction() .setCustomAnimations(R.anim.fragment_enter,R.anim.fragment_exit,R.anim.fragment_pop_enter,R.anim.fragment_pop_exit) - .addSharedElement(albumViewHolder.albumArt,"albumart") + .addSharedElement(albumViewHolder.albumArt,realmResults.get(i).getAlbumsku()) .replace(R.id.fragment_holder, fragment, "tracks") .addToBackStack("tracks") .commit(); diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/ArtistsAdapter.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/ArtistsAdapter.java index d5f705ebd1b1e9fadec3685dd92bb63c6c005006..aeb973d5cdb601ab61f16e25a01dfb2c357f65c0 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/ArtistsAdapter.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/ArtistsAdapter.java @@ -4,8 +4,10 @@ import android.content.Context; import android.os.Build; import android.os.Bundle; import android.support.v4.app.FragmentManager; +import android.transition.ChangeBounds; import android.transition.ChangeTransform; import android.transition.Slide; +import android.transition.TransitionSet; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; @@ -41,6 +43,9 @@ public class ArtistsAdapter extends RealmBasedRecyclerViewAdapter= Build.VERSION_CODES.LOLLIPOP) { + artistViewHolder.artistName.setTransitionName(realmResults.get(i).getArtistname()); + } artistViewHolder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -50,13 +55,15 @@ public class ArtistsAdapter extends RealmBasedRecyclerViewAdapter= Build.VERSION_CODES.LOLLIPOP) { fragment.setEnterTransition(new Slide(Gravity.BOTTOM)); fragment.setExitTransition(new Slide(Gravity.BOTTOM)); - fragment.setSharedElementEnterTransition(new ChangeTransform()); - fragment.setSharedElementReturnTransition(new ChangeTransform()); + TransitionSet sharedTransition = new TransitionSet(); + sharedTransition.addTransition(new ChangeBounds()).addTransition(new ChangeTransform()); + fragment.setSharedElementEnterTransition(sharedTransition); + fragment.setSharedElementReturnTransition(sharedTransition); } fragment.setArguments(args); fragmentManager.beginTransaction() .setCustomAnimations(R.anim.fragment_enter,R.anim.fragment_exit,R.anim.fragment_pop_enter,R.anim.fragment_pop_exit) - .addSharedElement(artistViewHolder.artistName, "artist_name") + .addSharedElement(artistViewHolder.artistName, realmResults.get(i).getArtistname()) .replace(R.id.fragment_holder, fragment, "artist") .addToBackStack("artist") .commit(); diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumFragment.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumFragment.java index 74e6f0d0546b2e7e6611265bd5ae2d527072fb21..eaf8a5d7eb6ad9f3f1a36d475e48d08629b03ed8 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumFragment.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumFragment.java @@ -1,6 +1,7 @@ package com.magnatune.eyecreate.companionformagnatune.fragments; import android.graphics.drawable.BitmapDrawable; +import android.os.Build; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; @@ -73,6 +74,9 @@ public class AlbumFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View v = inflater.inflate(R.layout.fragment_album, container, false); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + v.findViewById(R.id.album_cover).setTransitionName(getArguments().getString(ARG_ALBUM_ID)); + } ListView listView = (ListView) v.findViewById(R.id.album_tracks); Album currentAlbum = db.where(Album.class).equalTo("albumsku",getArguments().getString(ARG_ALBUM_ID)).findFirst(); ((TextView)v.findViewById(R.id.album_name)).setText(currentAlbum.getAlbumname()); diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumsFragment.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumsFragment.java index 8ed4889402e1fff2e9570ce4cd16af4fd877b115..3a78c032eb0cbada87827c4e7e9aa7a136f9df23 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumsFragment.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumsFragment.java @@ -5,13 +5,19 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.AsyncTask; +import android.os.Build; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.content.LocalBroadcastManager; +import android.transition.ChangeBounds; +import android.transition.ChangeImageTransform; +import android.transition.ChangeTransform; +import android.transition.TransitionSet; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.Window; import com.magnatune.eyecreate.companionformagnatune.R; import com.magnatune.eyecreate.companionformagnatune.adapters.AlbumsAdapter; @@ -42,7 +48,6 @@ public class AlbumsFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { recyclerView = (RealmRecyclerView) inflater.inflate(R.layout.fragment_albums,container,false); - recyclerView.setOnRefreshListener(new RealmRecyclerView.OnRefreshListener() { @Override public void onRefresh() { diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/ArtistFragment.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/ArtistFragment.java index a723b8c92ce6de056fa3e6a01070bf2b8b89de80..8bcb3d9f6cb2b1414ab1ef320d3f503b0ffea966 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/ArtistFragment.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/ArtistFragment.java @@ -1,5 +1,6 @@ package com.magnatune.eyecreate.companionformagnatune.fragments; +import android.os.Build; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; @@ -44,6 +45,9 @@ public class ArtistFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_artist,container,false);; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + v.findViewById(R.id.artist_name).setTransitionName(getArguments().getString(ARG_ARTIST_NAME)); + } recyclerView = (RealmRecyclerView) v.findViewById(R.id.artist_albums); Artist artist = db.where(Artist.class).equalTo("artistname",getArguments().getString(ARG_ARTIST_NAME)).findFirst(); ((TextView) v.findViewById(R.id.artist_name)).setText(artist.getArtistname()); diff --git a/app/src/main/res/layout/fragment_album.xml b/app/src/main/res/layout/fragment_album.xml index 83a6a336bf9f07636168520e18899d76751b7ec7..5b24f31e45c82630ddacd543c1032aab36c4c4e8 100644 --- a/app/src/main/res/layout/fragment_album.xml +++ b/app/src/main/res/layout/fragment_album.xml @@ -12,8 +12,7 @@ + android:layout_height="wrap_content"/> \ No newline at end of file