summaryrefslogtreecommitdiffstats
path: root/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java')
-rw-r--r--src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java40
1 files changed, 33 insertions, 7 deletions
diff --git a/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java b/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java
index 98a1be0..1a2d966 100644
--- a/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java
+++ b/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java
@@ -16,6 +16,9 @@ import android.os.IBinder;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
+import android.text.Html;
+import android.text.Spanned;
+import android.text.TextUtils;
import android.util.Log;
import android.view.ContextMenu;
import android.view.LayoutInflater;
@@ -133,6 +136,9 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection,
// popup menu for pressing the menu icon
private PopupMenu mPopupMenu;
+ // Lyrics text view
+ private TextView mLyricsText;
+
private long mSelectedId = -1;
private boolean mIsPaused = false;
@@ -180,6 +186,8 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection,
mEqualizerView.initialize(getActivity());
mEqualizerGradient = mRootView.findViewById(R.id.equalizerGradient);
+ mLyricsText = (TextView) mRootView.findViewById(R.id.audio_player_lyrics);
+
return mRootView;
}
@@ -216,6 +224,8 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection,
filter.addAction(MusicPlaybackService.REFRESH);
// Listen to changes to the entire queue
filter.addAction(MusicPlaybackService.QUEUE_CHANGED);
+ // Listen for lyrics text for the audio track
+ filter.addAction(MusicPlaybackService.NEW_LYRICS);
// Register the intent filters
getActivity().registerReceiver(mPlaybackStatus, filter);
// Refresh the current time
@@ -685,6 +695,19 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection,
return super.onContextItemSelected(item);
}
+ public void onLyrics(String lyrics) {
+ if (TextUtils.isEmpty(lyrics)
+ || !PreferenceUtils.getInstance(getActivity()).getShowLyrics()) {
+ mLyricsText.animate().alpha(0).setDuration(200);
+ } else {
+ lyrics = lyrics.replace("\n", "<br/>");
+ Spanned span = Html.fromHtml(lyrics);
+ mLyricsText.setText(span);
+
+ mLyricsText.animate().alpha(1).setDuration(200);
+ }
+ }
+
@Override
public void onBeginSlide() {
mEqualizerView.setPanelVisible(false);
@@ -743,25 +766,28 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection,
*/
@Override
public void onReceive(final Context context, final Intent intent) {
+ final AudioPlayerFragment audioPlayerFragment = mReference.get();
final String action = intent.getAction();
if (action.equals(MusicPlaybackService.META_CHANGED)) {
// Current info
- mReference.get().updateNowPlayingInfo();
- mReference.get().dismissPopupMenu();
+ audioPlayerFragment.updateNowPlayingInfo();
+ audioPlayerFragment.dismissPopupMenu();
} else if (action.equals(MusicPlaybackService.PLAYSTATE_CHANGED)) {
// Set the play and pause image
- mReference.get().mPlayPauseProgressButton.getPlayPauseButton().updateState();
+ audioPlayerFragment.mPlayPauseProgressButton.getPlayPauseButton().updateState();
} else if (action.equals(MusicPlaybackService.REPEATMODE_CHANGED)
|| action.equals(MusicPlaybackService.SHUFFLEMODE_CHANGED)) {
// Set the repeat image
- mReference.get().mRepeatButton.updateRepeatState();
+ audioPlayerFragment.mRepeatButton.updateRepeatState();
// Set the shuffle image
- mReference.get().mShuffleButton.updateShuffleState();
+ audioPlayerFragment.mShuffleButton.updateShuffleState();
// Update the queue
- mReference.get().createAndSetAdapter();
+ audioPlayerFragment.createAndSetAdapter();
} else if (action.equals(MusicPlaybackService.QUEUE_CHANGED)) {
- mReference.get().createAndSetAdapter();
+ audioPlayerFragment.createAndSetAdapter();
+ } else if (action.equals(MusicPlaybackService.NEW_LYRICS)) {
+ audioPlayerFragment.onLyrics(intent.getStringExtra("lyrics"));
}
}
}