Browse Source

JNI interfaces are now singletons

Sebastian Stenzel 5 years ago
parent
commit
db836a9dc3

+ 3 - 0
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<MacFunctions> provideOptionalMacFunctions() {
 		return JniFunctions.macFunctions();
 	}
 
 	@Provides
+	@Singleton
 	Optional<WinFunctions> provideOptionalWinFunctions() {
 		return JniFunctions.winFunctions();
 	}

+ 1 - 8
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<Vault> provideSelectedVault() {

+ 2 - 1
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