summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2019-11-12 12:25:23 +0100
committerByteHamster <info@bytehamster.com>2019-11-12 12:25:23 +0100
commit62722b25045c20ad6a7e97595a508fb1dee8d93d (patch)
tree1e08ea5ea5f5999de71882a5d26bdf904f54bb33 /app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
parent60a070b56c223cc5c02e98ef078dc9179a9c0ffb (diff)
downloadAntennaPod-62722b25045c20ad6a7e97595a508fb1dee8d93d.zip
Fixed position sometimes updated in wrong item
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java26
1 files changed, 8 insertions, 18 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
index fd669f3e6..ed1698ecf 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
@@ -54,7 +54,6 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter<AllEpisodesR
private final boolean showOnlyNewEpisodes;
private FeedItem selectedItem;
- private Holder currentlyPlayingItem = null;
private final int playingBackGroundColor;
private final int normalBackGroundColor;
@@ -172,7 +171,6 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter<AllEpisodesR
if (media.isCurrentlyPlaying()) {
holder.container.setBackgroundColor(playingBackGroundColor);
- currentlyPlayingItem = holder;
} else {
holder.container.setBackgroundColor(normalBackGroundColor);
}
@@ -202,22 +200,6 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter<AllEpisodesR
.load();
}
- @Override
- public void onBindViewHolder(@NonNull Holder holder, int pos, List<Object> payload) {
- onBindViewHolder(holder, pos);
-
- if (holder == currentlyPlayingItem && payload.size() == 1 && payload.get(0) instanceof PlaybackPositionEvent) {
- PlaybackPositionEvent event = (PlaybackPositionEvent) payload.get(0);
- holder.progress.setProgress((int) (100.0 * event.getPosition() / event.getDuration()));
- }
- }
-
- public void notifyCurrentlyPlayingItemChanged(PlaybackPositionEvent event) {
- if (currentlyPlayingItem != null && currentlyPlayingItem.getAdapterPosition() != RecyclerView.NO_POSITION) {
- notifyItemChanged(currentlyPlayingItem.getAdapterPosition(), event);
- }
- }
-
@Nullable
public FeedItem getSelectedItem() {
return selectedItem;
@@ -302,6 +284,14 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter<AllEpisodesR
FeedItemMenuHandler.onPrepareMenu(contextMenuInterface, item);
}
+ public boolean isCurrentlyPlayingItem() {
+ return item.getMedia() != null && item.getMedia().isCurrentlyPlaying();
+ }
+
+ public void notifyPlaybackPositionUpdated(PlaybackPositionEvent event) {
+ progress.setProgress((int) (100.0 * event.getPosition() / event.getDuration()));
+ }
+
}
public interface ItemAccess {