diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 3a21537..a698e59 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,5 +1,6 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.8 diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..8e39425 --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1,2 @@ +/application/ +/libraries/ diff --git a/bin/application/DBController.class b/bin/application/DBController.class index 9f604cf..6a474fe 100644 Binary files a/bin/application/DBController.class and b/bin/application/DBController.class differ diff --git a/bin/application/MainWindowController$1.class b/bin/application/MainWindowController$1.class index 8aefdd4..a04b9ab 100644 Binary files a/bin/application/MainWindowController$1.class and b/bin/application/MainWindowController$1.class differ diff --git a/bin/application/MainWindowController$2.class b/bin/application/MainWindowController$2.class index 0598930..9a9dbab 100644 Binary files a/bin/application/MainWindowController$2.class and b/bin/application/MainWindowController$2.class differ diff --git a/bin/application/MainWindowController$3.class b/bin/application/MainWindowController$3.class index d3984f0..d08f4a1 100644 Binary files a/bin/application/MainWindowController$3.class and b/bin/application/MainWindowController$3.class differ diff --git a/bin/application/MainWindowController$4.class b/bin/application/MainWindowController$4.class index 805fc84..1d49150 100644 Binary files a/bin/application/MainWindowController$4.class and b/bin/application/MainWindowController$4.class differ diff --git a/bin/application/MainWindowController$5.class b/bin/application/MainWindowController$5.class index cdf339c..f5f5151 100644 Binary files a/bin/application/MainWindowController$5.class and b/bin/application/MainWindowController$5.class differ diff --git a/bin/application/MainWindowController$6.class b/bin/application/MainWindowController$6.class index e7f5c3d..5ebe321 100644 Binary files a/bin/application/MainWindowController$6.class and b/bin/application/MainWindowController$6.class differ diff --git a/bin/application/MainWindowController$7.class b/bin/application/MainWindowController$7.class index b5e6936..6d07829 100644 Binary files a/bin/application/MainWindowController$7.class and b/bin/application/MainWindowController$7.class differ diff --git a/bin/application/MainWindowController.class b/bin/application/MainWindowController.class index 92c9154..6b4196d 100644 Binary files a/bin/application/MainWindowController.class and b/bin/application/MainWindowController.class differ diff --git a/bin/application/updater.class b/bin/application/updater.class index 8f98d1c..f7249c3 100644 Binary files a/bin/application/updater.class and b/bin/application/updater.class differ diff --git a/bin/libraries/jfoenix-1.3.0.jar b/bin/libraries/jfoenix-1.3.0.jar deleted file mode 100644 index 37e7860..0000000 Binary files a/bin/libraries/jfoenix-1.3.0.jar and /dev/null differ diff --git a/src/application/MainWindowController.java b/src/application/MainWindowController.java index 9655ad4..01dcb88 100644 --- a/src/application/MainWindowController.java +++ b/src/application/MainWindowController.java @@ -185,8 +185,6 @@ public class MainWindowController { private String version = "0.5.1"; private String buildNumber = "127"; private String versionName = "plasma cow"; - private String buildURL = "https://raw.githubusercontent.com/Seil0/Project-HomeFlix/master/updates/buildNumber.txt"; - private String downloadLink = "https://raw.githubusercontent.com/Seil0/Project-HomeFlix/master/updates/downloadLink.txt"; private File dirWin = new File(System.getProperty("user.home") + "/Documents/HomeFlix"); private File dirLinux = new File(System.getProperty("user.home") + "/HomeFlix"); private File fileWin = new File(dirWin + "/config.xml"); @@ -514,7 +512,7 @@ public class MainWindowController { */ void setMain(Main main) { this.main = main; - Updater = new updater(this,buildURL, downloadLink, buildNumber); + Updater = new updater(this, buildNumber); dbController = new DBController(this, this.main); ApiQuery = new apiQuery(this, dbController, this.main); } diff --git a/src/application/updater.java b/src/application/updater.java index 506782d..33d7763 100644 --- a/src/application/updater.java +++ b/src/application/updater.java @@ -15,20 +15,25 @@ import javax.swing.ProgressMonitorInputStream; import org.apache.commons.io.FileUtils; +import com.eclipsesource.json.Json; +import com.eclipsesource.json.JsonArray; +import com.eclipsesource.json.JsonObject; +import com.eclipsesource.json.JsonValue; + import javafx.application.Platform; public class updater implements Runnable{ private MainWindowController mainWindowController; - private String buildURL; - private String downloadLink; - private String updateBuildNumber; private String buildNumber; + private String apiOutput; + private String updateBuildNumber; //tag_name from Github + private String browserDownloadUrl; //update download link + private String githubApi = "https://api.github.com/repos/Seil0/Project-HomeFlix/releases/latest"; - public updater(MainWindowController m, String buildURL,String downloadLink,String buildNumber){ + + public updater(MainWindowController m, String buildNumber){ mainWindowController=m; - this.buildURL=buildURL; - this.downloadLink=downloadLink; this.buildNumber=buildNumber; } @@ -37,14 +42,27 @@ public class updater implements Runnable{ Platform.runLater(() -> { mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("checkingUpdates")); }); - try { - URL url = new URL(buildURL); //URL of the text file with the current build number - BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); - updateBuildNumber = in.readLine(); //write InputStream in String - in.close(); + + try { + URL githubApiUrl = new URL(githubApi); + BufferedReader ina = new BufferedReader(new InputStreamReader(githubApiUrl.openStream())); + apiOutput = ina.readLine(); + ina.close(); } catch (IOException e1) { mainWindowController.showErrorMsg(mainWindowController.errorUpdateV, e1); + e1.printStackTrace(); } + + JsonObject object = Json.parse(apiOutput).asObject(); + JsonArray objectAssets = Json.parse(apiOutput).asObject().get("assets").asArray(); + + updateBuildNumber = object.getString("tag_name", ""); +// updateName = object.getString("name", ""); +// updateChanges = object.getString("body", ""); + for (JsonValue asset : objectAssets) { + browserDownloadUrl = asset.asObject().getString("browser_download_url", ""); + + } System.out.println("Build: "+buildNumber+", Update: "+updateBuildNumber); //Compares the program BuildNumber with the current BuildNumber if program BuildNumber < current BuildNumber then perform a update @@ -61,9 +79,10 @@ public class updater implements Runnable{ mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnavail")); }); System.out.println("update available"); + System.out.println("download link: " + browserDownloadUrl); try { //get the download-Data URL - URL downloadURL = new URL(downloadLink); + URL downloadURL = new URL(browserDownloadUrl); BufferedReader in = new BufferedReader(new InputStreamReader(downloadURL.openStream())); String updateDataURL = in.readLine(); @@ -80,8 +99,9 @@ public class updater implements Runnable{ Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again System.exit(0); //finishes itself } catch (IOException e) { - //in case there is an error - mainWindowController.showErrorMsg(mainWindowController.errorUpdateD, e); + Platform.runLater(() -> { + mainWindowController.showErrorMsg(mainWindowController.errorUpdateD, e); + }); } } } diff --git a/src/libraries/jfoenix-1.3.0.jar b/src/libraries/jfoenix-1.3.0.jar deleted file mode 100644 index 37e7860..0000000 Binary files a/src/libraries/jfoenix-1.3.0.jar and /dev/null differ