summaryrefslogtreecommitdiff
path: root/src/de/podfetcher/fragment
diff options
context:
space:
mode:
authorDaniel Oeh <daniel@danielpc.(none)>2012-05-29 13:26:14 +0200
committerDaniel Oeh <daniel@danielpc.(none)>2012-05-29 13:26:14 +0200
commit92c53bcf92c9be21df88e6aae0ee93784d9b936d (patch)
treebbbfbd07a419d24c39ff8de37f35cc86436a3016 /src/de/podfetcher/fragment
parent2df0fb4774d054e8f394dfefd62a0511db29d17e (diff)
downloadAntennaPod-92c53bcf92c9be21df88e6aae0ee93784d9b936d.zip
Converted FeedlistActivity into ListFragment
Diffstat (limited to 'src/de/podfetcher/fragment')
-rw-r--r--src/de/podfetcher/fragment/FeedlistFragment.java105
1 files changed, 105 insertions, 0 deletions
diff --git a/src/de/podfetcher/fragment/FeedlistFragment.java b/src/de/podfetcher/fragment/FeedlistFragment.java
new file mode 100644
index 000000000..dceb06b4b
--- /dev/null
+++ b/src/de/podfetcher/fragment/FeedlistFragment.java
@@ -0,0 +1,105 @@
+package de.podfetcher.fragment;
+
+import de.podfetcher.R;
+import de.podfetcher.feed.*;
+import de.podfetcher.activity.*;
+import de.podfetcher.adapter.FeedlistAdapter;
+import de.podfetcher.storage.DownloadRequester;
+import de.podfetcher.service.DownloadService;
+import android.os.Bundle;
+import android.app.Activity;
+import android.view.View;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.widget.ListView;
+import com.actionbarsherlock.app.SherlockListFragment;
+import com.actionbarsherlock.app.SherlockFragmentActivity;
+import com.actionbarsherlock.view.Menu;
+import com.actionbarsherlock.view.MenuInflater;
+import com.actionbarsherlock.view.MenuItem;
+import android.util.Log;
+
+
+public class FeedlistFragment extends SherlockListFragment {
+ private static final String TAG = "FeedlistActivity";
+ public static final String EXTRA_SELECTED_FEED = "extra.de.podfetcher.activity.selected_feed";
+
+ private FeedManager manager;
+ private FeedlistAdapter fla;
+ private SherlockFragmentActivity pActivity;
+
+
+ @Override
+ public void onAttach(Activity activity) {
+ super.onAttach(activity);
+ pActivity = (SherlockFragmentActivity) activity;
+ }
+
+ @Override
+ public void onDetach() {
+ super.onDetach();
+ pActivity = null;
+ }
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ Log.d(TAG, "Creating");
+ setHasOptionsMenu(true);
+ manager = FeedManager.getInstance();
+ fla = new FeedlistAdapter(pActivity, 0, manager.getFeeds());
+ setListAdapter(fla);
+
+ }
+
+ @Override
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+ inflater.inflate(R.menu.feedlist, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch(item.getItemId()) {
+ case R.id.add_feed:
+ startActivity(new Intent(pActivity, AddFeedActivity.class));
+ return true;
+ case R.id.all_feed_refresh:
+ manager.refreshAllFeeds(pActivity);
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ IntentFilter filter = new IntentFilter();
+ filter.addAction(DownloadService.ACTION_FEED_SYNC_COMPLETED);
+
+ pActivity.registerReceiver(contentUpdate, filter);
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ pActivity.unregisterReceiver(contentUpdate);
+ }
+
+ private BroadcastReceiver contentUpdate = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ fla.notifyDataSetChanged();
+ }
+ };
+
+ @Override
+ public void onListItemClick(ListView l, View v, int position, long id) {
+ Feed selection = fla.getItem(position);
+ Intent showFeed = new Intent(pActivity, FeedItemlistActivity.class);
+ showFeed.putExtra(EXTRA_SELECTED_FEED, selection.getId());
+
+ pActivity.startActivity(showFeed);
+ }
+}