diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java index ae3eba95..a519aafe 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java @@ -2,6 +2,7 @@ package com.kabouzeid.gramophone.ui.fragments.player; import android.content.Context; import android.content.Intent; +import android.support.annotation.Nullable; import android.support.v7.widget.Toolbar; import android.view.MenuItem; import android.view.View; @@ -25,12 +26,11 @@ public abstract class AbsPlayerFragment extends AbsMusicServiceFragment implemen public static final String TAG = AbsPlayerFragment.class.getSimpleName(); private Callbacks callbacks; - private boolean isToolbarVisible; + private static boolean isToolbarShown = true; @Override public void onAttach(Context context) { super.onAttach(context); - isToolbarVisible = true; try { callbacks = (Callbacks) context; } catch (ClassCastException e) { @@ -91,20 +91,49 @@ public abstract class AbsPlayerFragment extends AbsMusicServiceFragment implemen MusicUtil.toggleFavorite(getActivity(), song); } - protected void toggleToolbar(final View toolbar) { + protected boolean isToolbarShown() { + return isToolbarShown; + } + + protected void setToolbarShown(boolean toolbarShown) { + isToolbarShown = toolbarShown; + } + + protected void showToolbar(@Nullable final View toolbar) { if (toolbar == null) return; - isToolbarVisible = !isToolbarVisible; - if (isToolbarVisible) { - toolbar.setVisibility(View.VISIBLE); - toolbar.animate().alpha(1f).setDuration(PlayerAlbumCoverFragment.VISIBILITY_ANIM_DURATION); + setToolbarShown(true); + + toolbar.setVisibility(View.VISIBLE); + toolbar.animate().alpha(1f).setDuration(PlayerAlbumCoverFragment.VISIBILITY_ANIM_DURATION); + } + + protected void hideToolbar(@Nullable final View toolbar) { + if (toolbar == null) return; + + setToolbarShown(false); + + toolbar.animate().alpha(0f).setDuration(PlayerAlbumCoverFragment.VISIBILITY_ANIM_DURATION).withEndAction(new Runnable() { + @Override + public void run() { + toolbar.setVisibility(View.GONE); + } + }); + } + + protected void toggleToolbar(@Nullable final View toolbar) { + if (isToolbarShown()) { + hideToolbar(toolbar); } else { - toolbar.animate().alpha(0f).setDuration(PlayerAlbumCoverFragment.VISIBILITY_ANIM_DURATION).withEndAction(new Runnable() { - @Override - public void run() { - toolbar.setVisibility(View.GONE); - } - }); + showToolbar(toolbar); + } + } + + protected void checkToggleToolbar(@Nullable final View toolbar) { + if (toolbar != null && !isToolbarShown() && toolbar.getVisibility() != View.GONE) { + hideToolbar(toolbar); + } else if (toolbar != null && isToolbarShown() && toolbar.getVisibility() != View.VISIBLE) { + showToolbar(toolbar); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java index 51471e4e..4b14bbfa 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java @@ -79,15 +79,6 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements } return super.onSingleTapConfirmed(e); } - - @Override - public boolean onDoubleTap(MotionEvent e) { - if (callbacks != null) { - callbacks.onFavoriteToggled(); - return true; - } - return super.onDoubleTap(e); - } }); @Override diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java index 87f9079d..a9dcc45b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java @@ -171,6 +171,12 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum super.onPause(); } + @Override + public void onResume() { + super.onResume(); + checkToggleToolbar(toolbarContainer); + } + @Override public void onServiceConnected() { updateQueue(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java index 7a260d05..5ad4e176 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java @@ -166,6 +166,12 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum super.onPause(); } + @Override + public void onResume() { + super.onResume(); + checkToggleToolbar(toolbarContainer); + } + @Override public void onServiceConnected() { updateQueue();