From b7d809b568375b1ebdcc3be44975f97d11d5bef0 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Fri, 30 Sep 2022 05:07:42 +0200 Subject: [PATCH] Check for updates upon macOS app reopen --- .../net/sf/openrocket/startup/OSXSetup.java | 5 ++++ .../sf/openrocket/startup/SwingStartup.java | 26 +++++++++++-------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/swing/src/net/sf/openrocket/startup/OSXSetup.java b/swing/src/net/sf/openrocket/startup/OSXSetup.java index e16ac9716..4023875d2 100644 --- a/swing/src/net/sf/openrocket/startup/OSXSetup.java +++ b/swing/src/net/sf/openrocket/startup/OSXSetup.java @@ -7,6 +7,7 @@ import java.awt.desktop.PreferencesHandler; import java.awt.desktop.QuitHandler; import java.awt.desktop.AppReopenedListener; +import net.sf.openrocket.communication.UpdateInfoRetriever; import net.sf.openrocket.gui.util.DummyFrameMenuOSX; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,6 +57,10 @@ final class OSXSetup { if (BasicFrame.isFramesEmpty()) { log.info("App re-opened"); BasicFrame.reopen(); + + // Also check for software updates + final UpdateInfoRetriever updateRetriever = SwingStartup.startUpdateChecker(); + SwingStartup.checkUpdateStatus(updateRetriever); } }; diff --git a/swing/src/net/sf/openrocket/startup/SwingStartup.java b/swing/src/net/sf/openrocket/startup/SwingStartup.java index 4758c26e8..954abcc44 100644 --- a/swing/src/net/sf/openrocket/startup/SwingStartup.java +++ b/swing/src/net/sf/openrocket/startup/SwingStartup.java @@ -193,15 +193,7 @@ public class SwingStartup { guiModule.startLoader(); // Start update info fetching - final UpdateInfoRetriever updateRetriever; - if (Application.getPreferences().getCheckUpdates()) { - log.info("Starting update check"); - updateRetriever = new UpdateInfoRetriever(); - updateRetriever.startFetchUpdateInfo(); - } else { - log.info("Update check disabled"); - updateRetriever = null; - } + final UpdateInfoRetriever updateRetriever = startUpdateChecker(); // Set the best available look-and-feel log.info("Setting best LAF"); @@ -248,9 +240,21 @@ public class SwingStartup { } } + + public static UpdateInfoRetriever startUpdateChecker() { + final UpdateInfoRetriever updateRetriever; + if (Application.getPreferences().getCheckUpdates()) { + log.info("Starting update check"); + updateRetriever = new UpdateInfoRetriever(); + updateRetriever.startFetchUpdateInfo(); + } else { + log.info("Update check disabled"); + updateRetriever = null; + } + return updateRetriever; + } - - private void checkUpdateStatus(final UpdateInfoRetriever updateRetriever) { + public static void checkUpdateStatus(final UpdateInfoRetriever updateRetriever) { if (updateRetriever == null) return;