Search in sources :

Example 1 with BTEngineAdapter

use of com.frostwire.bittorrent.BTEngineAdapter in project frostwire by frostwire.

the class TransferManager method loadTorrentsTask.

private void loadTorrentsTask() {
    bittorrentDownloadsList.clear();
    bittorrentDownloadsMap.clear();
    final BTEngine btEngine = BTEngine.getInstance();
    btEngine.setListener(new BTEngineAdapter() {

        @Override
        public void downloadAdded(BTEngine engine, BTDownload dl) {
            String name = dl.getName();
            if (name != null && name.contains("fetch_magnet")) {
                return;
            }
            File savePath = dl.getSavePath();
            if (savePath != null && savePath.toString().contains("fetch_magnet")) {
                return;
            }
            UIBittorrentDownload uiBittorrentDownload = new UIBittorrentDownload(TransferManager.this, dl);
            bittorrentDownloadsList.add(uiBittorrentDownload);
            bittorrentDownloadsMap.put(dl.getInfoHash(), uiBittorrentDownload);
        }

        @Override
        public void downloadUpdate(BTEngine engine, BTDownload dl) {
            try {
                BittorrentDownload bittorrentDownload = bittorrentDownloadsMap.get(dl.getInfoHash());
                if (bittorrentDownload instanceof UIBittorrentDownload) {
                    UIBittorrentDownload bt = (UIBittorrentDownload) bittorrentDownload;
                    bt.updateUI(dl);
                }
            } catch (Throwable e) {
                LOG.error("Error updating bittorrent download", e);
            }
        }
    });
    btEngine.restoreDownloads();
}
Also used : BTEngine(com.frostwire.bittorrent.BTEngine) BTDownload(com.frostwire.bittorrent.BTDownload) BittorrentDownload(com.frostwire.transfers.BittorrentDownload) File(java.io.File) BTEngineAdapter(com.frostwire.bittorrent.BTEngineAdapter)

Example 2 with BTEngineAdapter

use of com.frostwire.bittorrent.BTEngineAdapter in project frostwire by frostwire.

the class DownloadManagerImpl method loadSavedDownloadsAndScheduleWriting.

public void loadSavedDownloadsAndScheduleWriting() {
    try {
        BTEngine engine = BTEngine.getInstance();
        engine.setListener(new BTEngineAdapter() {

            @Override
            public void downloadAdded(BTEngine engine, BTDownload dl) {
                if (engine == null || dl == null) {
                    return;
                }
                String name = dl.getName();
                if (name == null || name.contains("fetch_magnet:")) {
                    return;
                }
                File savePath = dl.getSavePath();
                if (savePath != null && savePath.toString().contains("fetch_magnet")) {
                    return;
                }
                // don't add frostwire update downloads to the download manager.
                if (savePath != null) {
                    final File parentFile = savePath.getParentFile();
                    if (parentFile != null) {
                        if (parentFile.getAbsolutePath().equals(UpdateSettings.UPDATES_DIR.getAbsolutePath())) {
                            LOG.info("Update download, not adding to transfer manager: " + savePath);
                            return;
                        }
                    } else if (savePath.getAbsolutePath().equals(UpdateSettings.UPDATES_DIR.getAbsolutePath())) {
                        // save path must have been a root folder, like D:\, so no parent file.
                        LOG.info("Update download, not adding to transfer manager: " + savePath);
                        return;
                    }
                }
                addDownload(dl);
            }

            @Override
            public void downloadUpdate(BTEngine engine, BTDownload dl) {
                updateDownload(dl);
            }
        });
        engine.restoreDownloads();
    } catch (Throwable e) {
        LOG.error("General error loading saved downloads", e);
    }
}
Also used : BTEngine(com.frostwire.bittorrent.BTEngine) BTDownload(com.frostwire.bittorrent.BTDownload) File(java.io.File) BTEngineAdapter(com.frostwire.bittorrent.BTEngineAdapter)

Aggregations

BTDownload (com.frostwire.bittorrent.BTDownload)2 BTEngine (com.frostwire.bittorrent.BTEngine)2 BTEngineAdapter (com.frostwire.bittorrent.BTEngineAdapter)2 File (java.io.File)2 BittorrentDownload (com.frostwire.transfers.BittorrentDownload)1