summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordatavizard <44409076+datavizard@users.noreply.github.com>2021-04-13 22:53:31 +0530
committerGitHub <noreply@github.com>2021-04-13 19:23:31 +0200
commit5fa558e483e5285d3d23a6b3fe469f5945778a67 (patch)
treed729a9577d94b1eb2cbc03a284015aca6d62d8ac
parent754021a795d32119446010827703d53476b66ae6 (diff)
downloadAntennaPod-5fa558e483e5285d3d23a6b3fe469f5945778a67.zip
Adds pull to refresh functionality on Queue screen (#5104)
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java11
-rw-r--r--app/src/main/res/layout/queue_fragment.xml19
2 files changed, 24 insertions, 6 deletions
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 f1e6b7ae5..5eb71b984 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -4,6 +4,8 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
@@ -19,6 +21,8 @@ import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.SimpleItemAnimator;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
+
import com.google.android.material.snackbar.Snackbar;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
@@ -440,6 +444,13 @@ public class QueueFragment extends Fragment implements Toolbar.OnMenuItemClickLi
recyclerView.setRecycledViewPool(((MainActivity) getActivity()).getRecycledViewPool());
registerForContextMenu(recyclerView);
+ SwipeRefreshLayout swipeRefreshLayout = root.findViewById(R.id.swipeRefresh);
+ swipeRefreshLayout.setOnRefreshListener(() -> {
+ AutoUpdateManager.runImmediate(requireContext());
+ new Handler(Looper.getMainLooper()).postDelayed(() -> swipeRefreshLayout.setRefreshing(false),
+ getResources().getInteger(R.integer.swipe_to_refresh_duration_in_ms));
+ });
+
itemTouchHelper = new ItemTouchHelper(
new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN,
ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
diff --git a/app/src/main/res/layout/queue_fragment.xml b/app/src/main/res/layout/queue_fragment.xml
index 6a1851648..3bcd4819f 100644
--- a/app/src/main/res/layout/queue_fragment.xml
+++ b/app/src/main/res/layout/queue_fragment.xml
@@ -32,12 +32,19 @@
android:layout_below="@id/info_bar"
android:background="?android:attr/listDivider"/>
- <de.danoeh.antennapod.view.EpisodeItemListRecyclerView
- android:id="@+id/recyclerView"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingHorizontal="@dimen/additional_horizontal_spacing"
- android:layout_below="@id/divider" />
+ <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+ android:id="@+id/swipeRefresh"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_below="@id/divider">
+
+ <de.danoeh.antennapod.view.EpisodeItemListRecyclerView
+ android:id="@+id/recyclerView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingHorizontal="@dimen/additional_horizontal_spacing" />
+
+ </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
<ProgressBar
android:id="@+id/progLoading"