@Override public boolean trackAvailable(Track track) { for (DownloadJob dJob : mCompletedJobs) { if (track.getId() == dJob.getPlaylistEntry().getTrack().getId()) { return true; } } return false; }
public boolean queueDownload(DownloadJob downloadJob) { for (DownloadJob dJob : mCompletedJobs) { if (dJob.getPlaylistEntry().getTrack().getId() == downloadJob.getPlaylistEntry().getTrack().getId()) return false; } for (DownloadJob dJob : mQueuedJobs) { if (dJob.getPlaylistEntry().getTrack().getId() == downloadJob.getPlaylistEntry().getTrack().getId()) return false; } if (mDb.addToLibrary(downloadJob.getPlaylistEntry())) { mQueuedJobs.add(downloadJob); mDownloadManager.notifyObservers(); return true; } else { return false; } }
private void loadOldDownloads() { ArrayList<DownloadJob> oldDownloads = mDb.getAllDownloadJobs(); for (DownloadJob dJob : oldDownloads) { if (dJob.getProgress() == 100) { mCompletedJobs.add(dJob); } else { mDownloadManager.download(dJob.getPlaylistEntry()); } } mDownloadManager.notifyObservers(); }
public void downloadCompleted(DownloadJob job) { mQueuedJobs.remove(job); mCompletedJobs.add(job); mDb.setStatus(job.getPlaylistEntry(), true); mDownloadManager.notifyObservers(); }