Preserve player toolbar state through all activities. Disabled double
tap to favorite.
This commit is contained in:
parent
0f6aab7f2c
commit
a7cc766f2e
4 changed files with 54 additions and 22 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue