diff --git a/apps/i2psnark/java/src/org/klomp/snark/UpdateHandler.java b/apps/i2psnark/java/src/org/klomp/snark/UpdateHandler.java index ecb27c55d0..4e5b56a419 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/UpdateHandler.java +++ b/apps/i2psnark/java/src/org/klomp/snark/UpdateHandler.java @@ -47,7 +47,6 @@ class UpdateHandler implements Updater { return null; UpdateRunner update = new UpdateRunner(_context, _umgr, _smgr, updateSources, newVersion); _umgr.notifyProgress(update, "" + _smgr.util().getString("Updating") + ""); - update.start(); return update; } } diff --git a/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java b/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java index a676f33ab8..9699b70d7e 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java +++ b/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java @@ -77,11 +77,6 @@ class UpdateRunner implements UpdateTask, CompleteListener { * If it is, get the whole thing. */ private void update() { - if (_urls.isEmpty()) { - _umgr.notifyTaskFailed(this, "", null); - return; - } - for (URI uri : _urls) { _currentURI = uri; String updateURL = uri.toString(); @@ -102,7 +97,9 @@ class UpdateRunner implements UpdateTask, CompleteListener { new Timeout(); break; } - } catch (IllegalArgumentException iae) {} + } catch (IllegalArgumentException iae) { + _log.error("Invalid update URL", iae); + } } if (_snark == null) fatal("No valid URLs"); @@ -232,4 +229,9 @@ class UpdateRunner implements UpdateTask, CompleteListener { private void updateStatus(String s) { _umgr.notifyProgress(this, s); } + + @Override + public String toString() { + return getClass().getName() + ' ' + getType() + ' ' + getID() + ' ' + getMethod() + ' ' + getURI(); + } } diff --git a/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java b/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java index 7ba50c305e..c264e61d33 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java @@ -184,6 +184,7 @@ public class ConsoleUpdateManager implements UpdateManager { if (_log.shouldLog(Log.INFO)) _log.info("Starting " + r); _activeCheckers.add(t); + t.start(); } } if (t != null) { @@ -226,6 +227,7 @@ public class ConsoleUpdateManager implements UpdateManager { if (_log.shouldLog(Log.INFO)) _log.info("Starting " + r); _activeCheckers.add(t); + t.start(); break; } } @@ -517,6 +519,7 @@ public class ConsoleUpdateManager implements UpdateManager { if (_log.shouldLog(Log.INFO)) _log.info("Starting " + r); _downloaders.put(t, toTry); + t.start(); return t; } else { if (_log.shouldLog(Log.WARN)) diff --git a/apps/routerconsole/java/src/net/i2p/router/update/NewsHandler.java b/apps/routerconsole/java/src/net/i2p/router/update/NewsHandler.java index 5a3ed7501f..d54948a848 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/NewsHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/NewsHandler.java @@ -46,7 +46,6 @@ class NewsHandler extends UpdateHandler implements Checker { updateSources.add(new URI(BACKUP_NEWS_URL)); } catch (URISyntaxException use) {} UpdateRunner update = new NewsFetcher(_context, _mgr, updateSources); - update.start(); return update; } } diff --git a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateChecker.java b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateChecker.java index 56dd2e8a3d..a9625feb9a 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateChecker.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateChecker.java @@ -46,6 +46,9 @@ class PluginUpdateChecker extends UpdateRunner { @Override public UpdateType getType() { return UpdateType.PLUGIN; } + + @Override + public String getID() { return _appName; } @Override public void run() { diff --git a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateHandler.java index 3f38724efd..12847fc8e2 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateHandler.java @@ -57,7 +57,6 @@ class PluginUpdateHandler implements Checker, Updater { } UpdateRunner update = new PluginUpdateChecker(_context, _mgr, updateSources, appName, oldVersion); - update.start(); return update; } @@ -78,7 +77,6 @@ class PluginUpdateHandler implements Checker, Updater { UpdateRunner update = new PluginUpdateRunner(_context, _mgr, updateSources, appName, oldVersion); // set status before thread to ensure UI feedback _mgr.notifyProgress(update, "" + _mgr._("Updating") + ""); - update.start(); return update; } } diff --git a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateRunner.java b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateRunner.java index ddf4a75a3b..6265496379 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateRunner.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateRunner.java @@ -74,6 +74,9 @@ class PluginUpdateRunner extends UpdateRunner { @Override public URI getURI() { return _uri; } + @Override + public String getID() { return _appName; } + @Override protected void update() { diff --git a/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateHandler.java index 15db5c9266..0cfcbc9495 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateHandler.java @@ -71,7 +71,6 @@ class UnsignedUpdateHandler implements Checker, Updater { } UpdateRunner update = new UnsignedUpdateChecker(_context, _mgr, updateSources, ms); - update.start(); return update; } @@ -91,7 +90,6 @@ class UnsignedUpdateHandler implements Checker, Updater { UpdateRunner update = new UnsignedUpdateRunner(_context, _mgr, updateSources); // set status before thread to ensure UI feedback _mgr.notifyProgress(update, "" + _mgr._("Updating") + ""); - update.start(); return update; } } diff --git a/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java index 3af9837167..3ff73e4d31 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java @@ -44,7 +44,6 @@ class UpdateHandler implements Updater { UpdateRunner update = new UpdateRunner(_context, _mgr, updateSources); // set status before thread to ensure UI feedback _mgr.notifyProgress(update, "" + _mgr._("Updating") + ""); - update.start(); return update; } } diff --git a/apps/routerconsole/java/src/net/i2p/router/update/UpdateRunner.java b/apps/routerconsole/java/src/net/i2p/router/update/UpdateRunner.java index 813713220c..bb952bc50b 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/UpdateRunner.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/UpdateRunner.java @@ -236,4 +236,9 @@ class UpdateRunner extends I2PAppThread implements UpdateTask, EepGet.StatusList protected String _(String s, Object o) { return _mgr._(s, o); } + + @Override + public String toString() { + return getClass().getName() + ' ' + getType() + ' ' + getID() + ' ' + getMethod() + ' ' + getURI(); + } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java index 1d04344419..63bf2a5646 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java @@ -652,8 +652,10 @@ public class SummaryHelper extends HelperBase { StringBuilder buf = new StringBuilder(512); // display all the time so we display the final failure message, and plugin update messages too String status = NewsHelper.getUpdateStatus(); + boolean needSpace = false; if (status.length() > 0) { buf.append("