Compare commits

...

2 Commits

Author SHA1 Message Date
Hans-Peter Lehmann
6f7f9b2914
Support cancelling downloads using multi-select (#8003) 2025-09-21 17:07:15 +02:00
Hans-Peter Lehmann
31026dc0f8
Ignore errors when installing Google SSL provider (#8002) 2025-09-21 17:06:17 +02:00
3 changed files with 15 additions and 7 deletions

View File

@ -108,10 +108,15 @@ public class EpisodeMultiSelectActionHandler {
private void deleteChecked(List<FeedItem> items) {
int countHasMedia = 0;
for (FeedItem feedItem : items) {
if ((feedItem.hasMedia() && feedItem.getMedia().isDownloaded())
|| feedItem.getFeed().isLocalFeed()) {
if (!feedItem.hasMedia()) {
continue;
}
if (feedItem.getMedia().isDownloaded() || feedItem.getFeed().isLocalFeed()) {
countHasMedia++;
DBWriter.deleteFeedMediaOfItem(activity, feedItem.getMedia());
} else if (DownloadServiceInterface.get().isDownloadingEpisode(feedItem.getMedia().getDownloadUrl())) {
countHasMedia++;
DownloadServiceInterface.get().cancel(activity, feedItem.getMedia());
}
}
showMessage(R.plurals.deleted_episode_message, countHasMedia);

View File

@ -18,6 +18,7 @@ import java.util.List;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.event.MessageEvent;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterface;
import de.danoeh.antennapod.net.sync.serviceinterface.SynchronizationQueue;
import de.danoeh.antennapod.storage.preferences.PlaybackPreferences;
import de.danoeh.antennapod.playback.service.PlaybackServiceInterface;
@ -75,7 +76,9 @@ public class FeedItemMenuHandler {
boolean canShowSocialInteract = false;
for (FeedItem item : selectedItems) {
boolean hasMedia = item.getMedia() != null;
final boolean hasMedia = item.getMedia() != null;
final boolean isDownloading = hasMedia
&& DownloadServiceInterface.get().isDownloadingEpisode(item.getMedia().getDownloadUrl());
canSkip |= hasMedia && PlaybackStatus.isPlaying(item.getMedia());
canRemoveFromQueue |= item.isTagged(FeedItem.TAG_QUEUE);
canAddToQueue |= hasMedia && !item.isTagged(FeedItem.TAG_QUEUE);
@ -85,8 +88,9 @@ public class FeedItemMenuHandler {
canMarkPlayed |= !item.isPlayed();
canMarkUnplayed |= item.isPlayed();
canResetPosition |= hasMedia && item.getMedia().getPosition() != 0;
canDelete |= (hasMedia && item.getMedia().isDownloaded()) || item.getFeed().isLocalFeed();
canDownload |= hasMedia && !item.getMedia().isDownloaded() && !item.getFeed().isLocalFeed();
canDelete |= item.getFeed().isLocalFeed() || (hasMedia && item.getMedia().isDownloaded()) || isDownloading;
canDownload |= hasMedia && !item.getMedia().isDownloaded()
&& !item.getFeed().isLocalFeed() && !isDownloading;
canAddFavorite |= !item.isTagged(FeedItem.TAG_FAVORITE);
canRemoveFavorite |= item.isTagged(FeedItem.TAG_FAVORITE);
canShowTranscript |= item.hasTranscript();

View File

@ -2,7 +2,6 @@ package de.danoeh.antennapod.net.ssl;
import android.content.Context;
import com.google.android.gms.common.GoogleApiAvailability;
import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
import com.google.android.gms.common.GooglePlayServicesRepairableException;
import com.google.android.gms.security.ProviderInstaller;
@ -13,7 +12,7 @@ public class SslProviderInstaller {
} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
GoogleApiAvailability.getInstance().showErrorNotification(context, e.getConnectionStatusCode());
} catch (GooglePlayServicesNotAvailableException e) {
} catch (Exception e) {
e.printStackTrace();
}
}