From 4cf362393a561e08cb10302633a6670099337dec Mon Sep 17 00:00:00 2001 From: flofriday Date: Thu, 25 Apr 2024 22:42:23 +0200 Subject: [PATCH] Fix infinite refresh indicator (#7137) Before when refreshing any feed(s) without network the refresh indicator stayed indefinitely. This was also the case if you were on mobile, trying to refresh a need and in the popup selected "don't update over mobile". --- .../net/download/service/feed/FeedUpdateManagerImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/download/service/src/main/java/de/danoeh/antennapod/net/download/service/feed/FeedUpdateManagerImpl.java b/net/download/service/src/main/java/de/danoeh/antennapod/net/download/service/feed/FeedUpdateManagerImpl.java index 2ce5f7006e..756e55e16b 100644 --- a/net/download/service/src/main/java/de/danoeh/antennapod/net/download/service/feed/FeedUpdateManagerImpl.java +++ b/net/download/service/src/main/java/de/danoeh/antennapod/net/download/service/feed/FeedUpdateManagerImpl.java @@ -14,6 +14,7 @@ import androidx.work.PeriodicWorkRequest; import androidx.work.WorkManager; import com.google.android.material.dialog.MaterialAlertDialogBuilder; +import de.danoeh.antennapod.event.FeedUpdateRunningEvent; import de.danoeh.antennapod.net.common.NetworkUtils; import de.danoeh.antennapod.event.MessageEvent; import de.danoeh.antennapod.model.feed.Feed; @@ -90,6 +91,7 @@ public void runOnceOrAsk(@NonNull Context context, @Nullable Feed feed) { runOnce(context, feed); } else if (!NetworkUtils.networkAvailable()) { EventBus.getDefault().post(new MessageEvent(context.getString(R.string.download_error_no_connection))); + EventBus.getDefault().postSticky(new FeedUpdateRunningEvent(false)); } else if (NetworkUtils.isFeedRefreshAllowed()) { runOnce(context, feed); } else { @@ -106,7 +108,9 @@ private void confirmMobileRefresh(final Context context, @Nullable Feed feed) { UserPreferences.setAllowMobileFeedRefresh(true); runOnce(context, feed); }) - .setNegativeButton(R.string.no, null); + .setNegativeButton(R.string.no, (dialog, which) -> { + EventBus.getDefault().postSticky(new FeedUpdateRunningEvent(false)); + }); if (NetworkUtils.isNetworkRestricted() && NetworkUtils.isVpnOverWifi()) { builder.setMessage(R.string.confirm_mobile_feed_refresh_dialog_message_vpn); } else {