From fc5672a1619278d05734b9708364d1913d304dbf Mon Sep 17 00:00:00 2001 From: CalDescent Date: Fri, 11 Mar 2022 14:49:02 +0000 Subject: [PATCH] Use a more tolerant latest block timestamp in the isUpToDate() calls below to reduce misleading systray statuses. Any block in the last 30 minutes is considered "up to date" for the purposes of displaying statuses. --- src/main/java/org/qortal/controller/Controller.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/qortal/controller/Controller.java b/src/main/java/org/qortal/controller/Controller.java index 1275a546..e2ae6ca4 100644 --- a/src/main/java/org/qortal/controller/Controller.java +++ b/src/main/java/org/qortal/controller/Controller.java @@ -726,6 +726,10 @@ public class Controller extends Thread { String actionText; + // Use a more tolerant latest block timestamp in the isUpToDate() calls below to reduce misleading statuses. + // Any block in the last 30 minutes is considered "up to date" for the purposes of displaying statuses. + final Long minLatestBlockTimestamp = NTP.getTime() - (30 * 60 * 1000L); + synchronized (Synchronizer.getInstance().syncLock) { if (this.isMintingPossible) { actionText = Translator.INSTANCE.translate("SysTray", "MINTING_ENABLED"); @@ -735,11 +739,11 @@ public class Controller extends Thread { actionText = Translator.INSTANCE.translate("SysTray", "CONNECTING"); SysTray.getInstance().setTrayIcon(3); } - else if (!this.isUpToDate() && Synchronizer.getInstance().isSynchronizing()) { + else if (!this.isUpToDate(minLatestBlockTimestamp) && Synchronizer.getInstance().isSynchronizing()) { actionText = String.format("%s - %d%%", Translator.INSTANCE.translate("SysTray", "SYNCHRONIZING_BLOCKCHAIN"), Synchronizer.getInstance().getSyncPercent()); SysTray.getInstance().setTrayIcon(3); } - else if (!this.isUpToDate()) { + else if (!this.isUpToDate(minLatestBlockTimestamp)) { actionText = String.format("%s", Translator.INSTANCE.translate("SysTray", "SYNCHRONIZING_BLOCKCHAIN")); SysTray.getInstance().setTrayIcon(3); }