Clean ups.

This commit is contained in:
Karim Abou Zeid 2016-04-16 18:14:16 +02:00
commit 2a2b9fbda3
2 changed files with 62 additions and 38 deletions

View file

@ -97,9 +97,9 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (Util.isLandscape(getResources())) { if (Util.isLandscape(getResources())) {
impl = new LandscapeImpl(); impl = new LandscapeImpl(this);
} else { } else {
impl = new PortraitImpl(); impl = new PortraitImpl(this);
} }
View view = inflater.inflate(R.layout.fragment_card_player, container, false); View view = inflater.inflate(R.layout.fragment_card_player, container, false);
@ -111,7 +111,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
public void onViewCreated(final View view, Bundle savedInstanceState) { public void onViewCreated(final View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); super.onViewCreated(view, savedInstanceState);
impl.init(this); impl.init();
setUpPlayerToolbar(); setUpPlayerToolbar();
setUpSubFragments(); setUpSubFragments();
@ -125,7 +125,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
@Override @Override
public void onGlobalLayout() { public void onGlobalLayout() {
view.getViewTreeObserver().removeOnGlobalLayoutListener(this); view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
impl.setUpPanelAndAlbumCoverHeight(CardPlayerFragment.this); impl.setUpPanelAndAlbumCoverHeight();
} }
}); });
@ -209,7 +209,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
@SuppressWarnings("ConstantConditions") @SuppressWarnings("ConstantConditions")
private void updateCurrentSong() { private void updateCurrentSong() {
impl.updateCurrentSong(this, MusicPlayerRemote.getCurrentSong()); impl.updateCurrentSong(MusicPlayerRemote.getCurrentSong());
} }
private void setUpSubFragments() { private void setUpSubFragments() {
@ -355,7 +355,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
private void animateColorChange(final int newColor) { private void animateColorChange(final int newColor) {
impl.animateColorChange(this, newColor); impl.animateColorChange(newColor);
lastColor = newColor; lastColor = newColor;
} }
@ -435,16 +435,22 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
interface Impl { interface Impl {
void init(CardPlayerFragment fragment); void init();
void updateCurrentSong(CardPlayerFragment fragment, Song song); void updateCurrentSong(Song song);
void animateColorChange(CardPlayerFragment fragment, final int newColor); void animateColorChange(final int newColor);
void setUpPanelAndAlbumCoverHeight(CardPlayerFragment fragment); void setUpPanelAndAlbumCoverHeight();
} }
private static abstract class BaseImpl implements Impl { private static abstract class BaseImpl implements Impl {
protected CardPlayerFragment fragment;
public BaseImpl(CardPlayerFragment fragment) {
this.fragment = fragment;
}
public AnimatorSet createDefaultColorChangeAnimatorSet(CardPlayerFragment fragment, int newColor) { public AnimatorSet createDefaultColorChangeAnimatorSet(CardPlayerFragment fragment, int newColor) {
Animator backgroundAnimator; Animator backgroundAnimator;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
@ -476,7 +482,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
@Override @Override
public void animateColorChange(CardPlayerFragment fragment, int newColor) { public void animateColorChange(int newColor) {
if (ATHUtil.isWindowBackgroundDark(fragment.getActivity())) { if (ATHUtil.isWindowBackgroundDark(fragment.getActivity())) {
fragment.playerQueueSubHeader.setTextColor(ThemeStore.textColorSecondary(fragment.getActivity())); fragment.playerQueueSubHeader.setTextColor(ThemeStore.textColorSecondary(fragment.getActivity()));
} }
@ -488,8 +494,12 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
MediaEntryViewHolder currentSongViewHolder; MediaEntryViewHolder currentSongViewHolder;
Song currentSong = new Song(); Song currentSong = new Song();
public PortraitImpl(CardPlayerFragment fragment) {
super(fragment);
}
@Override @Override
public void init(final CardPlayerFragment fragment) { public void init() {
currentSongViewHolder = new MediaEntryViewHolder(fragment.getView().findViewById(R.id.current_song)); currentSongViewHolder = new MediaEntryViewHolder(fragment.getView().findViewById(R.id.current_song));
currentSongViewHolder.separator.setVisibility(View.VISIBLE); currentSongViewHolder.separator.setVisibility(View.VISIBLE);
@ -534,7 +544,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
@Override @Override
public void setUpPanelAndAlbumCoverHeight(CardPlayerFragment fragment) { public void setUpPanelAndAlbumCoverHeight() {
WidthFitSquareLayout albumCoverContainer = (WidthFitSquareLayout) fragment.getView().findViewById(R.id.album_cover_container); WidthFitSquareLayout albumCoverContainer = (WidthFitSquareLayout) fragment.getView().findViewById(R.id.album_cover_container);
int topMargin = fragment.getResources().getDimensionPixelSize(R.dimen.status_bar_padding); int topMargin = fragment.getResources().getDimensionPixelSize(R.dimen.status_bar_padding);
@ -550,15 +560,15 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
@Override @Override
public void updateCurrentSong(CardPlayerFragment fragment, Song song) { public void updateCurrentSong(Song song) {
currentSong = song; currentSong = song;
currentSongViewHolder.title.setText(song.title); currentSongViewHolder.title.setText(song.title);
currentSongViewHolder.text.setText(song.artistName); currentSongViewHolder.text.setText(song.artistName);
} }
@Override @Override
public void animateColorChange(CardPlayerFragment fragment, int newColor) { public void animateColorChange(int newColor) {
super.animateColorChange(fragment, newColor); super.animateColorChange(newColor);
fragment.slidingUpPanelLayout.setBackgroundColor(fragment.lastColor); fragment.slidingUpPanelLayout.setBackgroundColor(fragment.lastColor);
@ -568,13 +578,17 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
@SuppressWarnings("ConstantConditions") @SuppressWarnings("ConstantConditions")
private static class LandscapeImpl extends BaseImpl { private static class LandscapeImpl extends BaseImpl {
public LandscapeImpl(CardPlayerFragment fragment) {
super(fragment);
}
@Override @Override
public void init(CardPlayerFragment fragment) { public void init() {
} }
@Override @Override
public void setUpPanelAndAlbumCoverHeight(CardPlayerFragment fragment) { public void setUpPanelAndAlbumCoverHeight() {
int topMargin = fragment.getResources().getDimensionPixelSize(R.dimen.status_bar_padding); int topMargin = fragment.getResources().getDimensionPixelSize(R.dimen.status_bar_padding);
int panelHeight = fragment.slidingUpPanelLayout.getHeight() - fragment.playbackControlsFragment.getView().getHeight() + topMargin; int panelHeight = fragment.slidingUpPanelLayout.getHeight() - fragment.playbackControlsFragment.getView().getHeight() + topMargin;
fragment.slidingUpPanelLayout.setPanelHeight(panelHeight); fragment.slidingUpPanelLayout.setPanelHeight(panelHeight);
@ -583,14 +597,14 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
@Override @Override
public void updateCurrentSong(CardPlayerFragment fragment, Song song) { public void updateCurrentSong(Song song) {
fragment.toolbar.setTitle(song.title); fragment.toolbar.setTitle(song.title);
fragment.toolbar.setSubtitle(song.artistName); fragment.toolbar.setSubtitle(song.artistName);
} }
@Override @Override
public void animateColorChange(CardPlayerFragment fragment, int newColor) { public void animateColorChange(int newColor) {
super.animateColorChange(fragment, newColor); super.animateColorChange(newColor);
fragment.slidingUpPanelLayout.setBackgroundColor(fragment.lastColor); fragment.slidingUpPanelLayout.setBackgroundColor(fragment.lastColor);

View file

@ -91,7 +91,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
impl = new PortraitImpl(); impl = new PortraitImpl(this);
View view = inflater.inflate(R.layout.fragment_flat_player, container, false); View view = inflater.inflate(R.layout.fragment_flat_player, container, false);
ButterKnife.bind(this, view); ButterKnife.bind(this, view);
@ -102,7 +102,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
public void onViewCreated(final View view, Bundle savedInstanceState) { public void onViewCreated(final View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); super.onViewCreated(view, savedInstanceState);
impl.init(this); impl.init();
setUpPlayerToolbar(); setUpPlayerToolbar();
setUpSubFragments(); setUpSubFragments();
@ -116,7 +116,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
@Override @Override
public void onGlobalLayout() { public void onGlobalLayout() {
view.getViewTreeObserver().removeOnGlobalLayoutListener(this); view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
impl.setUpPanelAndAlbumCoverHeight(FlatPlayerFragment.this); impl.setUpPanelAndAlbumCoverHeight();
} }
}); });
} }
@ -197,7 +197,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
@SuppressWarnings("ConstantConditions") @SuppressWarnings("ConstantConditions")
private void updateCurrentSong() { private void updateCurrentSong() {
impl.updateCurrentSong(this, MusicPlayerRemote.getCurrentSong()); impl.updateCurrentSong(MusicPlayerRemote.getCurrentSong());
} }
private void setUpSubFragments() { private void setUpSubFragments() {
@ -343,7 +343,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
private void animateColorChange(final int newColor) { private void animateColorChange(final int newColor) {
impl.animateColorChange(this, newColor); impl.animateColorChange(newColor);
lastColor = newColor; lastColor = newColor;
} }
@ -418,17 +418,23 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
interface Impl { interface Impl {
void init(FlatPlayerFragment fragment); void init();
void updateCurrentSong(FlatPlayerFragment fragment, Song song); void updateCurrentSong(Song song);
void animateColorChange(FlatPlayerFragment fragment, final int newColor); void animateColorChange(final int newColor);
void setUpPanelAndAlbumCoverHeight(FlatPlayerFragment fragment); void setUpPanelAndAlbumCoverHeight();
} }
private static abstract class BaseImpl implements Impl { private static abstract class BaseImpl implements Impl {
public AnimatorSet createDefaultColorChangeAnimatorSet(FlatPlayerFragment fragment, int newColor) { protected FlatPlayerFragment fragment;
public BaseImpl(FlatPlayerFragment fragment) {
this.fragment = fragment;
}
public AnimatorSet createDefaultColorChangeAnimatorSet(int newColor) {
Animator backgroundAnimator = ViewUtil.createBackgroundColorTransition(fragment.playbackControlsFragment.getView(), fragment.lastColor, newColor); Animator backgroundAnimator = ViewUtil.createBackgroundColorTransition(fragment.playbackControlsFragment.getView(), fragment.lastColor, newColor);
Animator statusBarAnimator = ViewUtil.createBackgroundColorTransition(fragment.playerStatusBar, ColorUtil.darkenColor(fragment.lastColor), ColorUtil.darkenColor(newColor)); Animator statusBarAnimator = ViewUtil.createBackgroundColorTransition(fragment.playerStatusBar, ColorUtil.darkenColor(fragment.lastColor), ColorUtil.darkenColor(newColor));
@ -447,7 +453,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
@Override @Override
public void animateColorChange(FlatPlayerFragment fragment, int newColor) { public void animateColorChange(int newColor) {
if (ATHUtil.isWindowBackgroundDark(fragment.getActivity())) { if (ATHUtil.isWindowBackgroundDark(fragment.getActivity())) {
fragment.playerQueueSubHeader.setTextColor(ThemeStore.textColorSecondary(fragment.getActivity())); fragment.playerQueueSubHeader.setTextColor(ThemeStore.textColorSecondary(fragment.getActivity()));
} }
@ -459,8 +465,12 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
MediaEntryViewHolder currentSongViewHolder; MediaEntryViewHolder currentSongViewHolder;
Song currentSong = new Song(); Song currentSong = new Song();
public PortraitImpl(FlatPlayerFragment fragment) {
super(fragment);
}
@Override @Override
public void init(final FlatPlayerFragment fragment) { public void init() {
currentSongViewHolder = new MediaEntryViewHolder(fragment.getView().findViewById(R.id.current_song)); currentSongViewHolder = new MediaEntryViewHolder(fragment.getView().findViewById(R.id.current_song));
currentSongViewHolder.separator.setVisibility(View.VISIBLE); currentSongViewHolder.separator.setVisibility(View.VISIBLE);
@ -505,7 +515,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
@Override @Override
public void setUpPanelAndAlbumCoverHeight(FlatPlayerFragment fragment) { public void setUpPanelAndAlbumCoverHeight() {
WidthFitSquareLayout albumCoverContainer = (WidthFitSquareLayout) fragment.getView().findViewById(R.id.album_cover_container); WidthFitSquareLayout albumCoverContainer = (WidthFitSquareLayout) fragment.getView().findViewById(R.id.album_cover_container);
final int availablePanelHeight = fragment.slidingUpPanelLayout.getHeight() - fragment.getView().findViewById(R.id.player_content).getHeight(); final int availablePanelHeight = fragment.slidingUpPanelLayout.getHeight() - fragment.getView().findViewById(R.id.player_content).getHeight();
@ -520,16 +530,16 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
@Override @Override
public void updateCurrentSong(FlatPlayerFragment fragment, Song song) { public void updateCurrentSong(Song song) {
currentSong = song; currentSong = song;
currentSongViewHolder.title.setText(song.title); currentSongViewHolder.title.setText(song.title);
currentSongViewHolder.text.setText(song.artistName); currentSongViewHolder.text.setText(song.artistName);
} }
@Override @Override
public void animateColorChange(FlatPlayerFragment fragment, int newColor) { public void animateColorChange(int newColor) {
super.animateColorChange(fragment, newColor); super.animateColorChange(newColor);
createDefaultColorChangeAnimatorSet(fragment, newColor).start(); createDefaultColorChangeAnimatorSet(newColor).start();
} }
} }
} }