summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2014-09-17 20:51:45 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2014-09-17 20:51:45 +0200
commit072639b5b22e816df9f78b5cd8a7d4e5379b6aff (patch)
tree341c574bd6eb64497470e7226b3222b0a7c5a824 /src/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
parent76add8ef68dbc9997e901f4c11c397f581e8eabe (diff)
downloadAntennaPod-072639b5b22e816df9f78b5cd8a7d4e5379b6aff.zip
Changed project structure
Switched from custom layout to standard gradle project structure
Diffstat (limited to 'src/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java')
-rw-r--r--src/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java196
1 files changed, 0 insertions, 196 deletions
diff --git a/src/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java b/src/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
deleted file mode 100644
index 082fe93fc..000000000
--- a/src/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
+++ /dev/null
@@ -1,196 +0,0 @@
-package de.danoeh.antennapod.fragment;
-
-import android.app.Activity;
-import android.content.Context;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.support.v4.app.ListFragment;
-import android.view.View;
-import android.widget.ListView;
-import de.danoeh.antennapod.adapter.DownloadedEpisodesListAdapter;
-import de.danoeh.antennapod.dialog.FeedItemDialog;
-import de.danoeh.antennapod.feed.EventDistributor;
-import de.danoeh.antennapod.feed.FeedItem;
-import de.danoeh.antennapod.storage.DBReader;
-import de.danoeh.antennapod.storage.DBWriter;
-import de.danoeh.antennapod.util.QueueAccess;
-
-import java.util.List;
-
-/**
- * Displays all running downloads and provides a button to delete them
- */
-public class CompletedDownloadsFragment extends ListFragment {
- private static final int EVENTS =
- EventDistributor.DOWNLOAD_HANDLED |
- EventDistributor.DOWNLOADLOG_UPDATE |
- EventDistributor.QUEUE_UPDATE |
- EventDistributor.UNREAD_ITEMS_UPDATE;
-
- private List<FeedItem> items;
- private QueueAccess queue;
- private DownloadedEpisodesListAdapter listAdapter;
-
- private boolean viewCreated = false;
- private boolean itemsLoaded = false;
-
- private FeedItemDialog feedItemDialog;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- startItemLoader();
- }
-
- @Override
- public void onStart() {
- super.onStart();
- EventDistributor.getInstance().register(contentUpdate);
- }
-
- @Override
- public void onStop() {
- super.onStop();
- EventDistributor.getInstance().unregister(contentUpdate);
- stopItemLoader();
- }
-
- @Override
- public void onDetach() {
- super.onDetach();
- stopItemLoader();
- }
-
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- listAdapter = null;
- viewCreated = false;
- feedItemDialog = null;
- stopItemLoader();
- }
-
- @Override
- public void onAttach(Activity activity) {
- super.onAttach(activity);
- if (viewCreated && itemsLoaded) {
- onFragmentLoaded();
- }
- }
-
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- viewCreated = true;
- if (itemsLoaded && getActivity() != null) {
- onFragmentLoaded();
- }
- }
-
- @Override
- public void onListItemClick(ListView l, View v, int position, long id) {
- super.onListItemClick(l, v, position, id);
- FeedItem item = listAdapter.getItem(position - l.getHeaderViewsCount());
- if (item != null) {
- feedItemDialog = FeedItemDialog.newInstance(getActivity(), item, queue);
- feedItemDialog.show();
- }
-
- }
-
- private void onFragmentLoaded() {
- if (listAdapter == null) {
- listAdapter = new DownloadedEpisodesListAdapter(getActivity(), itemAccess);
- setListAdapter(listAdapter);
- }
- setListShown(true);
- listAdapter.notifyDataSetChanged();
- if (feedItemDialog != null) {
- boolean res = feedItemDialog.updateContent(queue, items);
- if (!res && feedItemDialog.isShowing()) {
- feedItemDialog.dismiss();
- }
- }
- }
-
- private DownloadedEpisodesListAdapter.ItemAccess itemAccess = new DownloadedEpisodesListAdapter.ItemAccess() {
- @Override
- public int getCount() {
- return (items != null) ? items.size() : 0;
- }
-
- @Override
- public FeedItem getItem(int position) {
- return (items != null) ? items.get(position) : null;
- }
-
- @Override
- public void onFeedItemSecondaryAction(FeedItem item) {
- DBWriter.deleteFeedMediaOfItem(getActivity(), item.getMedia().getId());
- }
- };
-
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
- @Override
- public void update(EventDistributor eventDistributor, Integer arg) {
- if ((arg & EventDistributor.DOWNLOAD_QUEUED) != 0) {
- if (feedItemDialog != null && feedItemDialog.isShowing()) {
- feedItemDialog.updateMenuAppearance();
- }
- } else if ((arg & EVENTS) != 0) {
- startItemLoader();
- }
- }
- };
-
- private ItemLoader itemLoader;
-
- private void startItemLoader() {
- if (itemLoader != null) {
- itemLoader.cancel(true);
- }
- itemLoader = new ItemLoader();
- itemLoader.execute();
- }
-
- private void stopItemLoader() {
- if (itemLoader != null) {
- itemLoader.cancel(true);
- }
- }
-
- private class ItemLoader extends AsyncTask<Void, Void, Object[]> {
-
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- if (!itemsLoaded && viewCreated) {
- setListShown(false);
- }
- }
-
- @Override
- protected void onPostExecute(Object[] results) {
- super.onPostExecute(results);
- if (results != null) {
- items = (List<FeedItem>) results[0];
- queue = (QueueAccess) results[1];
- itemsLoaded = true;
- if (viewCreated && getActivity() != null) {
- onFragmentLoaded();
- }
- }
- }
-
- @Override
- protected Object[] doInBackground(Void... params) {
- Context context = getActivity();
- if (context != null) {
- return new Object[]{DBReader.getDownloadedItems(context),
- QueueAccess.IDListAccess(DBReader.getQueueIDList(context))};
- }
- return null;
- }
- }
-}