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 3470059fb5211e97dc60adbeb0bd3b71794e6e19..f6ee43106c54abc71653fc859cb16d79ad2b5dcc 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 db7c5ad9a2f91a00c8b789b360d9bba9c88a2b57..9a0e01b41aa783f1edc74d3908e5447b7b08c59c 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 bba4a3fae57e75edd2b772094d421b1f513ad6a6..4cbd9ffbfb33faa89bb42b5701e6c38a88c31dbe 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 2c136494264a87eafd85a3b0d582a199875c1ea1..a93f4cd49ac37657f85c84dcb987f6ebcca8adba 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 0000000000000000000000000000000000000000..7e1c87df50553544b0f5fe865a7e9c1baff2b2f1 --- /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 0000000000000000000000000000000000000000..da7dbc701cab37332c5a0e62b625e7c7311943b3 --- /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 346e55d3cc4672d1b452a98d6e2a7512d9245485..200cb742db33e2faca90a776c795542e4088ca6d 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