diff options
Diffstat (limited to 'src/de/danoeh/antennapod/fragment/NewEpisodesFragment.java')
-rw-r--r-- | src/de/danoeh/antennapod/fragment/NewEpisodesFragment.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/de/danoeh/antennapod/fragment/NewEpisodesFragment.java b/src/de/danoeh/antennapod/fragment/NewEpisodesFragment.java index 3377dc565..c2dccd820 100644 --- a/src/de/danoeh/antennapod/fragment/NewEpisodesFragment.java +++ b/src/de/danoeh/antennapod/fragment/NewEpisodesFragment.java @@ -9,6 +9,7 @@ import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.AdapterView; import android.widget.ProgressBar; import android.widget.TextView; import com.mobeta.android.dslv.DragSortListView; @@ -17,6 +18,7 @@ import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.adapter.DefaultActionButtonCallback; import de.danoeh.antennapod.adapter.NewEpisodesListAdapter; import de.danoeh.antennapod.asynctask.DownloadObserver; +import de.danoeh.antennapod.dialog.FeedItemDialog; import de.danoeh.antennapod.feed.EventDistributor; import de.danoeh.antennapod.feed.FeedItem; import de.danoeh.antennapod.feed.FeedMedia; @@ -56,6 +58,8 @@ public class NewEpisodesFragment extends Fragment { private DownloadObserver downloadObserver = null; + private FeedItemDialog feedItemDialog; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -101,6 +105,7 @@ public class NewEpisodesFragment extends Fragment { if (downloadObserver != null) { downloadObserver.onPause(); } + feedItemDialog = null; } @Override @@ -111,6 +116,18 @@ public class NewEpisodesFragment extends Fragment { txtvEmpty = (TextView) root.findViewById(android.R.id.empty); progLoading = (ProgressBar) root.findViewById(R.id.progLoading); + listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView<?> parent, View view, int position, long id) { + FeedItem item = (FeedItem) listAdapter.getItem(position - listView.getHeaderViewsCount()); + if (item != null) { + feedItemDialog = new FeedItemDialog(activity.get(), item, queueAccess); + feedItemDialog.show(); + } + + } + }); + if (!itemsLoaded) { progLoading.setVisibility(View.VISIBLE); txtvEmpty.setVisibility(View.GONE); @@ -133,6 +150,12 @@ public class NewEpisodesFragment extends Fragment { downloadObserver = new DownloadObserver(activity.get(), new Handler(), downloadObserverCallback); downloadObserver.onResume(); } + if (feedItemDialog != null && feedItemDialog.isShowing()) { + feedItemDialog.setQueue(queueAccess); + feedItemDialog.setItemFromCollection(unreadItems); + feedItemDialog.setItemFromCollection(recentItems); + feedItemDialog.updateMenuAppearance(); + } listAdapter.notifyDataSetChanged(); } @@ -142,6 +165,9 @@ public class NewEpisodesFragment extends Fragment { if (listAdapter != null) { listAdapter.notifyDataSetChanged(); } + if (feedItemDialog != null && feedItemDialog.isShowing()) { + feedItemDialog.updateMenuAppearance(); + } } @Override |