diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2015-05-11 17:14:42 +0200 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2015-05-19 11:58:38 +0200 |
commit | 4561f16f11ed2f27d711d3ea42f5e84bcccc002c (patch) | |
tree | ed439456b9d56a2c2981876d27e14b30a89c1315 /app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java | |
parent | c829a4e9b2cf7ccee117269769d71c40432f92fa (diff) | |
download | AntennaPod-4561f16f11ed2f27d711d3ea42f5e84bcccc002c.zip |
Redone new indicator
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java index aaa8cd645..463d06376 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java @@ -9,8 +9,8 @@ import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.ListFragment; -import android.support.v4.util.Pair; import android.support.v4.view.MenuItemCompat; + import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.SearchView; import android.util.Log; @@ -85,7 +85,9 @@ public class ItemlistFragment extends ListFragment { private long feedID; private Feed feed; - private LongList queue; + private LongList queuedItemsIds; + private LongList newItemsIds; + private boolean itemsLoaded = false; private boolean viewsCreated = false; @@ -299,7 +301,7 @@ public class ItemlistFragment extends ListFragment { } contextMenu = menu; - FeedItemMenuHandler.onPrepareMenu(contextMenuInterface, item, false, queue); + FeedItemMenuHandler.onPrepareMenu(contextMenuInterface, item, false, queuedItemsIds); } @Override @@ -547,7 +549,12 @@ public class ItemlistFragment extends ListFragment { @Override public boolean isInQueue(FeedItem item) { - return (queue != null) && queue.contains(item.getId()); + return (queuedItemsIds != null) && queuedItemsIds.contains(item.getId()); + } + + @Override + public boolean isNew(FeedItem item) { + return (newItemsIds != null) && newItemsIds.contains(item.getId()); } @Override @@ -580,9 +587,9 @@ public class ItemlistFragment extends ListFragment { } } - private class ItemLoader extends AsyncTask<Long, Void, Pair<Feed,LongList>> { + private class ItemLoader extends AsyncTask<Long, Void, Object[]> { @Override - protected Pair<Feed,LongList> doInBackground(Long... params) { + protected Object[] doInBackground(Long... params) { long feedID = params[0]; Context context = getActivity(); if (context != null) { @@ -591,19 +598,21 @@ public class ItemlistFragment extends ListFragment { FeedItemFilter filter = feed.getItemFilter(); feed.setItems(filter.filter(context, feed.getItems())); } - LongList queue = DBReader.getQueueIDList(context); - return Pair.create(feed, queue); + LongList queuedItemsIds = DBReader.getQueueIDList(context); + LongList newItemsIds = DBReader.getNewItemIds(context); + return new Object[] { feed, queuedItemsIds, newItemsIds }; } else { return null; } } @Override - protected void onPostExecute(Pair<Feed,LongList> res) { + protected void onPostExecute(Object[] res) { super.onPostExecute(res); if (res != null) { - feed = res.first; - queue = res.second; + feed = (Feed) res[0]; + queuedItemsIds = (LongList) res[1]; + newItemsIds = res[2] == null ? null : (LongList) res[2]; itemsLoaded = true; if (viewsCreated) { onFragmentLoaded(); |