Search in sources :

Example 1 with R

use of de.danoeh.antennapod.core.R in project AntennaPod by AntennaPod.

the class DownloadService method onCreate.

@SuppressLint("NewApi")
@Override
public void onCreate() {
    Log.d(TAG, "Service started");
    isRunning = true;
    handler = new Handler();
    reportQueue = Collections.synchronizedList(new ArrayList<>());
    downloads = Collections.synchronizedList(new ArrayList<>());
    numberOfDownloads = new AtomicInteger(0);
    IntentFilter cancelDownloadReceiverFilter = new IntentFilter();
    cancelDownloadReceiverFilter.addAction(ACTION_CANCEL_ALL_DOWNLOADS);
    cancelDownloadReceiverFilter.addAction(ACTION_CANCEL_DOWNLOAD);
    registerReceiver(cancelDownloadReceiver, cancelDownloadReceiverFilter);
    syncExecutor = Executors.newSingleThreadExecutor(r -> {
        Thread t = new Thread(r);
        t.setPriority(Thread.MIN_PRIORITY);
        return t;
    });
    Log.d(TAG, "parallel downloads: " + UserPreferences.getParallelDownloads());
    downloadExecutor = new ExecutorCompletionService<>(Executors.newFixedThreadPool(UserPreferences.getParallelDownloads(), r -> {
        Thread t = new Thread(r);
        t.setPriority(Thread.MIN_PRIORITY);
        return t;
    }));
    schedExecutor = new ScheduledThreadPoolExecutor(SCHED_EX_POOL_SIZE, r -> {
        Thread t = new Thread(r);
        t.setPriority(Thread.MIN_PRIORITY);
        return t;
    }, (r, executor) -> Log.w(TAG, "SchedEx rejected submission of new task"));
    downloadCompletionThread.start();
    feedSyncThread = new FeedSyncThread();
    feedSyncThread.start();
    setupNotificationBuilders();
    requester = DownloadRequester.getInstance();
}
Also used : HttpURLConnection(java.net.HttpURLConnection) ScheduledFuture(java.util.concurrent.ScheduledFuture) DownloadRequestException(de.danoeh.antennapod.core.storage.DownloadRequestException) Date(java.util.Date) InvalidFeedException(de.danoeh.antennapod.core.util.InvalidFeedException) IBinder(android.os.IBinder) CompletionService(java.util.concurrent.CompletionService) UserPreferences(de.danoeh.antennapod.core.preferences.UserPreferences) Future(java.util.concurrent.Future) FeedImage(de.danoeh.antennapod.core.feed.FeedImage) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Handler(android.os.Handler) GpodnetSyncService(de.danoeh.antennapod.core.service.GpodnetSyncService) Log(android.util.Log) FeedMedia(de.danoeh.antennapod.core.feed.FeedMedia) FeedItemEvent(de.danoeh.antennapod.core.event.FeedItemEvent) NotificationManager(android.app.NotificationManager) DownloadError(de.danoeh.antennapod.core.util.DownloadError) Service(android.app.Service) IntentFilter(android.content.IntentFilter) ClientConfig(de.danoeh.antennapod.core.ClientConfig) BlockingQueue(java.util.concurrent.BlockingQueue) ScheduledThreadPoolExecutor(java.util.concurrent.ScheduledThreadPoolExecutor) BroadcastReceiver(android.content.BroadcastReceiver) Executors(java.util.concurrent.Executors) FeedPreferences(de.danoeh.antennapod.core.feed.FeedPreferences) List(java.util.List) ChapterUtils(de.danoeh.antennapod.core.util.ChapterUtils) DownloadEvent(de.danoeh.antennapod.core.event.DownloadEvent) SAXException(org.xml.sax.SAXException) UnsupportedFeedtypeException(de.danoeh.antennapod.core.syndication.handler.UnsupportedFeedtypeException) Notification(android.app.Notification) ExecutorCompletionService(java.util.concurrent.ExecutorCompletionService) R(de.danoeh.antennapod.core.R) FeedHandlerResult(de.danoeh.antennapod.core.syndication.handler.FeedHandlerResult) Context(android.content.Context) EventBus(de.greenrobot.event.EventBus) MediaMetadataRetriever(android.media.MediaMetadataRetriever) Intent(android.content.Intent) BitmapFactory(android.graphics.BitmapFactory) Callable(java.util.concurrent.Callable) NonNull(android.support.annotation.NonNull) ArrayList(java.util.ArrayList) Binder(android.os.Binder) SuppressLint(android.annotation.SuppressLint) FeedHandler(de.danoeh.antennapod.core.syndication.handler.FeedHandler) Feed(de.danoeh.antennapod.core.feed.Feed) LinkedList(java.util.LinkedList) ExecutorService(java.util.concurrent.ExecutorService) GpodnetEpisodeAction(de.danoeh.antennapod.core.gpoddernet.model.GpodnetEpisodeAction) URLUtil(android.webkit.URLUtil) TextUtils(android.text.TextUtils) FileUtils(org.apache.commons.io.FileUtils) IOException(java.io.IOException) File(java.io.File) ExecutionException(java.util.concurrent.ExecutionException) TimeUnit(java.util.concurrent.TimeUnit) FeedItem(de.danoeh.antennapod.core.feed.FeedItem) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) DBWriter(de.danoeh.antennapod.core.storage.DBWriter) Bitmap(android.graphics.Bitmap) Pair(android.support.v4.util.Pair) NotificationCompat(android.support.v4.app.NotificationCompat) LinkedBlockingDeque(java.util.concurrent.LinkedBlockingDeque) Action(de.danoeh.antennapod.core.gpoddernet.model.GpodnetEpisodeAction.Action) DBReader(de.danoeh.antennapod.core.storage.DBReader) DownloadRequester(de.danoeh.antennapod.core.storage.DownloadRequester) GpodnetPreferences(de.danoeh.antennapod.core.preferences.GpodnetPreferences) Collections(java.util.Collections) DBTasks(de.danoeh.antennapod.core.storage.DBTasks) IntentFilter(android.content.IntentFilter) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ScheduledThreadPoolExecutor(java.util.concurrent.ScheduledThreadPoolExecutor) ArrayList(java.util.ArrayList) Handler(android.os.Handler) FeedHandler(de.danoeh.antennapod.core.syndication.handler.FeedHandler) SuppressLint(android.annotation.SuppressLint)

Aggregations

SuppressLint (android.annotation.SuppressLint)1 Notification (android.app.Notification)1 NotificationManager (android.app.NotificationManager)1 Service (android.app.Service)1 BroadcastReceiver (android.content.BroadcastReceiver)1 Context (android.content.Context)1 Intent (android.content.Intent)1 IntentFilter (android.content.IntentFilter)1 Bitmap (android.graphics.Bitmap)1 BitmapFactory (android.graphics.BitmapFactory)1 MediaMetadataRetriever (android.media.MediaMetadataRetriever)1 Binder (android.os.Binder)1 Handler (android.os.Handler)1 IBinder (android.os.IBinder)1 NonNull (android.support.annotation.NonNull)1 NotificationCompat (android.support.v4.app.NotificationCompat)1 Pair (android.support.v4.util.Pair)1 TextUtils (android.text.TextUtils)1 Log (android.util.Log)1 URLUtil (android.webkit.URLUtil)1