Skip to content

Commit

Permalink
Hide refresh from toolbar (AntennaPod#6850)
Browse files Browse the repository at this point in the history
  • Loading branch information
ueen authored and quails4Eva committed Jan 20, 2024
1 parent 64cf435 commit 740076e
Show file tree
Hide file tree
Showing 15 changed files with 59 additions and 113 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.view.ContextMenu;
import android.view.KeyEvent;
Expand All @@ -13,16 +11,27 @@
import android.view.ViewGroup;
import android.widget.ProgressBar;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
import androidx.core.util.Pair;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.SimpleItemAnimator;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;

import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.snackbar.Snackbar;
import com.leinardi.android.speeddial.SpeedDialView;

import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
Expand Down Expand Up @@ -51,13 +60,6 @@
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
* Shows unread or recently published episodes
Expand All @@ -77,6 +79,7 @@ public abstract class EpisodesListFragment extends Fragment
EmptyViewHandler emptyView;
SpeedDialView speedDialView;
MaterialToolbar toolbar;
SwipeRefreshLayout swipeRefreshLayout;
SwipeActions swipeActions;
private ProgressBar progressBar;

Expand Down Expand Up @@ -180,13 +183,9 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
}

SwipeRefreshLayout swipeRefreshLayout = root.findViewById(R.id.swipeRefresh);
swipeRefreshLayout = root.findViewById(R.id.swipeRefresh);
swipeRefreshLayout.setDistanceToTriggerSync(getResources().getInteger(R.integer.swipe_refresh_distance));
swipeRefreshLayout.setOnRefreshListener(() -> {
FeedUpdateManager.runOnceOrAsk(requireContext());
new Handler(Looper.getMainLooper()).postDelayed(() -> swipeRefreshLayout.setRefreshing(false),
getResources().getInteger(R.integer.swipe_to_refresh_duration_in_ms));
});
swipeRefreshLayout.setOnRefreshListener(() -> FeedUpdateManager.runOnceOrAsk(requireContext()));

