diff options
author | ByteHamster <info@bytehamster.com> | 2021-10-14 21:40:12 +0200 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2021-10-14 21:40:12 +0200 |
commit | e734d43e7287a0f0f3f678c5875a34bf6bc75716 (patch) | |
tree | 7feb076b68c10f804c4784c10c498d750d72f0b9 /app/src/main/java/de/danoeh/antennapod/fragment | |
parent | 66250bebea5e2bef515651d310811ea7682a3c13 (diff) | |
parent | f4d3ebb22de54985466c5776e22ca4da8b3c7acc (diff) | |
download | AntennaPod-e734d43e7287a0f0f3f678c5875a34bf6bc75716.zip |
Merge branch 'master' into develop
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment')
5 files changed, 15 insertions, 6 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java index 74661d240..6c8baef29 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java @@ -84,6 +84,7 @@ public class CompletedDownloadsFragment extends Fragment implements progressBar = root.findViewById(R.id.progLoading); speedDialView = root.findViewById(R.id.fabSD); + speedDialView.setOverlayLayout(root.findViewById(R.id.fabSDOverlay)); speedDialView.inflate(R.menu.episodes_apply_action_speeddial); speedDialView.removeActionItemById(R.id.download_batch); speedDialView.removeActionItemById(R.id.mark_read_batch); @@ -273,8 +274,10 @@ public class CompletedDownloadsFragment extends Fragment implements @Override public void afterBindViewHolder(EpisodeItemViewHolder holder, int pos) { - DeleteActionButton actionButton = new DeleteActionButton(getItem(pos)); - actionButton.configure(holder.secondaryActionButton, holder.secondaryActionIcon, getActivity()); + if (!inActionMode()) { + DeleteActionButton actionButton = new DeleteActionButton(getItem(pos)); + actionButton.configure(holder.secondaryActionButton, holder.secondaryActionIcon, getActivity()); + } } @Override diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java index 6d63e4ab2..7ea76bb8d 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java @@ -168,10 +168,9 @@ public abstract class EpisodesListFragment extends Fragment { @Override public boolean onContextItemSelected(@NonNull MenuItem item) { Log.d(TAG, "onContextItemSelected() called with: " + "item = [" + item + "]"); - if (!getUserVisibleHint()) { - return false; - } - if (!isVisible()) { + if (!getUserVisibleHint() || !isVisible() || !isMenuVisible()) { + // The method is called on all fragments in a ViewPager, so this needs to be ignored in invisible ones. + // Apparently, none of the visibility check method works reliably on its own, so we just use all. return false; } if (item.getItemId() == R.id.share_item) { diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java index fb3b8d136..0ee60866d 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java @@ -238,6 +238,7 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem // Init action UI (via a FAB Speed Dial) speedDialView = root.findViewById(R.id.fabSD); + speedDialView.setOverlayLayout(root.findViewById(R.id.fabSDOverlay)); speedDialView.inflate(R.menu.episodes_apply_action_speeddial); speedDialView.setOnChangeListener(new SpeedDialView.OnChangeListener() { @Override diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java index c4bef220e..1b7d236c6 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java @@ -465,6 +465,7 @@ public class QueueFragment extends Fragment implements Toolbar.OnMenuItemClickLi progLoading.setVisibility(View.VISIBLE); speedDialView = root.findViewById(R.id.fabSD); + speedDialView.setOverlayLayout(root.findViewById(R.id.fabSDOverlay)); speedDialView.inflate(R.menu.episodes_apply_action_speeddial); speedDialView.removeActionItemById(R.id.mark_read_batch); speedDialView.removeActionItemById(R.id.mark_unread_batch); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java index 68cc04a28..db19c828d 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java @@ -167,6 +167,7 @@ public class SubscriptionFragment extends Fragment }); speedDialView = root.findViewById(R.id.fabSD); + speedDialView.setOverlayLayout(root.findViewById(R.id.fabSDOverlay)); speedDialView.inflate(R.menu.nav_feed_action_speeddial); speedDialView.setOnChangeListener(new SpeedDialView.OnChangeListener() { @Override @@ -303,6 +304,10 @@ public class SubscriptionFragment extends Fragment .observeOn(AndroidSchedulers.mainThread()) .subscribe( result -> { + if (listItems != null && listItems.size() > result.size()) { + // We have fewer items. This can result in items being selected that are no longer visible. + subscriptionAdapter.endSelectMode(); + } listItems = result; subscriptionAdapter.setItems(result); subscriptionAdapter.notifyDataSetChanged(); |