diff --git a/main/commons/src/main/java/org/cryptomator/common/JniModule.java b/main/commons/src/main/java/org/cryptomator/common/JniModule.java index 742514bfc..180736710 100644 --- a/main/commons/src/main/java/org/cryptomator/common/JniModule.java +++ b/main/commons/src/main/java/org/cryptomator/common/JniModule.java @@ -11,17 +11,20 @@ import org.cryptomator.jni.JniFunctions; import org.cryptomator.jni.MacFunctions; import org.cryptomator.jni.WinFunctions; +import javax.inject.Singleton; import java.util.Optional; @Module public class JniModule { @Provides + @Singleton Optional provideOptionalMacFunctions() { return JniFunctions.macFunctions(); } @Provides + @Singleton Optional provideOptionalWinFunctions() { return JniFunctions.winFunctions(); } diff --git a/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java b/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java index f735ba24e..43fa9e749 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java +++ b/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java @@ -5,16 +5,13 @@ *******************************************************************************/ package org.cryptomator.ui.fxapp; -import dagger.Binds; import dagger.Module; import dagger.Provides; -import javafx.application.Application; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.scene.image.Image; import org.apache.commons.lang3.SystemUtils; import org.cryptomator.common.vaults.Vault; -import org.cryptomator.keychain.KeychainModule; import org.cryptomator.ui.mainwindow.MainWindowComponent; import org.cryptomator.ui.preferences.PreferencesComponent; import org.cryptomator.ui.quit.QuitComponent; @@ -25,13 +22,9 @@ import java.io.IOException; import java.io.InputStream; import java.util.Optional; -@Module(includes = {KeychainModule.class, UpdateCheckerModule.class}, subcomponents = {MainWindowComponent.class, PreferencesComponent.class, UnlockComponent.class, QuitComponent.class}) +@Module(includes = {UpdateCheckerModule.class}, subcomponents = {MainWindowComponent.class, PreferencesComponent.class, UnlockComponent.class, QuitComponent.class}) abstract class FxApplicationModule { - @Binds - @FxApplicationScoped - abstract Application provideApplication(FxApplication application); - @Provides @FxApplicationScoped static ObjectProperty provideSelectedVault() { diff --git a/main/ui/src/main/java/org/cryptomator/ui/launcher/UiLauncherModule.java b/main/ui/src/main/java/org/cryptomator/ui/launcher/UiLauncherModule.java index 2ac585763..9b8d6e776 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/launcher/UiLauncherModule.java +++ b/main/ui/src/main/java/org/cryptomator/ui/launcher/UiLauncherModule.java @@ -3,6 +3,7 @@ package org.cryptomator.ui.launcher; import dagger.Module; import dagger.Provides; import org.cryptomator.common.JniModule; +import org.cryptomator.keychain.KeychainModule; import org.cryptomator.ui.fxapp.FxApplicationComponent; import org.cryptomator.ui.traymenu.TrayMenuComponent; @@ -12,7 +13,7 @@ import java.util.ResourceBundle; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; -@Module(includes = {JniModule.class}, subcomponents = {TrayMenuComponent.class, FxApplicationComponent.class}) +@Module(includes = {JniModule.class, KeychainModule.class}, subcomponents = {TrayMenuComponent.class, FxApplicationComponent.class}) public abstract class UiLauncherModule { @Provides