Android Open Source - HapiPodcastJ Podcast Base Activity






From Project

Back to project page HapiPodcastJ.

License

The source code is released under:

GNU General Public License

If you think the Android project HapiPodcastJ 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 info.xuluan.podcast;
/*from  ww  w.  ja v  a2s  . co m*/
import info.xuluan.podcast.service.PodcastService;
import info.xuluan.podcast.utils.Log;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.database.Cursor;
import android.os.Bundle;
import android.os.IBinder;
import android.widget.SimpleCursorAdapter;

public class PodcastBaseActivity extends HapiListActivity implements Flingable {
  public static final boolean ENABLE_FLING_TABS = false;

  public static final int COLUMN_INDEX_TITLE = 1;

  protected  static PodcastService mServiceBinder = null;
  protected final Log log = Log.getLog(getClass());

  protected SimpleCursorAdapter mAdapter;
  protected Cursor mCursor = null;

  protected static ComponentName mService = null;
  
  protected boolean mInit = false;
  
  protected static ServiceConnection serviceConnection = new ServiceConnection() {
    public void onServiceConnected(ComponentName className, IBinder service) {
      mServiceBinder = ((PodcastService.PodcastBinder) service)
          .getService();
      //log.debug("onServiceConnected");
    }

    public void onServiceDisconnected(ComponentName className) {
      mServiceBinder = null;
      //log.debug("onServiceDisconnected");
    }
  };

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

  @Override
  protected void onDestroy() {
    super.onDestroy();
    try {
      unbindService(serviceConnection);
    } catch (Exception e) {
      e.printStackTrace();

    }

    // stopService(new Intent(this, service.getClass()));
  }

  @Override
  protected void onResume() {
    super.onResume();
    if (mInit) {
      mInit = false;

      if (mCursor != null)
        mCursor.close();

      unbindService(serviceConnection);

      startInit();

    }

  }

  @Override
  protected void onPause() {
    super.onPause();

  }

  @Override
  public void onLowMemory() {
    super.onLowMemory();
    mInit = true;

    log.debug("onLowMemory()");
    finish();
  }

  public void startInit() {

    log.debug("startInit()");

    mService = startService(new Intent(this, PodcastService.class));

    Intent bindIntent = new Intent(this, PodcastService.class);
    bindService(bindIntent, serviceConnection, Context.BIND_AUTO_CREATE);
    
    if (ENABLE_FLING_TABS)
      getListView().setOnTouchListener((new FlingGestureDetector(this).createOnTouchListener()));  
  }

  //Flingable interface
  public Intent nextIntent() { return HomeActivity.nextIntent(this); }
  public Intent prevIntent() { return HomeActivity.prevIntent(this); }
}




Java Source Code List

info.xuluan.podcast.AddChannelActivity.java
info.xuluan.podcast.BackupChannelsActivity.java
info.xuluan.podcast.ChannelActivity.java
info.xuluan.podcast.ChannelDetailsActivity.java
info.xuluan.podcast.ChannelsActivity.java
info.xuluan.podcast.DownloadActivity.java
info.xuluan.podcast.EpisodeDetailsActivity.java
info.xuluan.podcast.EpisodeIcons.java
info.xuluan.podcast.EpisodesActivity.java
info.xuluan.podcast.FlingGestureDetector.java
info.xuluan.podcast.Flingable.java
info.xuluan.podcast.HapiActivity.java
info.xuluan.podcast.HapiListActivity.java
info.xuluan.podcast.HapiPreferenceActivity.java
info.xuluan.podcast.HomeActivity.java
info.xuluan.podcast.MainActivity.java
info.xuluan.podcast.PlayerActivity.java
info.xuluan.podcast.PodcastBaseActivity.java
info.xuluan.podcast.PodcastTab.java
info.xuluan.podcast.Pref.java
info.xuluan.podcast.SearchActivity.java
info.xuluan.podcast.StartupActivity.java
info.xuluan.podcast.TabsHelper.java
info.xuluan.podcast.actionbar.ActionBarHelperBase.java
info.xuluan.podcast.actionbar.ActionBarHelperHoneycomb.java
info.xuluan.podcast.actionbar.ActionBarHelperICS.java
info.xuluan.podcast.actionbar.ActionBarHelper.java
info.xuluan.podcast.actionbar.SimpleMenuItem.java
info.xuluan.podcast.actionbar.SimpleMenu.java
info.xuluan.podcast.fetcher.FeedFetcher.java
info.xuluan.podcast.fetcher.Response.java
info.xuluan.podcast.parser.FeedHandler.java
info.xuluan.podcast.parser.FeedParserHandler.java
info.xuluan.podcast.parser.FeedParserListenerInterface.java
info.xuluan.podcast.parser.FeedParserListener.java
info.xuluan.podcast.parser.FeedParser.java
info.xuluan.podcast.parser.OPMLParserHandler.java
info.xuluan.podcast.parser.SearchItem.java
info.xuluan.podcast.provider.FeedItem.java
info.xuluan.podcast.provider.ItemColumns.java
info.xuluan.podcast.provider.PodcastOpenHelper.java
info.xuluan.podcast.provider.PodcastProvider.java
info.xuluan.podcast.provider.SubscriptionColumns.java
info.xuluan.podcast.provider.Subscription.java
info.xuluan.podcast.service.PlayerService.java
info.xuluan.podcast.service.PodcastService.java
info.xuluan.podcast.utils.DialogMenu.java
info.xuluan.podcast.utils.FileUtils.java
info.xuluan.podcast.utils.IconCursorAdapter.java
info.xuluan.podcast.utils.LabeledFrame.java
info.xuluan.podcast.utils.LockHandler.java
info.xuluan.podcast.utils.Log.java
info.xuluan.podcast.utils.SDCardMgr.java
info.xuluan.podcast.utils.StrUtils.java
info.xuluan.podcast.utils.ZipExporter.java
info.xuluan.podcast.utils.ZipImporter.java