diff options
author | datavizard <44409076+datavizard@users.noreply.github.com> | 2021-04-13 22:53:31 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-13 19:23:31 +0200 |
commit | 5fa558e483e5285d3d23a6b3fe469f5945778a67 (patch) | |
tree | d729a9577d94b1eb2cbc03a284015aca6d62d8ac | |
parent | 754021a795d32119446010827703d53476b66ae6 (diff) | |
download | AntennaPod-5fa558e483e5285d3d23a6b3fe469f5945778a67.zip |
Adds pull to refresh functionality on Queue screen (#5104)
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java | 11 | ||||
-rw-r--r-- | app/src/main/res/layout/queue_fragment.xml | 19 |
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" |