From 8a57d32214ceec56da76c2a8c5b5bbf3caeca109 Mon Sep 17 00:00:00 2001 From: tkashkin Date: Fri, 14 Jul 2017 21:22:54 +0300 Subject: [PATCH] Refactoring --- .../model/lyrics/AbsSynchronizedLyrics.java | 4 +- .../gramophone/model/lyrics/Lyrics.java | 4 +- .../player/PlayerAlbumCoverFragment.java | 48 ++++++++++--------- 3 files changed, 30 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/AbsSynchronizedLyrics.java b/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/AbsSynchronizedLyrics.java index b41d6daa..6ae8de9a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/AbsSynchronizedLyrics.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/AbsSynchronizedLyrics.java @@ -5,8 +5,8 @@ import android.util.SparseArray; public abstract class AbsSynchronizedLyrics extends Lyrics { private static final int TIME_OFFSET_MS = 500; // time adjustment to display line before it actually starts - public final SparseArray lines = new SparseArray<>(); - public int offset = 0; + protected final SparseArray lines = new SparseArray<>(); + protected int offset = 0; public String getLine(int time) { time += offset + AbsSynchronizedLyrics.TIME_OFFSET_MS; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/Lyrics.java b/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/Lyrics.java index 734e9015..fb38ca25 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/Lyrics.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/Lyrics.java @@ -10,8 +10,8 @@ public class Lyrics { public Song song; public String data; - boolean parsed = false; - boolean valid = false; + protected boolean parsed = false; + protected boolean valid = false; public Lyrics setData(Song song, String data) { this.song = song; 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 4eff07cf..60cf18e3 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 @@ -184,21 +184,33 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements .start(); } + private boolean isLyricsLayoutVisible() { + return lyrics != null && lyrics.isSynchronized() && lyrics.isValid() && PreferenceUtil.getInstance(getActivity()).synchronizedLyricsShow(); + } + + private boolean isLyricsLayoutBound() { + return lyricsLayout != null && lyricsLine1 != null && lyricsLine2 != null; + } + + private void hideLyricsLayout() { + lyricsLayout.animate().alpha(0f).setDuration(PlayerAlbumCoverFragment.LYRICS_ANIM_DURATION).withEndAction(new Runnable() { + @Override + public void run() { + if (!isLyricsLayoutBound()) return; + lyricsLayout.setVisibility(View.GONE); + lyricsLine1.setText(null); + lyricsLine2.setText(null); + } + }); + } + public void setLyrics(Lyrics l) { lyrics = l; - if (lyricsLayout == null || lyricsLine1 == null || lyricsLine2 == null) return; + if (!isLyricsLayoutBound()) return; - if (!PreferenceUtil.getInstance(getActivity()).synchronizedLyricsShow() || l == null || !l.isSynchronized() || !l.isValid()) { - lyricsLayout.animate().alpha(0f).setDuration(PlayerAlbumCoverFragment.LYRICS_ANIM_DURATION).withEndAction(new Runnable() { - @Override - public void run() { - if (lyricsLayout == null || lyricsLine1 == null || lyricsLine2 == null) return; - lyricsLayout.setVisibility(View.GONE); - lyricsLine1.setText(null); - lyricsLine2.setText(null); - } - }); + if (!isLyricsLayoutVisible()) { + hideLyricsLayout(); return; } @@ -219,18 +231,10 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements @Override public void onUpdateProgressViews(int progress, int total) { - if (lyricsLayout == null || lyricsLine1 == null || lyricsLine2 == null) return; + if (!isLyricsLayoutBound()) return; - if (!PreferenceUtil.getInstance(getActivity()).synchronizedLyricsShow() || lyrics == null || !lyrics.isSynchronized() || !lyrics.isValid()) { - lyricsLayout.animate().alpha(0f).setDuration(PlayerAlbumCoverFragment.LYRICS_ANIM_DURATION).withEndAction(new Runnable() { - @Override - public void run() { - if (lyricsLayout == null || lyricsLine1 == null || lyricsLine2 == null) return; - lyricsLayout.setVisibility(View.GONE); - lyricsLine1.setText(null); - lyricsLine2.setText(null); - } - }); + if (!isLyricsLayoutVisible()) { + hideLyricsLayout(); return; }