diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java index f3ebf8e5c579a4bbd2e160dd23d71b373a445f9c..fd2bb3bcd7679c4e777a0b103866730733932f86 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java @@ -5,8 +5,10 @@ import de.thecodelabs.utils.application.ApplicationInfo; import de.thecodelabs.utils.application.ApplicationUtils; import de.thecodelabs.utils.threading.Worker; import de.thecodelabs.utils.util.Localization; +import de.thecodelabs.versionizer.config.Artifact; import de.thecodelabs.versionizer.model.Version; import de.thecodelabs.versionizer.service.UpdateService; +import de.thecodelabs.versionizer.service.VersionTokenizer; import de.tobias.playpad.PlayPad; import de.tobias.playpad.PlayPadPlugin; import de.tobias.playpad.Strings; @@ -22,6 +24,8 @@ import javafx.fxml.FXML; import javafx.scene.control.*; import java.io.IOException; +import java.util.Map; +import java.util.stream.Collectors; public class UpdateTabViewController extends GlobalSettingsTabViewController { @@ -99,10 +103,16 @@ public class UpdateTabViewController extends GlobalSettingsTabViewController { // Search for updates updateService.fetchCurrentVersion(); + // Filter remote versions that are newer then local version + final Map<Artifact, Version> remoteVersions = updateService.getRemoteVersions(); + final Map<Artifact, Version> availableUpdates = remoteVersions.entrySet().stream() + .filter(entry -> entry.getValue().isNewerThen(VersionTokenizer.getVersion(entry.getKey()))) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + Platform.runLater(() -> { openUpdateList.setPlaceholder(placeholderLabel); - openUpdateList.getItems().setAll(updateService.getRemoteVersions().values()); + openUpdateList.getItems().setAll(availableUpdates.values()); updateButton.setDisable(openUpdateList.getItems().isEmpty()); }); }); diff --git a/PlayWall/src/main/scala/de/tobias/playpad/initialize/VersionizerSetupTask.scala b/PlayWall/src/main/scala/de/tobias/playpad/initialize/VersionizerSetupTask.scala index ff86099670aaf4222298b81d1ff7afc6b344a1b7..3c78ccb991a479e5df94f17e0b0efd6320d2f1fb 100644 --- a/PlayWall/src/main/scala/de/tobias/playpad/initialize/VersionizerSetupTask.scala +++ b/PlayWall/src/main/scala/de/tobias/playpad/initialize/VersionizerSetupTask.scala @@ -18,6 +18,7 @@ class VersionizerSetupTask extends PlayPadInitializeTask { val versionizerItem = new VersionizerItem(repository, SystemUtils.getRunPath.toString) val updateService = UpdateService.startVersionizer(versionizerItem, UpdateService.Strategy.JAR, UpdateService.InteractionType.GUI) + updateService.addArtifact(artifact, SystemUtils.getRunPath) updateService.setRepositoryType(globalSettings.getUpdateChannel) instance.setUpdateService(updateService)