listAdapter = new EpisodeItemListAdapter((MainActivity) getActivity()) {
@Override
Expand Down Expand Up @@ -456,9 +455,7 @@ protected void updateToolbar() {

@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
public void onEventMainThread(FeedUpdateRunningEvent event) {
if (toolbar.getMenu().findItem(R.id.refresh_item) != null) {
MenuItemUtils.updateRefreshMenuItem(toolbar.getMenu(), R.id.refresh_item, event.isFeedUpdateRunning);
}
swipeRefreshLayout.setRefreshing(event.isFeedUpdateRunning);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
import android.content.res.Configuration;
import android.graphics.LightingColorFilter;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.view.ContextMenu;
import android.view.KeyEvent;
Expand All @@ -15,17 +13,30 @@
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;

import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.snackbar.Snackbar;
import com.joanzapata.iconify.Iconify;
import com.leinardi.android.speeddial.SpeedDialView;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

import java.util.Collections;
import java.util.List;
import java.util.concurrent.ExecutionException;

import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
Expand Down Expand Up @@ -72,15 +83,6 @@
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

import java.util.Collections;
import java.util.List;
import java.util.concurrent.ExecutionException;

/**
* Displays a list of FeedItems.
Expand Down Expand Up @@ -189,11 +191,7 @@ public void onScrolled(@NonNull RecyclerView view, int deltaX, int deltaY) {
EventBus.getDefault().register(this);

viewBinding.swipeRefresh.setDistanceToTriggerSync(getResources().getInteger(R.integer.swipe_refresh_distance));
viewBinding.swipeRefresh.setOnRefreshListener(() -> {
FeedUpdateManager.runOnceOrAsk(requireContext(), feed);
new Handler(Looper.getMainLooper()).postDelayed(() -> viewBinding.swipeRefresh.setRefreshing(false),
getResources().getInteger(R.integer.swipe_to_refresh_duration_in_ms));
});
viewBinding.swipeRefresh.setOnRefreshListener(() -> FeedUpdateManager.runOnceOrAsk(requireContext(), feed));

loadItems();

Expand Down Expand Up @@ -431,8 +429,7 @@ public void onEventMainThread(FeedUpdateRunningEvent event) {
if (!event.isFeedUpdateRunning) {
nextPageLoader.getRoot().setVisibility(View.GONE);
}
MenuItemUtils.updateRefreshMenuItem(viewBinding.toolbar.getMenu(),
R.id.refresh_item, event.isFeedUpdateRunning);
viewBinding.swipeRefresh.setRefreshing(event.isFeedUpdateRunning);
}

private void refreshHeaderView() {
Expand Down
29 changes: 14 additions & 15 deletions app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
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.ContextMenu;
import android.view.KeyEvent;
Expand All @@ -16,17 +14,27 @@
import android.widget.CheckBox;
import android.widget.ProgressBar;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
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.appbar.MaterialToolbar;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
import com.leinardi.android.speeddial.SpeedDialView;

import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

import java.util.List;
import java.util.Locale;

import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
Expand Down Expand Up @@ -62,12 +70,6 @@
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

import java.util.List;
import java.util.Locale;

/**
* Shows all items in the queue.
Expand All @@ -82,6 +84,7 @@ public class QueueFragment extends Fragment implements MaterialToolbar.OnMenuIte
private QueueRecyclerAdapter recyclerAdapter;
private EmptyViewHandler emptyView;
private MaterialToolbar toolbar;
private SwipeRefreshLayout swipeRefreshLayout;
private boolean displayUpArrow;

private List<FeedItem> queue;
Expand Down Expand Up @@ -265,7 +268,7 @@ private void refreshToolbarState() {

@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
public void onEventMainThread(FeedUpdateRunningEvent event) {
MenuItemUtils.updateRefreshMenuItem(toolbar.getMenu(), R.id.refresh_item, event.isFeedUpdateRunning);
swipeRefreshLayout.setRefreshing(event.isFeedUpdateRunning);
}

@Override
Expand Down Expand Up @@ -425,13 +428,9 @@ public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMen
recyclerAdapter.setOnSelectModeListener(this);
recyclerView.setAdapter(recyclerAdapter);

SwipeRefreshLayout swipeRefreshLayout = root.findViewById(R.id.swipeRefresh);
swipeRefreshLayout = root.findViewById(R.id.swipeRefresh);
swipeRefreshLayout.setDistanceToTriggerSync(getResources().getInteger(R.integer.swipe_refresh_distance));
swipeRefreshLayout.setOnRefreshListener(() -> {
FeedUpdateManager.runOnceOrAsk(requireContext());
new Handler(Looper.getMainLooper()).postDelayed(() -> swipeRefreshLayout.setRefreshing(false),
getResources().getInteger(R.integer.swipe_to_refresh_duration_in_ms));
});
swipeRefreshLayout.setOnRefreshListener(() -> FeedUpdateManager.runOnceOrAsk(requireContext()));

emptyView = new EmptyViewHandler(getContext());
emptyView.attachToRecyclerView(recyclerView);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.view.ContextMenu;
import android.view.LayoutInflater;
Expand Down Expand Up @@ -81,6 +79,7 @@ public class SubscriptionFragment extends Fragment
private EmptyViewHandler emptyView;
private LinearLayout feedsFilteredMsg;
private MaterialToolbar toolbar;
private SwipeRefreshLayout swipeRefreshLayout;
private ProgressBar progressBar;
private String displayedFolder = null;
private boolean displayUpArrow;
Expand Down Expand Up @@ -169,13 +168,9 @@ public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMen
feedsFilteredMsg.setOnClickListener((l) ->
new SubscriptionsFilterDialog().show(getChildFragmentManager(), "filter"));

SwipeRefreshLayout swipeRefreshLayout = root.findViewById(R.id.swipeRefresh);
swipeRefreshLayout = root.findViewById(R.id.swipeRefresh);
swipeRefreshLayout.setDistanceToTriggerSync(getResources().getInteger(R.integer.swipe_refresh_distance));
swipeRefreshLayout.setOnRefreshListener(() -> {
FeedUpdateManager.runOnceOrAsk(requireContext());
new Handler(Looper.getMainLooper()).postDelayed(() -> swipeRefreshLayout.setRefreshing(false),
getResources().getInteger(R.integer.swipe_to_refresh_duration_in_ms));
});
swipeRefreshLayout.setOnRefreshListener(() -> FeedUpdateManager.runOnceOrAsk(requireContext()));

speedDialView = root.findViewById(R.id.fabSD);
speedDialView.setOverlayLayout(root.findViewById(R.id.fabSDOverlay));
Expand Down Expand Up @@ -212,7 +207,7 @@ private void refreshToolbarState() {

@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
public void onEventMainThread(FeedUpdateRunningEvent event) {
MenuItemUtils.updateRefreshMenuItem(toolbar.getMenu(), R.id.refresh_item, event.isFeedUpdateRunning);
swipeRefreshLayout.setRefreshing(event.isFeedUpdateRunning);
}

@Override
Expand Down
16 changes: 4 additions & 12 deletions app/src/main/java/de/danoeh/antennapod/ui/home/HomeFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
Expand All @@ -21,8 +19,6 @@
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentContainerView;

import de.danoeh.antennapod.ui.echo.EchoActivity;
import de.danoeh.antennapod.ui.home.sections.EchoSection;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
Expand All @@ -34,16 +30,17 @@

import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.util.download.FeedUpdateManager;
import de.danoeh.antennapod.databinding.HomeFragmentBinding;
import de.danoeh.antennapod.event.FeedListUpdateEvent;
import de.danoeh.antennapod.event.FeedUpdateRunningEvent;
import de.danoeh.antennapod.fragment.SearchFragment;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.ui.echo.EchoActivity;
import de.danoeh.antennapod.ui.home.sections.AllowNotificationsSection;
import de.danoeh.antennapod.ui.home.sections.DownloadsSection;
import de.danoeh.antennapod.ui.home.sections.EchoSection;
import de.danoeh.antennapod.ui.home.sections.EpisodesSurpriseSection;
import de.danoeh.antennapod.ui.home.sections.InboxSection;
import de.danoeh.antennapod.ui.home.sections.QueueSection;
Expand Down Expand Up @@ -86,11 +83,7 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
updateWelcomeScreenVisibility();

viewBinding.swipeRefresh.setDistanceToTriggerSync(getResources().getInteger(R.integer.swipe_refresh_distance));
viewBinding.swipeRefresh.setOnRefreshListener(() -> {
FeedUpdateManager.runOnceOrAsk(requireContext());
new Handler(Looper.getMainLooper()).postDelayed(() -> viewBinding.swipeRefresh.setRefreshing(false),
getResources().getInteger(R.integer.swipe_to_refresh_duration_in_ms));
});
viewBinding.swipeRefresh.setOnRefreshListener(() -> FeedUpdateManager.runOnceOrAsk(requireContext()));

return viewBinding.getRoot();
}
Expand Down Expand Up @@ -154,8 +147,7 @@ public static List<String> getHiddenSections(Context context) {

@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
public void onEventMainThread(FeedUpdateRunningEvent event) {
MenuItemUtils.updateRefreshMenuItem(viewBinding.toolbar.getMenu(),
R.id.refresh_item, event.isFeedUpdateRunning);
viewBinding.swipeRefresh.setRefreshing(event.isFeedUpdateRunning);
}

@Override
Expand Down
3 changes: 1 addition & 2 deletions app/src/main/res/menu/downloads_completed.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@
android:id="@+id/refresh_item"
android:title="@string/refresh_label"
android:menuCategory="container"
android:icon="@drawable/ic_refresh"
app:showAsAction="always" />
app:showAsAction="never" />
<item
android:id="@+id/downloads_sort"
android:title="@string/sort" />
Expand Down
3 changes: 1 addition & 2 deletions app/src/main/res/menu/episodes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@
android:id="@+id/refresh_item"
android:title="@string/refresh_label"
android:menuCategory="container"
custom:showAsAction="always"
android:icon="@drawable/ic_refresh"/>
custom:showAsAction="never" />

<item
android:id="@+id/filter_items"
Expand Down
3 changes: 1 addition & 2 deletions app/src/main/res/menu/feedlist.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,9 @@
</item>
<item
android:id="@+id/refresh_item"
android:icon="@drawable/ic_refresh"
android:menuCategory="container"
android:title="@string/refresh_label"
custom:showAsAction="always">
custom:showAsAction="never">
</item>
<item
android:id="@+id/refresh_complete_item"
Expand Down
3 changes: 1 addition & 2 deletions app/src/main/res/menu/home.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
android:id="@+id/refresh_item"
android:title="@string/refresh_label"
android:menuCategory="container"
custom:showAsAction="always"
android:icon="@drawable/ic_refresh"/>
custom:showAsAction="never" />

<item
android:id="@+id/homesettings_items"
Expand Down

0 comments on commit 740076e

Please sign in to comment.