Android Open Source - GlassTunes Now Playing Card






From Project

Back to project page GlassTunes.

License

The source code is released under:

Apache License

If you think the Android project GlassTunes listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.glasstunes.cards;
//  ww  w .j a v a2 s . c  o  m
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.glasstunes.ControlsActivity;
import com.glasstunes.GlassTunesApp;
import com.glasstunes.R;
import com.glasstunes.screenslide.CardFragment;
import com.glasstunes.view.SliderView;
import com.woodblockwithoutco.remotemetadataprovider.media.RemoteMetadataProvider;
import com.woodblockwithoutco.remotemetadataprovider.media.enums.PlayState;
import com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnArtworkChangeListener;
import com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnMetadataChangeListener;
import com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnPlaybackStateChangeListener;

public class NowPlayingCard extends CardFragment implements
    OnArtworkChangeListener, OnMetadataChangeListener,
    OnPlaybackStateChangeListener {

  public static final NowPlayingCard newInstance() {
    return new NowPlayingCard();
  }

  private RemoteMetadataProvider mMetadataProvider;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mMetadataProvider = RemoteMetadataProvider.getInstance(getActivity());
    mMetadataProvider.setOnArtworkChangeListener(this);
    mMetadataProvider.setOnMetadataChangeListener(this);
  }

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
      Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.musicplayer, container, false);
    return v;
  }

  @Override
  public void onStart() {
    super.onStart();
    mMetadataProvider.acquireRemoteControls();
    ((GlassTunesApp) getActivity().getApplication())
        .addOnPlaybackStateChangedListener(this);
  }

  @Override
  public void onStop() {
    super.onStop();
    mMetadataProvider.dropRemoteControls(false);
    ((GlassTunesApp) getActivity().getApplication())
        .removeOnPlaybackStateChangedListener(this);
  }

  @Override
  public void onSelect() {
    startActivity(new Intent(getActivity(), ControlsActivity.class));
  }

  @Override
  public void onArtworkChanged(Bitmap arg0) {
    ((ImageView) getView().findViewById(R.id.cover_image))
        .setImageBitmap(arg0);
  }

  @Override
  public void onMetadataChanged(String artist, String title, String album,
      String albumArtist, long duration) {
    ((TextView) getView().findViewById(R.id.song_title)).setText(title);
    ((TextView) getView().findViewById(R.id.artist_name)).setText(artist);
  }

  @Override
  public void onPlaybackStateChanged(PlayState playbackState) {
    ImageView playStatus = (ImageView) getView().findViewById(
        R.id.play_status);
    SliderView progress = (SliderView) getView().findViewById(
        R.id.progress_slider);
    if (playbackState == PlayState.BUFFERING) {
      progress.startIndeterminate();
    } else {
      progress.stopIndeterminate();
    }
    switch (playbackState) {
    case PAUSED:
      playStatus.setImageResource(R.drawable.ic_musicplayer_pause);
      playStatus.setVisibility(View.VISIBLE);
      break;
    case PLAYING:
      playStatus.setImageResource(R.drawable.ic_musicplayer_play);
      playStatus.setVisibility(View.VISIBLE);
      break;
    case SKIPPING_BACKWARDS:
      playStatus.setImageResource(R.drawable.ic_musicplayer_previous);
      playStatus.setVisibility(View.VISIBLE);
      break;
    case SKIPPING_FORWARDS:
      playStatus.setImageResource(R.drawable.ic_musicplayer_next);
      playStatus.setVisibility(View.VISIBLE);
      break;
    default:
      playStatus.setVisibility(View.INVISIBLE);
      break;

    }
  }

}




Java Source Code List

com.glasstunes.BaseContentCardActivity.java
com.glasstunes.BrowseActivity.java
com.glasstunes.ConfirmationActivity.java
com.glasstunes.ControlsActivity.java
com.glasstunes.Debug.java
com.glasstunes.DetailActivity.java
com.glasstunes.GlassTunesApp.java
com.glasstunes.HeaderActivity.java
com.glasstunes.LauncherActivity.java
com.glasstunes.NowPlayingActivity.java
com.glasstunes.cards.ActionCard.java
com.glasstunes.cards.BrowseCard.java
com.glasstunes.cards.ContentCard.java
com.glasstunes.cards.HeaderCard.java
com.glasstunes.cards.LauncherCard.java
com.glasstunes.cards.NowPlayingCard.java
com.glasstunes.cards.PausePlayCard.java
com.glasstunes.cards.SkipNextCard.java
com.glasstunes.cards.SkipPreviousCard.java
com.glasstunes.controller.LocalMusicController.java
com.glasstunes.controller.MusicController.java
com.glasstunes.screenslide.BasicCardFragment.java
com.glasstunes.screenslide.BasicCardPagerAdapter.java
com.glasstunes.screenslide.BounceBackViewPager.java
com.glasstunes.screenslide.CardFragment.java
com.glasstunes.screenslide.ContextWrapperEdgeEffect.java
com.glasstunes.screenslide.ScreenSlideActivity.java
com.glasstunes.screenslide.ScreenSlidePagerAdapter.java
com.glasstunes.view.RobotoTypefaces.java
com.glasstunes.view.SliderView.java
com.glasstunes.view.TypophileTextView.java
com.viewpagerindicator.CirclePageIndicator.java
com.viewpagerindicator.IconPageIndicator.java
com.viewpagerindicator.IconPagerAdapter.java
com.viewpagerindicator.IcsLinearLayout.java
com.viewpagerindicator.LinePageIndicator.java
com.viewpagerindicator.PageIndicator.java
com.viewpagerindicator.TabPageIndicator.java
com.viewpagerindicator.TitlePageIndicator.java
com.viewpagerindicator.UnderlinePageIndicator.java
com.woodblockwithoutco.remotemetadataprovider.internal.MetadataUpdaterCallback.java
com.woodblockwithoutco.remotemetadataprovider.internal.RemoteControlDisplay.java
com.woodblockwithoutco.remotemetadataprovider.media.RemoteMetadataProvider.java
com.woodblockwithoutco.remotemetadataprovider.media.enums.MediaCommand.java
com.woodblockwithoutco.remotemetadataprovider.media.enums.PlayState.java
com.woodblockwithoutco.remotemetadataprovider.media.enums.RemoteControlFeature.java
com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnArtworkChangeListener.java
com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnMetadataChangeListener.java
com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnPlaybackStateChangeListener.java
com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnRemoteControlFeaturesChangeListener.java