Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hide refresh from toolbar #6850

Merged
merged 9 commits into from
Jan 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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;
ueen marked this conversation as resolved.
Show resolved Hide resolved
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 @@ -168,13 +167,9 @@ public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMen
feedsFilteredMsg = root.findViewById(R.id.feeds_filtered_message);
feedsFilteredMsg.setOnClickListener((l) -> SubscriptionsFilterDialog.showDialog(requireContext()));

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 @@ -211,7 +206,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