mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2025-12-01 12:31:45 +00:00
Auto-enqueue will now enqueue when the user starts the download
This commit is contained in:
@ -152,7 +152,7 @@
|
|||||||
<string name="pref_revokeAccess_title">Revoke access</string>
|
<string name="pref_revokeAccess_title">Revoke access</string>
|
||||||
<string name="pref_revokeAccess_sum">Revoke the access permission to your flattr account for this app.</string>
|
<string name="pref_revokeAccess_sum">Revoke the access permission to your flattr account for this app.</string>
|
||||||
<string name="pref_autoQueue_title">Auto-enqueue</string>
|
<string name="pref_autoQueue_title">Auto-enqueue</string>
|
||||||
<string name="pref_autoQueue_sum">Add an episode to the queue after it has been downloaded.</string>
|
<string name="pref_autoQueue_sum">Add an episode to the queue when you start to download it.</string>
|
||||||
<string name="pref_display_only_episodes_title">Display only episodes</string>
|
<string name="pref_display_only_episodes_title">Display only episodes</string>
|
||||||
<string name="pref_display_only_episodes_sum">Display only items which also have an episode.</string>
|
<string name="pref_display_only_episodes_sum">Display only items which also have an episode.</string>
|
||||||
<string name="user_interface_label">User Interface</string>
|
<string name="user_interface_label">User Interface</string>
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import java.util.concurrent.Executors;
|
|||||||
import java.util.concurrent.ThreadFactory;
|
import java.util.concurrent.ThreadFactory;
|
||||||
|
|
||||||
import de.danoeh.antennapod.AppConfig;
|
import de.danoeh.antennapod.AppConfig;
|
||||||
|
import de.danoeh.antennapod.PodcastApp;
|
||||||
import de.danoeh.antennapod.activity.AudioplayerActivity;
|
import de.danoeh.antennapod.activity.AudioplayerActivity;
|
||||||
import de.danoeh.antennapod.asynctask.DownloadStatus;
|
import de.danoeh.antennapod.asynctask.DownloadStatus;
|
||||||
import de.danoeh.antennapod.service.PlaybackService;
|
import de.danoeh.antennapod.service.PlaybackService;
|
||||||
@ -25,6 +26,7 @@ import android.os.AsyncTask;
|
|||||||
import android.os.Debug;
|
import android.os.Debug;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
|
import android.preference.PreferenceManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -368,14 +370,28 @@ public class FeedManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void downloadAllItemsInQueue(final Context context) {
|
public void downloadAllItemsInQueue(final Context context) {
|
||||||
DownloadRequester requester = DownloadRequester.getInstance();
|
if (!queue.isEmpty()) {
|
||||||
for (FeedItem item : queue) {
|
downloadFeedItem(context, queue.toArray(new FeedItem[queue.size()]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void downloadFeedItem(final Context context, FeedItem... items) {
|
||||||
|
boolean autoQueue = PreferenceManager.getDefaultSharedPreferences(
|
||||||
|
context.getApplicationContext()).getBoolean(
|
||||||
|
PodcastApp.PREF_AUTO_QUEUE, true);
|
||||||
|
List<FeedItem> addToQueue = new ArrayList<FeedItem>();
|
||||||
|
|
||||||
|
for (FeedItem item : items) {
|
||||||
if (item.getMedia() != null
|
if (item.getMedia() != null
|
||||||
&& !requester.isDownloadingFile(item.getMedia())
|
&& !requester.isDownloadingFile(item.getMedia())
|
||||||
&& !item.getMedia().isDownloaded()) {
|
&& !item.getMedia().isDownloaded()) {
|
||||||
requester.downloadMedia(context, item.getMedia());
|
requester.downloadMedia(context, item.getMedia());
|
||||||
|
addToQueue.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (autoQueue) {
|
||||||
|
addQueueItem(context, addToQueue.toArray(new FeedItem[addToQueue.size()]));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enqueueAllNewItems(final Context context) {
|
public void enqueueAllNewItems(final Context context) {
|
||||||
|
|||||||
@ -694,24 +694,7 @@ public class DownloadService extends Service {
|
|||||||
saveDownloadStatus(status);
|
saveDownloadStatus(status);
|
||||||
sendDownloadHandledIntent(DOWNLOAD_TYPE_MEDIA);
|
sendDownloadHandledIntent(DOWNLOAD_TYPE_MEDIA);
|
||||||
manager.setFeedMedia(DownloadService.this, media);
|
manager.setFeedMedia(DownloadService.this, media);
|
||||||
boolean autoQueue = PreferenceManager.getDefaultSharedPreferences(
|
|
||||||
getApplicationContext()).getBoolean(
|
|
||||||
PodcastApp.PREF_AUTO_QUEUE, true);
|
|
||||||
|
|
||||||
if (!manager.isInQueue(media.getItem())) {
|
|
||||||
// Auto-queue
|
|
||||||
if (autoQueue) {
|
|
||||||
if (AppConfig.DEBUG)
|
|
||||||
Log.d(TAG, "Autoqueue is enabled. Adding item to queue");
|
|
||||||
manager.addQueueItem(DownloadService.this, media.getItem());
|
|
||||||
} else {
|
|
||||||
if (AppConfig.DEBUG)
|
|
||||||
Log.d(TAG, "Autoqueue is disabled");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (AppConfig.DEBUG)
|
|
||||||
Log.d(TAG, "Item is already in queue");
|
|
||||||
}
|
|
||||||
downloadsBeingHandled -= 1;
|
downloadsBeingHandled -= 1;
|
||||||
queryDownloads();
|
queryDownloads();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -69,7 +69,7 @@ public class FeedItemMenuHandler {
|
|||||||
FeedManager manager = FeedManager.getInstance();
|
FeedManager manager = FeedManager.getInstance();
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case R.id.download_item:
|
case R.id.download_item:
|
||||||
requester.downloadMedia(context, selectedItem.getMedia());
|
manager.downloadFeedItem(context, selectedItem);
|
||||||
break;
|
break;
|
||||||
case R.id.play_item:
|
case R.id.play_item:
|
||||||
manager.playMedia(context, selectedItem.getMedia(), true, true,
|
manager.playMedia(context, selectedItem.getMedia(), true, true,
|
||||||
|
|||||||
Reference in New Issue
Block a user