diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/BrowseActivity.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/BrowseActivity.java index 3470059..f6ee431 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/BrowseActivity.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/BrowseActivity.java @@ -1,47 +1,20 @@ package com.magnatune.eyecreate.companionformagnatune; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.support.v4.app.FragmentTransaction; import android.support.v4.content.ContextCompat; -import android.support.v4.content.LocalBroadcastManager; import com.heinrichreimersoftware.materialdrawer.DrawerActivity; import com.heinrichreimersoftware.materialdrawer.structure.DrawerItem; import com.heinrichreimersoftware.materialdrawer.structure.DrawerProfile; import com.magnatune.eyecreate.companionformagnatune.fragments.AlbumsFragment; -import com.magnatune.eyecreate.companionformagnatune.fragments.ArtistFragment; import com.magnatune.eyecreate.companionformagnatune.fragments.ArtistsFragment; import com.magnatune.eyecreate.companionformagnatune.login.MagnatuneAccountManager; public class BrowseActivity extends DrawerActivity { - public static final String ACTION_ONCLICK_ACTIVATED = "browseactivityonclick"; - public static final String EXTRA_FRAGMENT = "fragmenttostart"; - public static final String EXTRA_FRAGMENT_ARGS = "fragmentargs"; - - BroadcastReceiver onClickManager = new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - if(intent.hasExtra(EXTRA_FRAGMENT)) { - if(intent.getStringExtra(EXTRA_FRAGMENT).equals(ArtistFragment.class.getName())) { - ArtistFragment fragment = new ArtistFragment(); - fragment.setArguments(intent.getBundleExtra(EXTRA_FRAGMENT_ARGS)); - getSupportFragmentManager().beginTransaction() - .setCustomAnimations(R.anim.fragment_enter,R.anim.fragment_exit,R.anim.fragment_pop_enter,R.anim.fragment_pop_exit) - .replace(R.id.fragment_holder,fragment,"artist") - .addToBackStack("artist") - .commit(); - } - } - } - }; - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -84,16 +57,4 @@ public class BrowseActivity extends DrawerActivity { .commit(); } } - - @Override - protected void onResume() { - super.onResume(); - LocalBroadcastManager.getInstance(this).registerReceiver(onClickManager,new IntentFilter(ACTION_ONCLICK_ACTIVATED)); - } - - @Override - protected void onPause() { - super.onPause(); - LocalBroadcastManager.getInstance(this).unregisterReceiver(onClickManager); - } } 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 db7c5ad..9a0e01b 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 @@ -1,13 +1,15 @@ package com.magnatune.eyecreate.companionformagnatune.adapters; import android.content.Context; -import android.content.Intent; +import android.os.Build; import android.os.Bundle; -import android.support.v4.content.LocalBroadcastManager; +import android.support.v4.app.FragmentManager; +import android.transition.AutoTransition; +import android.transition.Slide; +import android.view.Gravity; import android.view.View; import android.view.ViewGroup; -import com.magnatune.eyecreate.companionformagnatune.BrowseActivity; import com.magnatune.eyecreate.companionformagnatune.R; import com.magnatune.eyecreate.companionformagnatune.fragments.ArtistFragment; import com.magnatune.eyecreate.companionformagnatune.model.Artist; @@ -18,6 +20,13 @@ import io.realm.RealmResults; public class ArtistsAdapter extends RealmBasedRecyclerViewAdapter { + FragmentManager fragmentManager; + + public ArtistsAdapter(Context context, RealmResults realmResults, boolean automaticUpdate, boolean animateResults, boolean addSectionHeaders, String headerColumnName, FragmentManager fragmentManager) { + super(context, realmResults, automaticUpdate, animateResults, addSectionHeaders, headerColumnName); + this.fragmentManager = fragmentManager; + } + public ArtistsAdapter(Context context, RealmResults realmResults, boolean automaticUpdate, boolean animateResults, boolean addSectionHeaders, String headerColumnName) { super(context, realmResults, automaticUpdate, animateResults, addSectionHeaders, headerColumnName); } @@ -37,10 +46,20 @@ public class ArtistsAdapter extends RealmBasedRecyclerViewAdapter= Build.VERSION_CODES.LOLLIPOP) { + fragment.setEnterTransition(new Slide(Gravity.BOTTOM)); + fragment.setExitTransition(new Slide(Gravity.BOTTOM)); + fragment.setSharedElementEnterTransition(new AutoTransition()); + fragment.setSharedElementReturnTransition(new AutoTransition()); + } + 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") + .replace(R.id.fragment_holder, fragment, "artist") + .addToBackStack("artist") + .commit(); } }); } 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 bba4a3f..4cbd9ff 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 @@ -42,6 +42,7 @@ 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/ArtistsFragment.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/ArtistsFragment.java index 2c13649..a93f4cd 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/ArtistsFragment.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/ArtistsFragment.java @@ -42,7 +42,7 @@ public class ArtistsFragment extends Fragment { triggerDBUpdate(); } }); - recyclerView.setAdapter(new ArtistsAdapter(getActivity(), db.where(Artist.class).findAllSorted("artistname"), true, true,true,"artistname")); + recyclerView.setAdapter(new ArtistsAdapter(getActivity(), db.where(Artist.class).findAllSorted("artistname"), true, true,true,"artistname",getFragmentManager())); if (db.where(Artist.class).findAll().size() < 1) { triggerDBUpdate(); } diff --git a/app/src/main/res/layout-land/fragment_albums.xml b/app/src/main/res/layout-land/fragment_albums.xml new file mode 100644 index 0000000..7e1c87d --- /dev/null +++ b/app/src/main/res/layout-land/fragment_albums.xml @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/app/src/main/res/layout-land/fragment_artist.xml b/app/src/main/res/layout-land/fragment_artist.xml new file mode 100644 index 0000000..da7dbc7 --- /dev/null +++ b/app/src/main/res/layout-land/fragment_artist.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_artist.xml b/app/src/main/res/layout/fragment_artist.xml index 346e55d..200cb74 100644 --- a/app/src/main/res/layout/fragment_artist.xml +++ b/app/src/main/res/layout/fragment_artist.xml @@ -8,6 +8,7 @@ android:layout_margin="10dp" android:textStyle="bold" android:textSize="20sp" + android:transitionName="artist_name" android:id="@+id/artist_name"/> \ No newline at end of file