From ff44ba4e07e8f0746bbc34a8af1d413e1863876c Mon Sep 17 00:00:00 2001 From: zzz <zzz@i2pmail.org> Date: Tue, 1 Jun 2021 08:50:18 -0400 Subject: [PATCH] i2psnark: Fix autostart for magnets --- .../java/src/org/klomp/snark/SnarkManager.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java index 821089f6bc..f27318da9c 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java +++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java @@ -2363,6 +2363,7 @@ public class SnarkManager implements CompleteListener, ClientApp { String now = Long.toString(System.currentTimeMillis()); config.setProperty(PROP_META_ADDED, now); config.setProperty(PROP_META_STAMP, now); + config.setProperty(PROP_META_RUNNING, "true"); // save synchronized (_configLock) { saveConfig(); @@ -2495,7 +2496,8 @@ public class SnarkManager implements CompleteListener, ClientApp { public void run() { // don't bother delaying if auto start is false long delay = (60L * 1000) * getStartupDelayMinutes(); - if (delay > 0 && shouldAutoStart()) { + boolean autostart = shouldAutoStart(); + if (delay > 0 && autostart) { int id = _messages.addMessageNoEscape(_t("Adding torrents in {0}", DataHelper.formatDuration2(delay))); try { Thread.sleep(delay); } catch (InterruptedException ie) {} // Remove that first message @@ -2523,7 +2525,7 @@ public class SnarkManager implements CompleteListener, ClientApp { if (doMagnets) { // first run only try { - addMagnets(); + addMagnets(autostart); doMagnets = false; } catch (RuntimeException e) { _log.error("Error in the DirectoryMonitor", e); @@ -2671,7 +2673,7 @@ public class SnarkManager implements CompleteListener, ClientApp { * * @since 0.8.4 */ - private void addMagnets() { + private void addMagnets(boolean autostart) { boolean changed = false; for (Iterator<?> iter = _config.keySet().iterator(); iter.hasNext(); ) { String k = (String) iter.next(); @@ -2688,7 +2690,7 @@ public class SnarkManager implements CompleteListener, ClientApp { String tracker = config.getProperty(PROP_META_MAGNET_TR); String dir = config.getProperty(PROP_META_MAGNET_DIR); File dirf = (dir != null) ? (new File(dir)) : null; - addMagnet(name, ih, tracker, false, dirf); + addMagnet(name, ih, tracker, false, autostart, dirf, this); } else { iter.remove(); changed = true; -- GitLab