Moved some stuff from the PlayerFragment into a abstract super class, as we want to add more PlayerFragments in future.
This commit is contained in:
parent
ca23018b9d
commit
e709455fb1
3 changed files with 167 additions and 117 deletions
|
|
@ -12,6 +12,7 @@ import android.view.ViewGroup;
|
||||||
|
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||||
|
import com.kabouzeid.gramophone.ui.fragments.player.AbsPlayerFragment;
|
||||||
import com.kabouzeid.gramophone.ui.fragments.player.MiniPlayerFragment;
|
import com.kabouzeid.gramophone.ui.fragments.player.MiniPlayerFragment;
|
||||||
import com.kabouzeid.gramophone.ui.fragments.player.PlayerFragment;
|
import com.kabouzeid.gramophone.ui.fragments.player.PlayerFragment;
|
||||||
import com.sothree.slidinguppanel.SlidingUpPanelLayout;
|
import com.sothree.slidinguppanel.SlidingUpPanelLayout;
|
||||||
|
|
@ -34,7 +35,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
||||||
private int navigationBarColor;
|
private int navigationBarColor;
|
||||||
private int taskColor;
|
private int taskColor;
|
||||||
|
|
||||||
private PlayerFragment playerFragment;
|
private AbsPlayerFragment playerFragment;
|
||||||
private MiniPlayerFragment miniPlayerFragment;
|
private MiniPlayerFragment miniPlayerFragment;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -43,7 +44,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
||||||
setContentView(createContentView());
|
setContentView(createContentView());
|
||||||
ButterKnife.bind(this);
|
ButterKnife.bind(this);
|
||||||
|
|
||||||
playerFragment = (PlayerFragment) getSupportFragmentManager().findFragmentById(R.id.player_fragment);
|
playerFragment = (AbsPlayerFragment) getSupportFragmentManager().findFragmentById(R.id.player_fragment);
|
||||||
miniPlayerFragment = (MiniPlayerFragment) getSupportFragmentManager().findFragmentById(R.id.mini_player_fragment);
|
miniPlayerFragment = (MiniPlayerFragment) getSupportFragmentManager().findFragmentById(R.id.mini_player_fragment);
|
||||||
|
|
||||||
if (miniPlayerFragment.getView() != null) {
|
if (miniPlayerFragment.getView() != null) {
|
||||||
|
|
@ -56,7 +57,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
||||||
}
|
}
|
||||||
|
|
||||||
slidingUpPanelLayout.setPanelSlideListener(this);
|
slidingUpPanelLayout.setPanelSlideListener(this);
|
||||||
playerFragment.show();
|
playerFragment.onShow();
|
||||||
|
|
||||||
slidingUpPanelLayout.post(new Runnable() {
|
slidingUpPanelLayout.post(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -98,7 +99,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
||||||
if (shouldColorNavigationBar()) {
|
if (shouldColorNavigationBar()) {
|
||||||
super.setNavigationBarColor(navigationBarColor);
|
super.setNavigationBarColor(navigationBarColor);
|
||||||
}
|
}
|
||||||
playerFragment.show();
|
playerFragment.onShow();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -108,7 +109,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
||||||
if (shouldColorNavigationBar()) {
|
if (shouldColorNavigationBar()) {
|
||||||
super.setNavigationBarColor(playerFragmentColor);
|
super.setNavigationBarColor(playerFragmentColor);
|
||||||
}
|
}
|
||||||
playerFragment.hide();
|
playerFragment.onHide();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,146 @@
|
||||||
|
package com.kabouzeid.gramophone.ui.fragments.player;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.support.v4.app.Fragment;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import com.kabouzeid.gramophone.R;
|
||||||
|
import com.kabouzeid.gramophone.dialogs.AddToPlaylistDialog;
|
||||||
|
import com.kabouzeid.gramophone.dialogs.PlayingQueueDialog;
|
||||||
|
import com.kabouzeid.gramophone.dialogs.SleepTimerDialog;
|
||||||
|
import com.kabouzeid.gramophone.dialogs.SongDetailDialog;
|
||||||
|
import com.kabouzeid.gramophone.dialogs.SongShareDialog;
|
||||||
|
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||||
|
import com.kabouzeid.gramophone.interfaces.MusicServiceEventListener;
|
||||||
|
import com.kabouzeid.gramophone.interfaces.PaletteColorHolder;
|
||||||
|
import com.kabouzeid.gramophone.loader.SongLoader;
|
||||||
|
import com.kabouzeid.gramophone.model.Song;
|
||||||
|
import com.kabouzeid.gramophone.ui.activities.base.AbsMusicServiceActivity;
|
||||||
|
import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity;
|
||||||
|
import com.kabouzeid.gramophone.ui.activities.tageditor.SongTagEditorActivity;
|
||||||
|
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||||
|
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||||
|
|
||||||
|
public abstract class AbsPlayerFragment extends Fragment implements MusicServiceEventListener, Toolbar.OnMenuItemClickListener, PaletteColorHolder {
|
||||||
|
public static final String TAG = AbsPlayerFragment.class.getSimpleName();
|
||||||
|
|
||||||
|
protected AbsMusicServiceActivity activity;
|
||||||
|
protected Callbacks callbacks;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAttach(Context context) {
|
||||||
|
super.onAttach(context);
|
||||||
|
try {
|
||||||
|
activity = (AbsMusicServiceActivity) context;
|
||||||
|
callbacks = (Callbacks) context;
|
||||||
|
} catch (ClassCastException e) {
|
||||||
|
throw new RuntimeException(context.getClass().getSimpleName() + " must be an instance of " + AbsMusicServiceActivity.class.getSimpleName() + " and implement " + Callbacks.class.getSimpleName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDetach() {
|
||||||
|
super.onDetach();
|
||||||
|
activity = null;
|
||||||
|
callbacks = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewCreated(final View view, Bundle savedInstanceState) {
|
||||||
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
activity.addMusicServiceEventListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroyView() {
|
||||||
|
super.onDestroyView();
|
||||||
|
activity.removeMusicServiceEventListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPlayingMetaChanged() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onQueueChanged() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPlayStateChanged() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRepeatModeChanged() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onShuffleModeChanged() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMediaStoreChanged() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onMenuItemClick(MenuItem item) {
|
||||||
|
final Song song = MusicPlayerRemote.getCurrentSong();
|
||||||
|
switch (item.getItemId()) {
|
||||||
|
case R.id.action_sleep_timer:
|
||||||
|
new SleepTimerDialog().show(getFragmentManager(), "SET_SLEEP_TIMER");
|
||||||
|
return true;
|
||||||
|
case R.id.action_toggle_favorite:
|
||||||
|
MusicUtil.toggleFavorite(activity, song);
|
||||||
|
return true;
|
||||||
|
case R.id.action_share:
|
||||||
|
SongShareDialog.create(song).show(getFragmentManager(), "SHARE_SONG");
|
||||||
|
return true;
|
||||||
|
case R.id.action_equalizer:
|
||||||
|
NavigationUtil.openEqualizer(activity);
|
||||||
|
return true;
|
||||||
|
case R.id.action_shuffle_all:
|
||||||
|
MusicPlayerRemote.openAndShuffleQueue(SongLoader.getAllSongs(activity), true);
|
||||||
|
return true;
|
||||||
|
case R.id.action_add_to_playlist:
|
||||||
|
AddToPlaylistDialog.create(song).show(getFragmentManager(), "ADD_PLAYLIST");
|
||||||
|
return true;
|
||||||
|
case R.id.action_playing_queue:
|
||||||
|
PlayingQueueDialog.create().show(getFragmentManager(), "PLAY_QUEUE");
|
||||||
|
return true;
|
||||||
|
case R.id.action_tag_editor:
|
||||||
|
Intent intent = new Intent(activity, SongTagEditorActivity.class);
|
||||||
|
intent.putExtra(AbsTagEditorActivity.EXTRA_ID, song.id);
|
||||||
|
startActivity(intent);
|
||||||
|
return true;
|
||||||
|
case R.id.action_details:
|
||||||
|
SongDetailDialog.create(song).show(getFragmentManager(), "SONG_DETAIL");
|
||||||
|
return true;
|
||||||
|
case R.id.action_go_to_album:
|
||||||
|
NavigationUtil.goToAlbum(activity, song.albumId);
|
||||||
|
return true;
|
||||||
|
case R.id.action_go_to_artist:
|
||||||
|
NavigationUtil.goToArtist(activity, song.artistId);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void onHide();
|
||||||
|
|
||||||
|
public abstract void onShow();
|
||||||
|
|
||||||
|
public abstract boolean onBackPressed();
|
||||||
|
|
||||||
|
public interface Callbacks {
|
||||||
|
void onPaletteColorChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,13 +2,10 @@ package com.kabouzeid.gramophone.ui.fragments.player;
|
||||||
|
|
||||||
import android.animation.Animator;
|
import android.animation.Animator;
|
||||||
import android.animation.AnimatorSet;
|
import android.animation.AnimatorSet;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.annotation.ColorInt;
|
import android.support.annotation.ColorInt;
|
||||||
import android.support.v4.app.Fragment;
|
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.support.v7.widget.CardView;
|
import android.support.v7.widget.CardView;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
|
|
@ -26,24 +23,12 @@ import android.widget.TextView;
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder;
|
import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder;
|
||||||
import com.kabouzeid.gramophone.adapter.song.PlayingQueueAdapter;
|
import com.kabouzeid.gramophone.adapter.song.PlayingQueueAdapter;
|
||||||
import com.kabouzeid.gramophone.dialogs.AddToPlaylistDialog;
|
|
||||||
import com.kabouzeid.gramophone.dialogs.PlayingQueueDialog;
|
|
||||||
import com.kabouzeid.gramophone.dialogs.SleepTimerDialog;
|
|
||||||
import com.kabouzeid.gramophone.dialogs.SongDetailDialog;
|
|
||||||
import com.kabouzeid.gramophone.dialogs.SongShareDialog;
|
|
||||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||||
import com.kabouzeid.gramophone.interfaces.MusicServiceEventListener;
|
|
||||||
import com.kabouzeid.gramophone.interfaces.PaletteColorHolder;
|
|
||||||
import com.kabouzeid.gramophone.loader.SongLoader;
|
|
||||||
import com.kabouzeid.gramophone.misc.DragSortRecycler;
|
import com.kabouzeid.gramophone.misc.DragSortRecycler;
|
||||||
import com.kabouzeid.gramophone.model.Song;
|
import com.kabouzeid.gramophone.model.Song;
|
||||||
import com.kabouzeid.gramophone.ui.activities.base.AbsMusicServiceActivity;
|
|
||||||
import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
|
import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
|
||||||
import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity;
|
|
||||||
import com.kabouzeid.gramophone.ui.activities.tageditor.SongTagEditorActivity;
|
|
||||||
import com.kabouzeid.gramophone.util.ColorUtil;
|
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
|
||||||
import com.kabouzeid.gramophone.util.Util;
|
import com.kabouzeid.gramophone.util.Util;
|
||||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||||
import com.kabouzeid.gramophone.views.SquareLayout;
|
import com.kabouzeid.gramophone.views.SquareLayout;
|
||||||
|
|
@ -54,7 +39,7 @@ import org.solovyev.android.views.llm.LinearLayoutManager;
|
||||||
import butterknife.Bind;
|
import butterknife.Bind;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
|
|
||||||
public class PlayerFragment extends Fragment implements MusicServiceEventListener, Toolbar.OnMenuItemClickListener, PaletteColorHolder, PlayerAlbumCoverFragment.OnColorChangedListener, SlidingUpPanelLayout.PanelSlideListener {
|
public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCoverFragment.OnColorChangedListener, SlidingUpPanelLayout.PanelSlideListener {
|
||||||
public static final String TAG = PlayerFragment.class.getSimpleName();
|
public static final String TAG = PlayerFragment.class.getSimpleName();
|
||||||
|
|
||||||
@Bind(R.id.player_toolbar)
|
@Bind(R.id.player_toolbar)
|
||||||
|
|
@ -79,9 +64,6 @@ public class PlayerFragment extends Fragment implements MusicServiceEventListene
|
||||||
|
|
||||||
private int lastColor;
|
private int lastColor;
|
||||||
|
|
||||||
private AbsMusicServiceActivity activity;
|
|
||||||
private Callbacks callbacks;
|
|
||||||
|
|
||||||
private PlaybackControlsFragment playbackControlsFragment;
|
private PlaybackControlsFragment playbackControlsFragment;
|
||||||
private PlayerAlbumCoverFragment playerAlbumCoverFragment;
|
private PlayerAlbumCoverFragment playerAlbumCoverFragment;
|
||||||
|
|
||||||
|
|
@ -90,38 +72,15 @@ public class PlayerFragment extends Fragment implements MusicServiceEventListene
|
||||||
private PlayingQueueAdapter playingQueueAdapter;
|
private PlayingQueueAdapter playingQueueAdapter;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAttach(Context context) {
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
super.onAttach(context);
|
View view = inflater.inflate(R.layout.fragment_player, container, false);
|
||||||
try {
|
ButterKnife.bind(this, view);
|
||||||
activity = (AbsMusicServiceActivity) context;
|
return view;
|
||||||
callbacks = (Callbacks) context;
|
|
||||||
} catch (ClassCastException e) {
|
|
||||||
throw new RuntimeException(context.getClass().getSimpleName() + " must be an instance of " + AbsMusicServiceActivity.class.getSimpleName() + " and implement " + Callbacks.class.getSimpleName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDetach() {
|
|
||||||
super.onDetach();
|
|
||||||
activity = null;
|
|
||||||
callbacks = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
|
||||||
Bundle savedInstanceState) {
|
|
||||||
return inflater.inflate(R.layout.fragment_player, container, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewCreated(final View view, Bundle savedInstanceState) {
|
public void onViewCreated(final View view, Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
ButterKnife.bind(this, view);
|
|
||||||
|
|
||||||
setUpPlayerToolbar();
|
setUpPlayerToolbar();
|
||||||
setUpSubFragments();
|
setUpSubFragments();
|
||||||
|
|
@ -152,21 +111,18 @@ public class PlayerFragment extends Fragment implements MusicServiceEventListene
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
activity.addMusicServiceEventListener(this);
|
|
||||||
|
|
||||||
setUpCurrentSongView();
|
setUpCurrentSongView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDestroyView() {
|
public void onDestroyView() {
|
||||||
super.onDestroyView();
|
super.onDestroyView();
|
||||||
activity.removeMusicServiceEventListener(this);
|
|
||||||
ButterKnife.unbind(this);
|
ButterKnife.unbind(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayingMetaChanged() {
|
public void onPlayingMetaChanged() {
|
||||||
updatePlayerMenu();
|
updateIsFavorite();
|
||||||
updateCurrentSong();
|
updateCurrentSong();
|
||||||
updateQueue();
|
updateQueue();
|
||||||
}
|
}
|
||||||
|
|
@ -176,26 +132,6 @@ public class PlayerFragment extends Fragment implements MusicServiceEventListene
|
||||||
updateQueue();
|
updateQueue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPlayStateChanged() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onRepeatModeChanged() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onShuffleModeChanged() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onMediaStoreChanged() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateQueue() {
|
private void updateQueue() {
|
||||||
playingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition());
|
playingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition());
|
||||||
if (slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
|
if (slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
|
||||||
|
|
@ -252,7 +188,7 @@ public class PlayerFragment extends Fragment implements MusicServiceEventListene
|
||||||
currentSongViewHolder.image.setImageDrawable(Util.getTintedDrawable(activity, R.drawable.ic_volume_up_white_24dp, ColorUtil.resolveColor(activity, R.attr.icon_color)));
|
currentSongViewHolder.image.setImageDrawable(Util.getTintedDrawable(activity, R.drawable.ic_volume_up_white_24dp, ColorUtil.resolveColor(activity, R.attr.icon_color)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updatePlayerMenu() {
|
private void updateIsFavorite() {
|
||||||
boolean isFavorite = MusicUtil.isFavorite(activity, MusicPlayerRemote.getCurrentSong());
|
boolean isFavorite = MusicUtil.isFavorite(activity, MusicPlayerRemote.getCurrentSong());
|
||||||
Drawable favoriteIcon = Util.getTintedDrawable(activity, isFavorite ? R.drawable.ic_favorite_white_24dp : R.drawable.ic_favorite_outline_white_24dp, ViewUtil.getToolbarIconColor(activity, false));
|
Drawable favoriteIcon = Util.getTintedDrawable(activity, isFavorite ? R.drawable.ic_favorite_white_24dp : R.drawable.ic_favorite_outline_white_24dp, ViewUtil.getToolbarIconColor(activity, false));
|
||||||
toolbar.getMenu().findItem(R.id.action_toggle_favorite)
|
toolbar.getMenu().findItem(R.id.action_toggle_favorite)
|
||||||
|
|
@ -311,57 +247,28 @@ public class PlayerFragment extends Fragment implements MusicServiceEventListene
|
||||||
public boolean onMenuItemClick(MenuItem item) {
|
public boolean onMenuItemClick(MenuItem item) {
|
||||||
final Song song = MusicPlayerRemote.getCurrentSong();
|
final Song song = MusicPlayerRemote.getCurrentSong();
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case R.id.action_sleep_timer:
|
|
||||||
new SleepTimerDialog().show(getFragmentManager(), "SET_SLEEP_TIMER");
|
|
||||||
return true;
|
|
||||||
case R.id.action_toggle_favorite:
|
case R.id.action_toggle_favorite:
|
||||||
MusicUtil.toggleFavorite(activity, song);
|
super.onMenuItemClick(item);
|
||||||
if (MusicUtil.isFavorite(activity, song)) {
|
if (MusicUtil.isFavorite(activity, song)) {
|
||||||
playerAlbumCoverFragment.showHeartAnimation();
|
playerAlbumCoverFragment.showHeartAnimation();
|
||||||
}
|
}
|
||||||
updatePlayerMenu();
|
updateIsFavorite();
|
||||||
return true;
|
|
||||||
case R.id.action_share:
|
|
||||||
SongShareDialog.create(song).show(getFragmentManager(), "SHARE_SONG");
|
|
||||||
return true;
|
|
||||||
case R.id.action_equalizer:
|
|
||||||
NavigationUtil.openEqualizer(activity);
|
|
||||||
return true;
|
|
||||||
case R.id.action_shuffle_all:
|
|
||||||
MusicPlayerRemote.openAndShuffleQueue(SongLoader.getAllSongs(activity), true);
|
|
||||||
return true;
|
|
||||||
case R.id.action_add_to_playlist:
|
|
||||||
AddToPlaylistDialog.create(song).show(getFragmentManager(), "ADD_PLAYLIST");
|
|
||||||
return true;
|
|
||||||
case R.id.action_playing_queue:
|
|
||||||
PlayingQueueDialog.create().show(getFragmentManager(), "PLAY_QUEUE");
|
|
||||||
return true;
|
|
||||||
case R.id.action_tag_editor:
|
|
||||||
Intent intent = new Intent(activity, SongTagEditorActivity.class);
|
|
||||||
intent.putExtra(AbsTagEditorActivity.EXTRA_ID, song.id);
|
|
||||||
startActivity(intent);
|
|
||||||
return true;
|
|
||||||
case R.id.action_details:
|
|
||||||
SongDetailDialog.create(song).show(getFragmentManager(), "SONG_DETAIL");
|
|
||||||
return true;
|
|
||||||
case R.id.action_go_to_album:
|
|
||||||
NavigationUtil.goToAlbum(activity, song.albumId);
|
|
||||||
return true;
|
|
||||||
case R.id.action_go_to_artist:
|
|
||||||
NavigationUtil.goToArtist(activity, song.artistId);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return super.onMenuItemClick(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void hide() {
|
@Override
|
||||||
|
public void onHide() {
|
||||||
playbackControlsFragment.hide();
|
playbackControlsFragment.hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void show() {
|
@Override
|
||||||
|
public void onShow() {
|
||||||
playbackControlsFragment.show();
|
playbackControlsFragment.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean onBackPressed() {
|
public boolean onBackPressed() {
|
||||||
if (slidingUpPanelLayout.getPanelState() != SlidingUpPanelLayout.PanelState.COLLAPSED) {
|
if (slidingUpPanelLayout.getPanelState() != SlidingUpPanelLayout.PanelState.COLLAPSED) {
|
||||||
slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
|
slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
|
||||||
|
|
@ -409,8 +316,4 @@ public class PlayerFragment extends Fragment implements MusicServiceEventListene
|
||||||
public void onPanelHidden(View view) {
|
public void onPanelHidden(View view) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface Callbacks {
|
|
||||||
void onPaletteColorChanged();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue