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 5a7aeee32..9e5b50df9 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 @@ -22,9 +22,8 @@ import org.cryptomator.ui.unlock.UnlockComponent; import javax.inject.Named; import java.io.IOException; import java.io.InputStream; -import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import java.util.Optional; @Module(includes = {UpdateCheckerModule.class}, subcomponents = {MainWindowComponent.class, PreferencesComponent.class, UnlockComponent.class, QuitComponent.class}) abstract class FxApplicationModule { @@ -40,15 +39,22 @@ abstract class FxApplicationModule { @FxApplicationScoped static List provideWindowIcons() { if (SystemUtils.IS_OS_MAC) { - return new ArrayList<>(); + return Collections.emptyList(); } - ArrayList icons = new ArrayList<>(); - icons.add(new Image(FxApplicationModule.class.getResourceAsStream("/window_icon_32.png"))); - icons.add(new Image(FxApplicationModule.class.getResourceAsStream("/window_icon_512.png"))); - return icons; + try { + return List.of(createImageFromResource("/window_icon_32.png"), createImageFromResource("/window_icon_512.png")); + } catch (IOException e) { + return Collections.emptyList(); + } } - + + private static Image createImageFromResource(String resourceName) throws IOException { + try (InputStream in = FxApplicationModule.class.getResourceAsStream(resourceName)) { + return new Image(in); + } + } + @Binds abstract Application bindApplication(FxApplication application);