diff --git a/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java
index 81f8d6e8d..84d54263e 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java
@@ -92,14 +92,25 @@ public class UpdateHandler {
return _updateRunner.getStatus();
}
+ public boolean isDone() {
+ if(this._updateRunner == null)
+ return true;
+ return this._updateRunner.isDone();
+ }
+
public class UpdateRunner implements Runnable, EepGet.StatusListener {
protected boolean _isRunning;
+ protected boolean done;
protected String _status;
public UpdateRunner() {
- _isRunning = false;
+ _isRunning = false;
+ this.done = false;
_status = "Updating";
}
public boolean isRunning() { return _isRunning; }
+ public boolean isDone() {
+ return this.done;
+ }
public String getStatus() { return _status; }
public void run() {
_isRunning = true;
@@ -159,6 +170,7 @@ public class UpdateHandler {
f.delete();
if (err == null) {
String policy = _context.getProperty(ConfigUpdateHandler.PROP_UPDATE_POLICY);
+ this.done = true;
if ("install".equals(policy)) {
_log.log(Log.CRIT, "Update was VERIFIED, restarting to install it");
_status = "Update verified
Restarting";
diff --git a/apps/routerconsole/jsp/summary.jsp b/apps/routerconsole/jsp/summary.jsp
index 48f3b4fef..c3b7f8a74 100644
--- a/apps/routerconsole/jsp/summary.jsp
+++ b/apps/routerconsole/jsp/summary.jsp
@@ -25,7 +25,7 @@
// display all the time so we display the final failure message
out.print("
" + update.getStatus());
if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress", "false"))) {
- } else {
+ } else if(!update.isDone()) {
long nonce = new java.util.Random().nextLong();
String prev = System.getProperty("net.i2p.router.web.UpdateHandler.nonce");
if (prev != null) System.setProperty("net.i2p.router.web.UpdateHandler.noncePrev", prev);