diff options
author | ByteHamster <info@bytehamster.com> | 2019-11-12 12:25:23 +0100 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2019-11-12 12:25:23 +0100 |
commit | 62722b25045c20ad6a7e97595a508fb1dee8d93d (patch) | |
tree | 1e08ea5ea5f5999de71882a5d26bdf904f54bb33 /app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java | |
parent | 60a070b56c223cc5c02e98ef078dc9179a9c0ffb (diff) | |
download | AntennaPod-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.java | 26 |
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 { |