Kaynağa Gözat

fixed some code smells

Sebastian Stenzel 3 yıl önce
ebeveyn
işleme
d475444829

+ 1 - 1
src/main/java/org/cryptomator/launcher/Cryptomator.java

@@ -99,7 +99,7 @@ public class Cryptomator {
 			Application.launch(MainApp.class);
 			LOG.info("UI shut down");
 			return 0;
-		} catch (Throwable e) {
+		} catch (Exception e) {
 			LOG.error("Terminating due to error", e);
 			return 1;
 		}

+ 0 - 2
src/main/java/org/cryptomator/launcher/CryptomatorModule.java

@@ -7,7 +7,6 @@ import org.cryptomator.integrations.autostart.AutoStartProvider;
 import org.cryptomator.integrations.tray.TrayIntegrationProvider;
 import org.cryptomator.integrations.uiappearance.UiAppearanceProvider;
 import org.cryptomator.ui.fxapp.FxApplicationComponent;
-import org.cryptomator.ui.traymenu.TrayMenuComponent;
 
 import javax.inject.Named;
 import javax.inject.Singleton;
@@ -16,7 +15,6 @@ import java.util.ResourceBundle;
 import java.util.ServiceLoader;
 import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.CountDownLatch;
 
 @Module(subcomponents = {FxApplicationComponent.class})
 class CryptomatorModule {

+ 0 - 4
src/main/java/org/cryptomator/ui/addvaultwizard/ChooseExistingVaultController.java

@@ -4,7 +4,6 @@ import dagger.Lazy;
 import org.apache.commons.lang3.SystemUtils;
 import org.cryptomator.common.vaults.Vault;
 import org.cryptomator.common.vaults.VaultListManager;
-import org.cryptomator.ui.common.ErrorComponent;
 import org.cryptomator.ui.common.FxController;
 import org.cryptomator.ui.common.FxmlFile;
 import org.cryptomator.ui.common.FxmlScene;
@@ -21,9 +20,6 @@ import javafx.stage.FileChooser;
 import javafx.stage.Stage;
 import java.io.File;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.UncheckedIOException;
-import java.nio.file.NoSuchFileException;
 import java.nio.file.Path;
 import java.util.ResourceBundle;
 

+ 0 - 1
src/main/java/org/cryptomator/ui/common/ErrorComponent.java

@@ -4,7 +4,6 @@ import dagger.BindsInstance;
 import dagger.Subcomponent;
 import org.cryptomator.common.Nullable;
 
-import javafx.application.Platform;
 import javafx.scene.Scene;
 import javafx.stage.Stage;
 

+ 4 - 8
src/main/java/org/cryptomator/ui/fxapp/FxApplicationStyle.java

@@ -54,9 +54,9 @@ public class FxApplicationStyle {
 			case LIGHT -> applyLightTheme();
 			case DARK -> applyDarkTheme();
 			case AUTOMATIC -> {
-				appearanceProvider.ifPresent(appearanceProvider -> {
+				appearanceProvider.ifPresent(provider -> {
 					try {
-						appearanceProvider.addListener(systemInterfaceThemeListener);
+						provider.addListener(systemInterfaceThemeListener);
 					} catch (UiAppearanceException e) {
 						LOG.error("Failed to enable automatic theme switching.");
 					}
@@ -84,15 +84,11 @@ public class FxApplicationStyle {
 
 	private void applyLightTheme() {
 		Application.setUserAgentStylesheet(getClass().getResource("/css/light_theme.css").toString());
-		appearanceProvider.ifPresent(appearanceProvider -> {
-			appearanceProvider.adjustToTheme(Theme.LIGHT);
-		});
+		appearanceProvider.ifPresent(provider -> provider.adjustToTheme(Theme.LIGHT));
 	}
 
 	private void applyDarkTheme() {
 		Application.setUserAgentStylesheet(getClass().getResource("/css/dark_theme.css").toString());
-		appearanceProvider.ifPresent(appearanceProvider -> {
-			appearanceProvider.adjustToTheme(Theme.DARK);
-		});
+		appearanceProvider.ifPresent(provider -> provider.adjustToTheme(Theme.DARK));
 	}
 }

+ 1 - 2
src/main/java/org/cryptomator/ui/fxapp/FxApplicationTerminator.java

@@ -26,8 +26,7 @@ import static org.cryptomator.common.vaults.VaultState.Value.*;
 @FxApplicationScoped
 public class FxApplicationTerminator {
 
-	public static final Set<VaultState.Value> STATES_ALLOWING_TERMINATION = EnumSet.of(LOCKED, NEEDS_MIGRATION, MISSING, ERROR);
-
+	private static final Set<VaultState.Value> STATES_ALLOWING_TERMINATION = EnumSet.of(LOCKED, NEEDS_MIGRATION, MISSING, ERROR);
 	private static final Logger LOG = LoggerFactory.getLogger(FxApplicationTerminator.class);
 
 	private final ObservableList<Vault> vaults;

+ 7 - 4
src/main/java/org/cryptomator/ui/fxapp/FxApplicationWindows.java

@@ -30,6 +30,7 @@ import java.awt.desktop.QuitResponse;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CompletionStage;
+import java.util.concurrent.ExecutorService;
 
 @FxApplicationScoped
 public class FxApplicationWindows {
@@ -44,10 +45,11 @@ public class FxApplicationWindows {
 	private final UnlockComponent.Factory unlockWorkflowFactory;
 	private final LockComponent.Factory lockWorkflowFactory;
 	private final ErrorComponent.Factory errorWindowFactory;
+	private final ExecutorService executor;
 	private final FilteredList<Window> visibleWindows;
 
 	@Inject
-	public FxApplicationWindows(@PrimaryStage Stage primaryStage, Optional<TrayIntegrationProvider> trayIntegration, Lazy<MainWindowComponent> mainWindow, Lazy<PreferencesComponent> preferencesWindow, Lazy<QuitComponent> quitWindow, UnlockComponent.Factory unlockWorkflowFactory, LockComponent.Factory lockWorkflowFactory, ErrorComponent.Factory errorWindowFactory) {
+	public FxApplicationWindows(@PrimaryStage Stage primaryStage, Optional<TrayIntegrationProvider> trayIntegration, Lazy<MainWindowComponent> mainWindow, Lazy<PreferencesComponent> preferencesWindow, Lazy<QuitComponent> quitWindow, UnlockComponent.Factory unlockWorkflowFactory, LockComponent.Factory lockWorkflowFactory, ErrorComponent.Factory errorWindowFactory, ExecutorService executor) {
 		this.primaryStage = primaryStage;
 		this.trayIntegration = trayIntegration;
 		this.mainWindow = mainWindow;
@@ -56,7 +58,8 @@ public class FxApplicationWindows {
 		this.unlockWorkflowFactory = unlockWorkflowFactory;
 		this.lockWorkflowFactory = lockWorkflowFactory;
 		this.errorWindowFactory = errorWindowFactory;
-		this.visibleWindows = Stage.getWindows().filtered(Window::isShowing);
+		this.executor = executor;
+		this.visibleWindows = Window.getWindows().filtered(Window::isShowing);
 	}
 
 	public void initialize() {
@@ -111,7 +114,7 @@ public class FxApplicationWindows {
 					LOG.debug("Start unlock workflow for {}", vault.getDisplayName());
 					return unlockWorkflowFactory.create(vault, owner).unlockWorkflow();
 				}, Platform::runLater) //
-				.thenCompose(CompletableFuture::runAsync) // run unlock in forkjoin pool TODO: use executorservice
+				.thenCompose(unlockWorkflow -> CompletableFuture.runAsync(unlockWorkflow, executor)) //
 				.exceptionally(e -> {
 					showErrorWindow(e, owner == null ? primaryStage : owner, null);
 					return null;
@@ -124,7 +127,7 @@ public class FxApplicationWindows {
 					LOG.debug("Start lock workflow for {}", vault.getDisplayName());
 					return lockWorkflowFactory.create(vault, owner).lockWorkflow();
 				}, Platform::runLater) //
-				.thenCompose(CompletableFuture::runAsync) // run lock in forkjoin pool TODO: use executorservice
+				.thenCompose(lockWorkflow -> CompletableFuture.runAsync(lockWorkflow, executor)) //
 				.exceptionally(e -> {
 					showErrorWindow(e, owner == null ? primaryStage : owner, null);
 					return null;

+ 0 - 1
src/main/java/org/cryptomator/ui/lock/LockModule.java

@@ -20,7 +20,6 @@ import javafx.scene.Scene;
 import javafx.stage.Modality;
 import javafx.stage.Stage;
 import java.util.Map;
-import java.util.Optional;
 import java.util.ResourceBundle;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.atomic.AtomicReference;

+ 0 - 1
src/main/java/org/cryptomator/ui/mainwindow/MainWindowTitleController.java

@@ -3,7 +3,6 @@ package org.cryptomator.ui.mainwindow;
 import org.cryptomator.common.LicenseHolder;
 import org.cryptomator.common.settings.Settings;
 import org.cryptomator.ui.common.FxController;
-import org.cryptomator.ui.fxapp.FxApplication;
 import org.cryptomator.ui.fxapp.FxApplicationTerminator;
 import org.cryptomator.ui.fxapp.FxApplicationWindows;
 import org.cryptomator.ui.fxapp.UpdateChecker;

+ 0 - 2
src/main/java/org/cryptomator/ui/mainwindow/VaultDetailController.java

@@ -1,7 +1,6 @@
 package org.cryptomator.ui.mainwindow;
 
 import com.tobiasdiez.easybind.EasyBind;
-import com.tobiasdiez.easybind.Subscription;
 import org.cryptomator.common.vaults.Vault;
 import org.cryptomator.common.vaults.VaultState;
 import org.cryptomator.ui.common.Animations;
@@ -9,7 +8,6 @@ import org.cryptomator.ui.common.AutoAnimator;
 import org.cryptomator.ui.common.FxController;
 import org.cryptomator.ui.controls.FontAwesome5Icon;
 import org.cryptomator.ui.controls.FontAwesome5IconView;
-import org.cryptomator.ui.fxapp.FxApplication;
 
 import javax.inject.Inject;
 import javafx.application.Application;

+ 0 - 4
src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java

@@ -4,9 +4,7 @@ import com.tobiasdiez.easybind.EasyBind;
 import org.cryptomator.common.keychain.KeychainManager;
 import org.cryptomator.common.vaults.Vault;
 import org.cryptomator.ui.common.FxController;
-import org.cryptomator.ui.fxapp.FxApplication;
 import org.cryptomator.ui.fxapp.FxApplicationWindows;
-import org.cryptomator.ui.health.HealthCheckComponent;
 import org.cryptomator.ui.vaultoptions.SelectedVaultOptionsTab;
 import org.cryptomator.ui.vaultoptions.VaultOptionsComponent;
 
@@ -15,10 +13,8 @@ import javafx.beans.binding.BooleanExpression;
 import javafx.beans.property.ObjectProperty;
 import javafx.beans.property.ReadOnlyObjectProperty;
 import javafx.beans.property.SimpleBooleanProperty;
-import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
 import javafx.stage.Stage;
-import java.util.Optional;
 
 @MainWindowScoped
 public class VaultDetailLockedController implements FxController {

+ 0 - 1
src/main/java/org/cryptomator/ui/migration/MigrationImpossibleController.java

@@ -2,7 +2,6 @@ package org.cryptomator.ui.migration;
 
 import org.cryptomator.common.vaults.Vault;
 import org.cryptomator.ui.common.FxController;
-import org.cryptomator.ui.fxapp.FxApplication;
 
 import javax.inject.Inject;
 import javafx.application.Application;

+ 0 - 1
src/main/java/org/cryptomator/ui/unlock/UnlockModule.java

@@ -22,7 +22,6 @@ import javafx.scene.Scene;
 import javafx.stage.Modality;
 import javafx.stage.Stage;
 import java.util.Map;
-import java.util.Optional;
 import java.util.ResourceBundle;
 
 @Module(subcomponents = {KeyLoadingComponent.class})