summaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java39
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java4
2 files changed, 21 insertions, 22 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java
index d40cee37d..25d27217b 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java
@@ -8,7 +8,6 @@ import android.support.v4.app.ActivityCompat;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -240,7 +239,6 @@ public class EpisodesApplyActionFragment extends Fragment {
}
private void sortByTitle(final boolean reverse) {
- Log.d(TAG, "sortByTitle()");
Collections.sort(episodes, new Comparator<FeedItem>() {
@Override
public int compare(FeedItem lhs, FeedItem rhs) {
@@ -293,8 +291,7 @@ public class EpisodesApplyActionFragment extends Fragment {
}
private void checkAll() {
- for(int i=0; i < episodes.size(); i++) {
- FeedItem episode = episodes.get(i);
+ for (FeedItem episode : episodes) {
if(false == checkedIds.contains(episode.getId())) {
checkedIds.add(episode.getId());
}
@@ -308,8 +305,7 @@ public class EpisodesApplyActionFragment extends Fragment {
}
private void checkPlayed(boolean isPlayed) {
- for (int i = 0; i < episodes.size(); i++) {
- FeedItem episode = episodes.get(i);
+ for (FeedItem episode : episodes) {
if(episode.isRead() == isPlayed) {
if(!checkedIds.contains(episode.getId())) {
checkedIds.add(episode.getId());
@@ -324,8 +320,7 @@ public class EpisodesApplyActionFragment extends Fragment {
}
private void checkDownloaded(boolean isDownloaded) {
- for (int i = 0; i < episodes.size(); i++) {
- FeedItem episode = episodes.get(i);
+ for (FeedItem episode : episodes) {
if(episode.getMedia().isDownloaded() == isDownloaded) {
if(!checkedIds.contains(episode.getId())) {
checkedIds.add(episode.getId());
@@ -357,32 +352,36 @@ public class EpisodesApplyActionFragment extends Fragment {
}
private void queueChecked() {
- DBWriter.addQueueItem(getActivity(), false, checkedIds.toArray());
+ LongList orderedIds = new LongList();
+ for(FeedItem episode : episodes) {
+ if(checkedIds.contains(episode.getId())) {
+ orderedIds.add((episode.getId()));
+ }
+ }
+ DBWriter.addQueueItem(getActivity(), false, orderedIds.toArray());
close();
}
private void markedCheckedPlayed() {
- for(long id : checkedIds.toArray()) {
- DBWriter.markItemRead(getActivity(), id, true);
- }
+ DBWriter.markItemRead(getActivity(), true, checkedIds.toArray());
close();
}
private void markedCheckedUnplayed() {
- for(long id : checkedIds.toArray()) {
- DBWriter.markItemRead(getActivity(), id, false);
- }
+ DBWriter.markItemRead(getActivity(), false, checkedIds.toArray());
close();
}
private void downloadChecked() {
- FeedItem[] items = new FeedItem[checkedIds.size()];
- for(int i=0; i < checkedIds.size(); i++) {
- long id = checkedIds.get(i);
- items[i] = findById(id);
+ // download the check episodes in the same order as they are currently displayed
+ List<FeedItem> toDownload = new ArrayList<FeedItem>(checkedIds.size());
+ for(FeedItem episode : episodes) {
+ if(checkedIds.contains(episode.getId())) {
+ toDownload.add(episode);
+ }
}
try {
- DBTasks.downloadFeedItems(getActivity(), items);
+ DBTasks.downloadFeedItems(getActivity(), toDownload.toArray(new FeedItem[0]));
} catch (DownloadRequestException e) {
e.printStackTrace();
DownloadRequestErrorDialogCreator.newRequestErrorDialog(getActivity(), e.getMessage());
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java
index 4bce3c7ba..cbf3ffdd7 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java
@@ -72,7 +72,7 @@ public class NewEpisodesFragment extends AllEpisodesFragment {
Log.d(TAG, "remove(" + which + ")");
stopItemLoader();
FeedItem item = (FeedItem) listView.getAdapter().getItem(which);
- DBWriter.markItemRead(getActivity(), item.getId(), true);
+ DBWriter.markItemRead(getActivity(), true, item.getId());
undoBarController.showUndoBar(false,
getString(R.string.marked_as_read_label), new FeedItemUndoToken(item,
which)
@@ -88,7 +88,7 @@ public class NewEpisodesFragment extends AllEpisodesFragment {
public void onUndo(FeedItemUndoToken token) {
if (token != null) {
long itemId = token.getFeedItemId();
- DBWriter.markItemRead(context, itemId, false);
+ DBWriter.markItemRead(context, false, itemId);
}
}
@Override