/* * Decompiled with CFR 0.152. * * Could not load the following classes: * javafx.application.Platform * javafx.scene.Node * javafx.scene.control.Alert * javafx.scene.control.Alert$AlertType * javafx.scene.control.ButtonType * javafx.scene.control.Hyperlink * javafx.scene.control.Label * javafx.scene.layout.FlowPane * javafx.scene.web.WebView */ package gearth.misc; import gearth.GEarth; import gearth.ui.titlebar.TitleBarController; import java.io.IOException; import java.net.URL; import java.nio.charset.StandardCharsets; import javafx.application.Platform; import javafx.scene.Node; import javafx.scene.control.Alert; import javafx.scene.control.ButtonType; import javafx.scene.control.Hyperlink; import javafx.scene.control.Label; import javafx.scene.layout.FlowPane; import javafx.scene.web.WebView; import org.apache.commons.io.IOUtils; import org.apache.maven.artifact.versioning.ComparableVersion; import org.json.JSONObject; public class UpdateChecker { public static void checkForUpdates() { new Thread(() -> { try { JSONObject object = new JSONObject(IOUtils.toString(new URL(GEarth.gitApi).openStream(), StandardCharsets.UTF_8)); String gitv = (String)object.get("tag_name"); if (new ComparableVersion(GEarth.version).compareTo(new ComparableVersion(gitv)) < 0) { Platform.runLater(() -> { String body = (String)object.get("body"); boolean isForcedUpdate = body.contains("(!)"); Alert alert = new Alert(isForcedUpdate ? Alert.AlertType.ERROR : Alert.AlertType.INFORMATION, "G-Earth is outdated!", new ButtonType[]{ButtonType.OK}); FlowPane fp = new FlowPane(); Label lbl = new Label("A new version of G-Earth has been found (" + gitv + ")" + System.lineSeparator() + System.lineSeparator() + "Update to the latest version:"); Hyperlink link = new Hyperlink("https://github.com/sirjonasxx/G-Earth/releases"); fp.getChildren().addAll((Object[])new Node[]{lbl, link}); link.setOnAction(event -> { GEarth.main.getHostServices().showDocument(link.getText()); event.consume(); }); WebView webView = new WebView(); webView.getEngine().loadContent("A new version of G-Earth has been found (" + gitv + ")

Update to the latest version:
https://github.com/sirjonasxx/G-Earth/releases"); webView.setPrefSize(500.0, 200.0); alert.setResizable(false); alert.getDialogPane().setMinHeight(Double.NEGATIVE_INFINITY); alert.getDialogPane().setContent((Node)fp); if (isForcedUpdate) { alert.setOnCloseRequest(event -> System.exit(0)); } try { TitleBarController.create(alert).showAlert(); } catch (IOException e) { e.printStackTrace(); } }); } } catch (IOException iOException) { // empty catch block } }).start(); } }