diff --git a/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java b/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java index 90a48039a..80a261bb8 100644 --- a/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java +++ b/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java @@ -80,4 +80,10 @@ abstract class FxApplicationModule { return factory.create(); } + @Provides + @FxApplicationScoped + static NotificationComponent provideNotificationComponent(NotificationComponent.Factory factory) { + return factory.create(); + } + } \ No newline at end of file diff --git a/src/main/java/org/cryptomator/ui/fxapp/FxApplicationWindows.java b/src/main/java/org/cryptomator/ui/fxapp/FxApplicationWindows.java index aadfb8a2b..94c4fe330 100644 --- a/src/main/java/org/cryptomator/ui/fxapp/FxApplicationWindows.java +++ b/src/main/java/org/cryptomator/ui/fxapp/FxApplicationWindows.java @@ -55,7 +55,7 @@ public class FxApplicationWindows { private final LockComponent.Factory lockWorkflowFactory; private final ErrorComponent.Factory errorWindowFactory; private final Lazy eventViewWindow; - private final NotificationComponent.Factory notificationWindow; + private final Lazy notificationWindow; private final ExecutorService executor; private final VaultOptionsComponent.Factory vaultOptionsWindow; private final ShareVaultComponent.Factory shareVaultWindow; @@ -75,7 +75,7 @@ public class FxApplicationWindows { VaultOptionsComponent.Factory vaultOptionsWindow, // ShareVaultComponent.Factory shareVaultWindow, // Lazy eventViewWindow, // - NotificationComponent.Factory notificationWindow, + Lazy notificationWindow, ExecutorService executor, // Dialogs dialogs) { this.primaryStage = primaryStage; @@ -198,7 +198,7 @@ public class FxApplicationWindows { } public CompletionStage showNotification() { - return CompletableFuture.supplyAsync(() -> notificationWindow.create().showNotification(), Platform::runLater).whenComplete(this::reportErrors); + return CompletableFuture.supplyAsync(() -> notificationWindow.get().showNotification(), Platform::runLater).whenComplete(this::reportErrors); } /**