浏览代码

change scope of HostServiceRevealer to @FxApplicationScoped
because unlock always happens after application start anyway

Sebastian Stenzel 4 年之前
父节点
当前提交
b1d7cfc81b
共有 1 个文件被更改,包括 8 次插入7 次删除
  1. 8 7
      main/ui/src/main/java/org/cryptomator/ui/common/HostServiceRevealer.java

+ 8 - 7
main/ui/src/main/java/org/cryptomator/ui/common/HostServiceRevealer.java

@@ -1,24 +1,25 @@
 package org.cryptomator.ui.common;
 
+import dagger.Lazy;
 import org.cryptomator.common.vaults.Volume;
-import org.cryptomator.ui.launcher.FxApplicationStarter;
+import org.cryptomator.ui.fxapp.FxApplicationScoped;
 
 import javax.inject.Inject;
-import javax.inject.Singleton;
+import javafx.application.Application;
 import java.nio.file.Path;
 
-@Singleton
+@FxApplicationScoped
 public class HostServiceRevealer implements Volume.Revealer {
 
-	private final FxApplicationStarter fxApplicationStarter;
+	private final Lazy<Application> application;
 
 	@Inject
-	public HostServiceRevealer(FxApplicationStarter fxApplicationStarter) {
-		this.fxApplicationStarter = fxApplicationStarter;
+	public HostServiceRevealer(Lazy<Application> application) {
+		this.application = application;
 	}
 
 	@Override
 	public void reveal(Path p) throws Volume.VolumeException {
-		fxApplicationStarter.get().thenAccept(app -> app.getHostServices().showDocument(p.toUri().toString()));
+		application.get().getHostServices().showDocument(p.toUri().toString());
 	}
 }