commit
08048d57ac
|
@ -4,8 +4,8 @@
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
|
<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
|
||||||
<classpathentry kind="lib" path="src/libraries/minimal-json-0.9.4.jar"/>
|
<classpathentry kind="lib" path="src/libraries/minimal-json-0.9.4.jar"/>
|
||||||
<classpathentry kind="lib" path="src/libraries/sqlite-jdbc-3.16.1.jar"/>
|
|
||||||
<classpathentry kind="lib" path="src/libraries/jfoenix-1.3.0.jar"/>
|
|
||||||
<classpathentry kind="lib" path="src/libraries/commons-io-2.5.jar"/>
|
<classpathentry kind="lib" path="src/libraries/commons-io-2.5.jar"/>
|
||||||
|
<classpathentry kind="lib" path="src/libraries/jfoenix-1.4.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="src/libraries/sqlite-jdbc-3.18.0.jar"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
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.targetPlatform=1.8
|
||||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||||
|
|
|
@ -2,12 +2,13 @@
|
||||||
|
|
||||||
|
|
||||||
Project HomeFlix is a Kellerkinder Project, that alowes you to sort all your local saved movies in clean UI.
|
Project HomeFlix is a Kellerkinder Project, that alowes you to sort all your local saved movies in clean UI.
|
||||||
The dev branch is **only merged** into master when a **new release** is released. Please commit all changes to [dev](https://github.com/Seil0/Project-HomeFlix/tree/dev).
|
The dev branch is **only merged** into master when a **new release** is released, so **master contains the latest released version**. Please commit all changes to [dev](https://github.com/Seil0/Project-HomeFlix/tree/dev).
|
||||||
|
|
||||||
Librarys used in this Project:
|
Librarys used in this Project:
|
||||||
JFoenix: https://github.com/jfoenixadmin/JFoenix
|
JFoenix: https://github.com/jfoenixadmin/JFoenix
|
||||||
minimal-json: https://github.com/ralfstx/minimal-json
|
minimal-json: https://github.com/ralfstx/minimal-json
|
||||||
sqlite-jdbc: https://github.com/xerial/sqlite-jdbc
|
sqlite-jdbc: https://github.com/xerial/sqlite-jdbc
|
||||||
|
apache commons io : https://commons.apache.org/proper/commons-io/
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
/application/
|
/application/
|
||||||
|
/libraries/
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -32,7 +32,6 @@ import java.io.InputStreamReader;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
import java.lang.Thread.State;
|
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
|
@ -184,10 +183,8 @@ public class MainWindowController {
|
||||||
static boolean firststart = false;
|
static boolean firststart = false;
|
||||||
private int hashA = -2055934614;
|
private int hashA = -2055934614;
|
||||||
private String version = "0.5.1";
|
private String version = "0.5.1";
|
||||||
private String buildNumber = "125";
|
private String buildNumber = "127";
|
||||||
private String versionName = "plasma cow";
|
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 dirWin = new File(System.getProperty("user.home") + "/Documents/HomeFlix");
|
||||||
private File dirLinux = new File(System.getProperty("user.home") + "/HomeFlix");
|
private File dirLinux = new File(System.getProperty("user.home") + "/HomeFlix");
|
||||||
private File fileWin = new File(dirWin + "/config.xml");
|
private File fileWin = new File(dirWin + "/config.xml");
|
||||||
|
@ -470,13 +467,9 @@ public class MainWindowController {
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void updateBtnAction(){
|
private void updateBtnAction(){
|
||||||
System.out.println(Updater.getState());
|
Thread updateThread = new Thread(Updater);
|
||||||
if(Updater.getState() == State.NEW){
|
updateThread.setName("Updater");
|
||||||
Updater.start();
|
updateThread.start();
|
||||||
}else{
|
|
||||||
Updater.run();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
|
@ -519,7 +512,7 @@ public class MainWindowController {
|
||||||
*/
|
*/
|
||||||
void setMain(Main main) {
|
void setMain(Main main) {
|
||||||
this.main = main;
|
this.main = main;
|
||||||
Updater = new updater(this,buildURL, downloadLink, buildNumber);
|
Updater = new updater(this, buildNumber);
|
||||||
dbController = new DBController(this, this.main);
|
dbController = new DBController(this, this.main);
|
||||||
ApiQuery = new apiQuery(this, dbController, this.main);
|
ApiQuery = new apiQuery(this, dbController, this.main);
|
||||||
}
|
}
|
||||||
|
@ -763,8 +756,10 @@ public class MainWindowController {
|
||||||
if(autoUpdate){
|
if(autoUpdate){
|
||||||
autoupdateBtn.setSelected(true);
|
autoupdateBtn.setSelected(true);
|
||||||
try {
|
try {
|
||||||
Updater.start();
|
Thread updateThread = new Thread(Updater);
|
||||||
Updater.join();
|
updateThread.setName("Updater");
|
||||||
|
updateThread.start();
|
||||||
|
updateThread.join();
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,20 +15,25 @@ import javax.swing.ProgressMonitorInputStream;
|
||||||
|
|
||||||
import org.apache.commons.io.FileUtils;
|
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;
|
import javafx.application.Platform;
|
||||||
|
|
||||||
public class updater extends Thread{
|
public class updater implements Runnable{
|
||||||
|
|
||||||
private MainWindowController mainWindowController;
|
private MainWindowController mainWindowController;
|
||||||
private String buildURL;
|
|
||||||
private String downloadLink;
|
|
||||||
private String updateBuildNumber;
|
|
||||||
private String buildNumber;
|
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;
|
mainWindowController=m;
|
||||||
this.buildURL=buildURL;
|
|
||||||
this.downloadLink=downloadLink;
|
|
||||||
this.buildNumber=buildNumber;
|
this.buildNumber=buildNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,14 +42,27 @@ public class updater extends Thread{
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("checkingUpdates"));
|
mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("checkingUpdates"));
|
||||||
});
|
});
|
||||||
try {
|
|
||||||
URL url = new URL(buildURL); //URL of the text file with the current build number
|
try {
|
||||||
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
|
URL githubApiUrl = new URL(githubApi);
|
||||||
updateBuildNumber = in.readLine(); //write InputStream in String
|
BufferedReader ina = new BufferedReader(new InputStreamReader(githubApiUrl.openStream()));
|
||||||
in.close();
|
apiOutput = ina.readLine();
|
||||||
|
ina.close();
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
mainWindowController.showErrorMsg(mainWindowController.errorUpdateV, 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);
|
System.out.println("Build: "+buildNumber+", Update: "+updateBuildNumber);
|
||||||
|
|
||||||
//Compares the program BuildNumber with the current BuildNumber if program BuildNumber < current BuildNumber then perform a update
|
//Compares the program BuildNumber with the current BuildNumber if program BuildNumber < current BuildNumber then perform a update
|
||||||
|
@ -61,9 +79,10 @@ public class updater extends Thread{
|
||||||
mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnavail"));
|
mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnavail"));
|
||||||
});
|
});
|
||||||
System.out.println("update available");
|
System.out.println("update available");
|
||||||
|
System.out.println("download link: " + browserDownloadUrl);
|
||||||
try {
|
try {
|
||||||
//get the download-Data URL
|
//get the download-Data URL
|
||||||
URL downloadURL = new URL(downloadLink);
|
URL downloadURL = new URL(browserDownloadUrl);
|
||||||
BufferedReader in = new BufferedReader(new InputStreamReader(downloadURL.openStream()));
|
BufferedReader in = new BufferedReader(new InputStreamReader(downloadURL.openStream()));
|
||||||
String updateDataURL = in.readLine();
|
String updateDataURL = in.readLine();
|
||||||
|
|
||||||
|
@ -80,8 +99,9 @@ public class updater extends Thread{
|
||||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
||||||
System.exit(0); //finishes itself
|
System.exit(0); //finishes itself
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
//in case there is an error
|
Platform.runLater(() -> {
|
||||||
mainWindowController.showErrorMsg(mainWindowController.errorUpdateD, e);
|
mainWindowController.showErrorMsg(mainWindowController.errorUpdateD, e);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue