diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/download/CompletedDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/download/CompletedDownloadsFragment.java index 0d82b7133..fa35b57ed 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/screen/download/CompletedDownloadsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/download/CompletedDownloadsFragment.java @@ -11,10 +11,13 @@ import android.widget.ProgressBar; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + import com.google.android.material.appbar.MaterialToolbar; import com.google.android.material.snackbar.Snackbar; import de.danoeh.antennapod.R; import de.danoeh.antennapod.activity.MainActivity; +import de.danoeh.antennapod.event.FeedUpdateRunningEvent; import de.danoeh.antennapod.ui.episodeslist.EpisodeItemListAdapter; import de.danoeh.antennapod.actionbutton.DeleteActionButton; import de.danoeh.antennapod.event.DownloadLogEvent; @@ -75,6 +78,7 @@ public class CompletedDownloadsFragment extends Fragment private SwipeActions swipeActions; private ProgressBar progressBar; private MaterialToolbar toolbar; + private SwipeRefreshLayout swipeRefreshLayout; @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @@ -95,6 +99,10 @@ public class CompletedDownloadsFragment extends Fragment } ((MainActivity) getActivity()).setupToolbarToggle(toolbar, displayUpArrow); + swipeRefreshLayout = root.findViewById(R.id.swipeRefresh); + swipeRefreshLayout.setDistanceToTriggerSync(getResources().getInteger(R.integer.swipe_refresh_distance)); + swipeRefreshLayout.setOnRefreshListener(() -> FeedUpdateManager.getInstance().runOnceOrAsk(requireContext())); + recyclerView = root.findViewById(R.id.recyclerView); recyclerView.setRecycledViewPool(((MainActivity) getActivity()).getRecycledViewPool()); adapter = new CompletedDownloadsListAdapter((MainActivity) getActivity()); @@ -277,6 +285,11 @@ public class CompletedDownloadsFragment extends Fragment loadItems(); } + @Subscribe(sticky = true, threadMode = ThreadMode.MAIN) + public void onEventMainThread(FeedUpdateRunningEvent event) { + swipeRefreshLayout.setRefreshing(event.isFeedUpdateRunning); + } + private void loadItems() { if (disposable != null) { disposable.dispose(); diff --git a/app/src/main/res/layout/simple_list_fragment.xml b/app/src/main/res/layout/simple_list_fragment.xml index 3972e419e..63c418d17 100644 --- a/app/src/main/res/layout/simple_list_fragment.xml +++ b/app/src/main/res/layout/simple_list_fragment.xml @@ -1,5 +1,5 @@ - - + android:layout_below="@id/appbar"> + + + + - +