diff --git a/src/main/java/org/cryptomator/ui/fxapp/UpdateChecker.java b/src/main/java/org/cryptomator/ui/fxapp/UpdateChecker.java index 0d266dd02..7bf51aaa8 100644 --- a/src/main/java/org/cryptomator/ui/fxapp/UpdateChecker.java +++ b/src/main/java/org/cryptomator/ui/fxapp/UpdateChecker.java @@ -14,6 +14,7 @@ import javafx.beans.property.ReadOnlyStringProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; +import javafx.beans.value.ObservableValue; import javafx.concurrent.ScheduledService; import javafx.concurrent.Worker; import javafx.concurrent.WorkerStateEvent; @@ -35,7 +36,8 @@ public class UpdateChecker { private final ObjectProperty lastSuccessfulUpdateCheck = new SimpleObjectProperty<>(); private final Comparator versionComparator = new SemVerComparator(); private final BooleanBinding updateAvailable; - private final BooleanBinding checkFailed; + //private final BooleanBinding checkFailed; + private final ObservableValue checkFailed; @Inject UpdateChecker(Settings settings, // @@ -50,7 +52,7 @@ public class UpdateChecker { var latestVersion = this.latestVersion.get(); return latestVersion != null && versionComparator.compare(getCurrentVersion(), latestVersion) < 0; }, latestVersion); - this.checkFailed = Bindings.createBooleanBinding(() -> state.isEqualTo(UpdateChecker.UpdateCheckState.CHECK_FAILED).get(), state); + this.checkFailed = state.map(UpdateCheckState.CHECK_FAILED::equals); } public void automaticallyCheckForUpdatesIfEnabled() { @@ -109,7 +111,7 @@ public class UpdateChecker { public BooleanBinding updateAvailableProperty() { return updateAvailable; } - public BooleanBinding checkFailedProperty() { + public ObservableValue checkFailedProperty() { return checkFailed; } diff --git a/src/main/java/org/cryptomator/ui/preferences/UpdatesPreferencesController.java b/src/main/java/org/cryptomator/ui/preferences/UpdatesPreferencesController.java index ebfee8689..58d22d50c 100644 --- a/src/main/java/org/cryptomator/ui/preferences/UpdatesPreferencesController.java +++ b/src/main/java/org/cryptomator/ui/preferences/UpdatesPreferencesController.java @@ -47,7 +47,7 @@ public class UpdatesPreferencesController implements FxController { private final ObservableValue timeDifferenceMessage; private final String currentVersion; private final BooleanBinding updateAvailable; - private final BooleanBinding checkFailed; + private final ObservableValue checkFailed; private final BooleanProperty upToDateLabelVisible = new SimpleBooleanProperty(false); private final ObjectProperty updateCheckState; private final DateTimeFormatter formatter; @@ -181,12 +181,12 @@ public class UpdatesPreferencesController implements FxController { return updateAvailable.get(); } - public BooleanBinding checkFailedProperty() { + public ObservableValue checkFailedProperty() { return checkFailed; } public boolean isCheckFailed() { - return checkFailed.get(); + return checkFailed.getValue(); } }