summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/fragment
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2021-10-14 21:40:12 +0200
committerByteHamster <info@bytehamster.com>2021-10-14 21:40:12 +0200
commite734d43e7287a0f0f3f678c5875a34bf6bc75716 (patch)
tree7feb076b68c10f804c4784c10c498d750d72f0b9 /app/src/main/java/de/danoeh/antennapod/fragment
parent66250bebea5e2bef515651d310811ea7682a3c13 (diff)
parentf4d3ebb22de54985466c5776e22ca4da8b3c7acc (diff)
downloadAntennaPod-e734d43e7287a0f0f3f678c5875a34bf6bc75716.zip
Merge branch 'master' into develop
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java7
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java7
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java1
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java1
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java5
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();