Android Open Source - GlassTunes Glass Tunes App






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;
/* ww w. j  av  a 2  s  .  co  m*/
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;

import android.app.Application;

import com.woodblockwithoutco.remotemetadataprovider.media.RemoteMetadataProvider;
import com.woodblockwithoutco.remotemetadataprovider.media.enums.PlayState;
import com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnPlaybackStateChangeListener;

public class GlassTunesApp extends Application implements
    OnPlaybackStateChangeListener {

  private RemoteMetadataProvider mMetadataProvider;

  List<WeakReference<OnPlaybackStateChangeListener>> mPlaybackStateChangeListeners = new ArrayList<WeakReference<OnPlaybackStateChangeListener>>();

  private PlayState mCurrentState = PlayState.STOPPED;

  @Override
  public void onCreate() {
    super.onCreate();
    mMetadataProvider = RemoteMetadataProvider.getInstance(this);
    mMetadataProvider.setOnPlaybackStateChangeListener(this);
    mMetadataProvider.acquireRemoteControls();
  }

  public void addOnPlaybackStateChangedListener(
      OnPlaybackStateChangeListener listener) {
    mPlaybackStateChangeListeners
        .add(new WeakReference<OnPlaybackStateChangeListener>(listener));
    listener.onPlaybackStateChanged(mCurrentState);
  }

  @Override
  public void onPlaybackStateChanged(PlayState playbackState) {
    for (WeakReference<OnPlaybackStateChangeListener> ref : mPlaybackStateChangeListeners) {
      OnPlaybackStateChangeListener listener = ref.get();
      if (listener != null) {
        listener.onPlaybackStateChanged(playbackState);
      } else {
        mPlaybackStateChangeListeners.remove(ref);
      }
    }

    mCurrentState = playbackState;
  }

  public void removeOnPlaybackStateChangedListener(
      OnPlaybackStateChangeListener listener) {
    for (int i = mPlaybackStateChangeListeners.size() - 1; i >= 0; i--) {
      WeakReference<OnPlaybackStateChangeListener> ref = mPlaybackStateChangeListeners
          .get(i);
      OnPlaybackStateChangeListener item = ref.get();
      if (item == null || item.equals(listener)) {
        mPlaybackStateChangeListeners.remove(i);
      }
    }
  }
}




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