@Override public void onPause() { super.onPause(); DownloadService service = getService(); if (service != null) { service.setNextResponder(null); } }
@Override public boolean onContextItemSelected(android.view.MenuItem item) { AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); int menuItemIndex = item.getItemId(); if (menuItemIndex == DOWNLOAD_DELETE_DOWNLOAD) { // We are going to take the first element if (_menuItemSelected.getJobType() == PutlockerUpDownloadJob.DOWNLOAD_JOB) { final File f = new File(((PutlockerDownloadJob) _menuItemSelected).getFileLocation()); // does the file exist? if (f.exists()) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.delete_file); builder.setMessage(R.string.would_you_like_to_delete_file); builder.setPositiveButton( R.string.yes, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { f.delete(); getPutlockerApplication().getStorage().deleteTyped(_menuItemSelected); doAddItems(); _menuItemSelected = null; } }); builder.setNegativeButton( R.string.no, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { getPutlockerApplication().getStorage().deleteTyped(_menuItemSelected); doAddItems(); _menuItemSelected = null; } }); builder.setCancelable(false).create().show(); } else { getPutlockerApplication().getStorage().deleteTyped(_menuItemSelected); doAddItems(); _menuItemSelected = null; } } else { getPutlockerApplication().getStorage().deleteTyped(_menuItemSelected); doAddItems(); _menuItemSelected = null; } } else if (menuItemIndex == DOWNLOAD_STOP_DOWNLOAD) { DownloadService service = getPutlockerApplication().getService(); if (service != null) { service.cancelJob(_menuItemSelected); } _menuItemSelected = null; } return true; }
@Override public void onResume() { super.onResume(); DownloadService service = getService(); if (service != null) { service.setNextResponder(this); } doAddItems(); }
private void initializeSubscriptions() { if (downloadsSubscription != null && !downloadsSubscription.isUnsubscribed()) downloadsSubscription.unsubscribe(); if (threadsNumberSubscription != null && !threadsNumberSubscription.isUnsubscribed()) threadsNumberSubscription.unsubscribe(); threadsNumberSubscription = preferences.downloadThreads().asObservable().subscribe(threadsNumber::onNext); downloadsSubscription = downloadsQueueSubject .lift(new DynamicConcurrentMergeOperator<>(this::downloadChapter, threadsNumber)) .onBackpressureBuffer() .observeOn(AndroidSchedulers.mainThread()) .map(download -> areAllDownloadsFinished()) .subscribe( finished -> { if (finished) { DownloadService.stop(context); } }, e -> Timber.e(e.getCause(), e.getMessage())); if (!isRunning) { isRunning = true; runningSubject.onNext(true); } }
@RequestMapping(method = RequestMethod.GET) public @ResponseBody Geometry get( BoundingBox boundingBox, SearchConfig searchConfig, HttpServletRequest request) throws Exception { searchConfig.setUseOverpass(request.getParameter("useOverpass")); searchConfig.setWithoutSurface(request.getParameter("withoutSurface")); searchConfig.setAllTracks(request.getParameter("allTracks")); searchConfig.setShowBuildings(request.getParameter("showBuildings")); return downloadService.downloadData(boundingBox, searchConfig); }
public void addInfo(Info addedInfo) { Log.i("dataBase", "called method addInfo"); initColumns(); Log.i("id", idCollumIndex + ""); Log.i("id", authorCollumIndex + ""); Log.i("id", nameCollumIndex + ""); Log.i("id", likesCountCollumIndex + ""); Log.i("id", artworkUrlCollumIndex + ""); Log.i("id", streamUrlCollumIndex + ""); Log.i("id", durationCollumIndex + ""); Log.i("id", pathToFileCollumIndex + ""); cursor = musicBase.query("mytable", null, null, null, null, null, null); if (cursor.moveToFirst()) { Log.i("dataBase", "cursor moved to first"); do { Info tempInfo = new Info( cursor.getString(nameCollumIndex), cursor.getInt(durationCollumIndex), new User(cursor.getString(authorCollumIndex)), cursor.getInt(likesCountCollumIndex), cursor.getString(streamUrlCollumIndex), cursor.getString(pathToFileCollumIndex), cursor.getString(artworkUrlCollumIndex)); Log.i("dataBase info", "addedInfo________" + addedInfo.getStream_url()); Log.i("dataBase info", "tempInfo________" + tempInfo.getStream_url()); Log.i("dataBase list", tempInfo.toString()); Log.i("dataBase list", addedInfo.toString()); if (addedInfo.getStream_url().equals(tempInfo.getStream_url())) { Log.i("dataBase", "we have this music"); return; } } while (cursor.moveToNext()); } Calendar c = Calendar.getInstance(); String seconds = c.get(Calendar.YEAR) + "" + c.get(Calendar.MONTH) + "" + c.get(Calendar.DAY_OF_MONTH) + "" + c.get(Calendar.HOUR_OF_DAY) + "" + c.get(Calendar.MINUTE) + "" + c.get(Calendar.SECOND); Log.i("dataBase", seconds); String name = addedInfo.getTitle(); File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC); File myFile = new File(dir, name + ".mp3"); try { myFile.createNewFile(); Log.i("dataBase", "file created"); } catch (IOException e) { e.printStackTrace(); Log.i("dataBase", e.toString()); Log.i("dataBase", "file not created"); return; } if (myFile.exists()) { Log.i("dataBase", "started downloading"); DownloadService.downloadFile( addedInfo.getStream_url() + "?client_id=b45b1aa10f1ac2941910a7f0d10f8e28", myFile); addedInfo.setPath_to_file(myFile.getAbsolutePath()); Log.i("dataBase", "file created"); } else { Log.i("dataBase", "file not found"); return; } Log.i("dataBase FileInfo", myFile.getAbsolutePath()); ContentValues values = new ContentValues(); values.put("author", addedInfo.getUser().getUsername()); values.put("name", addedInfo.getTitle()); values.put("likesCount", addedInfo.getLikes_count()); values.put("duration", addedInfo.getDuration()); values.put("artworkUrl", addedInfo.getPath_to_file()); values.put("pathToFile", addedInfo.getPath_to_file()); values.put("streamUrl", addedInfo.getStream_url()); long insertResult = musicBase.insert("mytable", null, values); Log.i("dataBase", "insertResult: " + insertResult); Log.i("dataBase insert", addedInfo.getUser().getUsername()); Log.i("dataBase insert", addedInfo.getTitle()); Log.i("dataBase insert", addedInfo.getLikes_count() + ""); Log.i("dataBase insert", addedInfo.getDuration() + ""); Log.i("dataBase", "info inserted"); }
public void cancelService(String key) { DownloadService ds = serviceMap.remove(key); if (ds != null) { ds.cancelDownload(); } }
public void stopService(String key) { DownloadService ds = serviceMap.remove(key); if (ds != null) { ds.stopService(); } }