From e36c35326a2895878d74115951f3b03436915877 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Sat, 30 Jan 2016 04:29:09 +0100 Subject: [PATCH] add timeout at startup --- .../main/java/io/bitsquare/gui/main/MainView.java | 7 +++++-- .../java/io/bitsquare/gui/main/MainViewModel.java | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gui/src/main/java/io/bitsquare/gui/main/MainView.java b/gui/src/main/java/io/bitsquare/gui/main/MainView.java index 6554a6e2ec..e20443832c 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/MainView.java +++ b/gui/src/main/java/io/bitsquare/gui/main/MainView.java @@ -59,11 +59,11 @@ public class MainView extends InitializableView { } public static void blur() { - transitions.blur(baseApplicationContainer); + transitions.blur(MainView.base); } public static void blurLight() { - transitions.blur(baseApplicationContainer, Transitions.DEFAULT_DURATION, true, false, 5); + transitions.blur(MainView.base, Transitions.DEFAULT_DURATION, true, false, 5); } public static void removeBlur() { @@ -87,6 +87,7 @@ public class MainView extends InitializableView { private Label btcSplashInfo; private List persistedFilesCorrupted; private static BorderPane baseApplicationContainer; + private static StackPane base; private Popup p2PNetworkWarnMsgPopup, btcNetworkWarnMsgPopup; @Inject @@ -101,6 +102,8 @@ public class MainView extends InitializableView { @Override protected void initialize() { + MainView.base = this.root; + ToggleButton marketButton = new NavButton(MarketView.class, "Market"); ToggleButton buyButton = new NavButton(BuyOfferView.class, "Buy BTC"); ToggleButton sellButton = new NavButton(SellOfferView.class, "Sell BTC"); diff --git a/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java index 9489100ad6..63b7cc9b03 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java +++ b/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java @@ -122,6 +122,7 @@ public class MainViewModel implements ViewModel { private ChangeListener numConnectedPeersListener, btcNumPeersListener; private java.util.Timer numberofBtcPeersTimer; private java.util.Timer numberofP2PNetworkPeersTimer; + private Timer startupTimeout; /////////////////////////////////////////////////////////////////////////////////////////// @@ -179,6 +180,17 @@ public class MainViewModel implements ViewModel { if (newValue) onAllServicesInitialized(); }); + + startupTimeout = FxTimer.runLater(Duration.ofMillis(60000), () -> { + log.warn("startupTimeout called"); + MainView.blur(); + new Popup().warning("The application could not startup after 60 seconds.\n" + + "There might be some network connection problems.\n\n" + + "Please restart and try again.") + .closeButtonText("Shut down") + .onClose(() -> BitsquareApp.shutDownHandler.run()) + .show(); + }); } public void shutDown() { @@ -301,6 +313,8 @@ public class MainViewModel implements ViewModel { private void onAllServicesInitialized() { Log.traceCall(); + startupTimeout.stop(); + // disputeManager disputeManager.getDisputesAsObservableList().addListener((ListChangeListener) change -> { change.next();