Android Open Source - GlassTunes Base Content Card Activity






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;
//from   w w w  .  ja  v  a 2 s.c  om
import java.util.ArrayList;
import java.util.List;

import android.app.LoaderManager.LoaderCallbacks;
import android.content.CursorLoader;
import android.content.Loader;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.widget.ViewAnimator;

import com.glasstunes.screenslide.BasicCardPagerAdapter;
import com.glasstunes.screenslide.CardFragment;
import com.glasstunes.screenslide.ScreenSlideActivity;
import com.glasstunes.screenslide.ScreenSlidePagerAdapter;

public abstract class BaseContentCardActivity extends ScreenSlideActivity
    implements LoaderCallbacks<Cursor> {
  protected BasicCardPagerAdapter mAdapter;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setResult(RESULT_CANCELED);
  }

  @Override
  protected ScreenSlidePagerAdapter onCreatePagerAdapter() {
    mAdapter = new BasicCardPagerAdapter(getFragmentManager());
    getLoaderManager().initLoader(0, null, this);
    return mAdapter;
  }

  @Override
  public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    getSwitcher().setDisplayedChild(1);
    if (Debug.LOG_CONTENT) {
      Log.d("Uri", getContentUri().toString());
    }
    return new CursorLoader(this, getContentUri(), null, null, null, null);
  }

  protected abstract Uri getContentUri();

  @Override
  public void onLoadFinished(Loader<Cursor> arg0, Cursor cursor) {
    List<CardFragment> cards = new ArrayList<CardFragment>();
    if (cursor != null && cursor.moveToFirst()) {
      if (Debug.LOG_CONTENT) {
        Log.v("Cursor Count", "" + cursor.getCount());
        List<String> columns = new ArrayList<String>();
        for (int i = 0; i < cursor.getColumnCount(); i++) {
          columns.add(cursor.getColumnName(i));
        }
        Log.v("Column Names",
            Debug.buildConcatString(", ",
                columns.toArray(new String[columns.size()])));
      }
      do {
        if (Debug.LOG_CONTENT) {
          List<String> row = new ArrayList<String>();
          for (int i = 0; i < cursor.getColumnCount(); i++) {
            row.add(cursor.getString(i));
          }

          Log.v("Row " + cursor.getPosition(),
              Debug.buildConcatString(", ",
                  row.toArray(new String[row.size()])));
        }
        if (cursor.getPosition() >= getNumSkippedCards()
            && (getLimitCards() == -1 || cards.size() < getLimitCards())) {
          cards.add(getCardFromCursor(cursor));
        }
      } while (cursor.moveToNext());
      getSwitcher().setDisplayedChild(0);
    } else {
      getSwitcher().setDisplayedChild(2);
    }
    mAdapter.setCards(cards.toArray(new CardFragment[cards.size()]));
  }

  protected ViewAnimator getSwitcher() {
    return (ViewAnimator) findViewById(R.id.switcher);
  }

  protected abstract CardFragment getCardFromCursor(Cursor cursor);

  @Override
  public void onLoaderReset(Loader<Cursor> arg0) {
    mAdapter.setCards();
  }

  @Override
  public void select() {
    if (getSwitcher().getDisplayedChild() == 0) {
      super.select();
    }
  }

  protected int getNumSkippedCards() {
    return 0;
  }

  protected int getLimitCards() {
    return -1;
  }
}




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