Fixed now playing screen coloring
This commit is contained in:
parent
4b42ef6b9d
commit
74705b8e22
9 changed files with 357 additions and 72 deletions
|
|
@ -57,7 +57,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
}
|
||||
|
||||
slidingUpPanelLayout.setPanelSlideListener(this);
|
||||
playerFragment.onShow();
|
||||
playerFragment.onHide();
|
||||
|
||||
slidingUpPanelLayout.post(new Runnable() {
|
||||
@Override
|
||||
|
|
@ -65,6 +65,8 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
if (!isPanelCollapsed()) {
|
||||
onPanelSlide(slidingUpPanelLayout, 1);
|
||||
onPanelExpanded(slidingUpPanelLayout);
|
||||
} else if (isPanelCollapsed()) {
|
||||
onPanelCollapsed(slidingUpPanelLayout);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -99,7 +101,9 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
if (shouldColorNavigationBar()) {
|
||||
super.setNavigationBarColor(navigationBarColor);
|
||||
}
|
||||
playerFragment.onShow();
|
||||
playerFragment.setMenuVisibility(false);
|
||||
playerFragment.setUserVisibleHint(false);
|
||||
playerFragment.onHide();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -109,7 +113,9 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
if (shouldColorNavigationBar()) {
|
||||
super.setNavigationBarColor(playerFragmentColor);
|
||||
}
|
||||
playerFragment.onHide();
|
||||
playerFragment.setMenuVisibility(true);
|
||||
playerFragment.setUserVisibleHint(true);
|
||||
playerFragment.onShow();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -83,10 +83,10 @@ public abstract class AbsPlayerFragment extends AbsMusicServiceFragment implemen
|
|||
return false;
|
||||
}
|
||||
|
||||
public abstract void onHide();
|
||||
|
||||
public abstract void onShow();
|
||||
|
||||
public abstract void onHide();
|
||||
|
||||
public abstract boolean onBackPressed();
|
||||
|
||||
public Callbacks getCallbacks() {
|
||||
|
|
|
|||
|
|
@ -267,7 +267,7 @@ public class PlaybackControlsFragment extends Fragment implements MusicServiceEv
|
|||
}
|
||||
}
|
||||
|
||||
public void hide() {
|
||||
public void show() {
|
||||
playPauseFab.animate()
|
||||
.scaleX(1f)
|
||||
.scaleY(1f)
|
||||
|
|
@ -276,7 +276,7 @@ public class PlaybackControlsFragment extends Fragment implements MusicServiceEv
|
|||
.start();
|
||||
}
|
||||
|
||||
public void show() {
|
||||
public void hide() {
|
||||
playPauseFab.setScaleX(0f);
|
||||
playPauseFab.setScaleY(0f);
|
||||
playPauseFab.setRotation(0f);
|
||||
|
|
|
|||
|
|
@ -1,16 +1,23 @@
|
|||
package com.kabouzeid.gramophone.ui.fragments.player;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.ColorInt;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.AccelerateInterpolator;
|
||||
import android.view.animation.DecelerateInterpolator;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.AlbumCoverPagerAdapter;
|
||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||
import com.kabouzeid.gramophone.misc.SimpleAnimatorListener;
|
||||
import com.kabouzeid.gramophone.ui.fragments.AbsMusicServiceFragment;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
|
||||
import butterknife.Bind;
|
||||
import butterknife.ButterKnife;
|
||||
|
|
@ -19,11 +26,15 @@ import butterknife.ButterKnife;
|
|||
* @author Karim Abou Zeid (kabouzeid)
|
||||
*/
|
||||
public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements ViewPager.OnPageChangeListener {
|
||||
public static final String TAG = PlayerAlbumCoverFragment.class.getSimpleName();
|
||||
|
||||
@Bind(R.id.player_album_cover_viewpager)
|
||||
ViewPager viewPager;
|
||||
@Bind(R.id.player_favorite_icon)
|
||||
ImageView favoriteIcon;
|
||||
|
||||
private OnColorChangedListener onColorChangedListener;
|
||||
private int currentRequest;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
|
|
@ -70,11 +81,26 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
|
|||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
currentRequest = position;
|
||||
AlbumCoverPagerAdapter.AlbumCoverFragment albumCoverFragment = ((AlbumCoverPagerAdapter.AlbumCoverFragment) ((AlbumCoverPagerAdapter) viewPager.getAdapter()).getFragment(position));
|
||||
if (albumCoverFragment != null) {
|
||||
albumCoverFragment.receiveColor(colorReceiver, position);
|
||||
}
|
||||
if (position != MusicPlayerRemote.getPosition()) {
|
||||
MusicPlayerRemote.playSongAt(position);
|
||||
}
|
||||
}
|
||||
|
||||
private AlbumCoverPagerAdapter.AlbumCoverFragment.ColorReceiver colorReceiver = new AlbumCoverPagerAdapter.AlbumCoverFragment.ColorReceiver() {
|
||||
@Override
|
||||
public void onColorReady(int color, int request) {
|
||||
Log.d(TAG, "currentRequest == request : " + (currentRequest == request));
|
||||
if (currentRequest == request) {
|
||||
notifyColorChange(color);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
|
||||
|
|
@ -86,7 +112,44 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
|
|||
}
|
||||
|
||||
public void showHeartAnimation() {
|
||||
favoriteIcon.clearAnimation();
|
||||
|
||||
favoriteIcon.setAlpha(0f);
|
||||
favoriteIcon.setScaleX(0f);
|
||||
favoriteIcon.setScaleY(0f);
|
||||
favoriteIcon.setVisibility(View.VISIBLE);
|
||||
favoriteIcon.setPivotX(favoriteIcon.getWidth() / 2);
|
||||
favoriteIcon.setPivotY(favoriteIcon.getHeight() / 2);
|
||||
|
||||
favoriteIcon.animate()
|
||||
.setDuration(ViewUtil.PHONOGRAPH_ANIM_TIME / 2)
|
||||
.setInterpolator(new DecelerateInterpolator())
|
||||
.scaleX(1f)
|
||||
.scaleY(1f)
|
||||
.alpha(1f)
|
||||
.setListener(new SimpleAnimatorListener() {
|
||||
@Override
|
||||
public void onAnimationCancel(Animator animation) {
|
||||
favoriteIcon.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
})
|
||||
.withEndAction(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
favoriteIcon.animate()
|
||||
.setDuration(ViewUtil.PHONOGRAPH_ANIM_TIME / 2)
|
||||
.setInterpolator(new AccelerateInterpolator())
|
||||
.scaleX(0f)
|
||||
.scaleY(0f)
|
||||
.alpha(0f)
|
||||
.start();
|
||||
}
|
||||
})
|
||||
.start();
|
||||
}
|
||||
|
||||
private void notifyColorChange(int color) {
|
||||
if (onColorChangedListener != null) onColorChangedListener.onColorChanged(color);
|
||||
}
|
||||
|
||||
public void setOnColorChangedListener(OnColorChangedListener listener) {
|
||||
|
|
|
|||
|
|
@ -111,6 +111,8 @@ public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCove
|
|||
}
|
||||
});
|
||||
|
||||
playingQueueCard.setCardBackgroundColor(ColorUtil.resolveColor(getActivity(), R.attr.cardBackgroundColor));
|
||||
|
||||
setUpCurrentSongView();
|
||||
}
|
||||
|
||||
|
|
@ -267,13 +269,13 @@ public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCove
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onHide() {
|
||||
playbackControlsFragment.hide();
|
||||
public void onShow() {
|
||||
playbackControlsFragment.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShow() {
|
||||
playbackControlsFragment.show();
|
||||
public void onHide() {
|
||||
playbackControlsFragment.hide();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue