code clean up
This commit is contained in:
parent
0a208f5a6b
commit
2b17d34841
|
@ -1558,7 +1558,7 @@ public class MainWindowController {
|
||||||
timePlayedBtnTransition.play();
|
timePlayedBtnTransition.play();
|
||||||
}
|
}
|
||||||
|
|
||||||
void playBtnSlideOut(){
|
private void playBtnSlideOut(){
|
||||||
playTrue = false;
|
playTrue = false;
|
||||||
TranslateTransition playBtnTransition = new TranslateTransition(Duration.millis(300), playBtn);
|
TranslateTransition playBtnTransition = new TranslateTransition(Duration.millis(300), playBtn);
|
||||||
playBtnTransition.setFromY(0);
|
playBtnTransition.setFromY(0);
|
||||||
|
|
|
@ -43,110 +43,112 @@ import com.eclipsesource.json.JsonValue;
|
||||||
|
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
|
|
||||||
public class UpdateController implements Runnable{
|
public class UpdateController implements Runnable {
|
||||||
|
|
||||||
private MainWindowController mainWindowController;
|
private MainWindowController mainWindowController;
|
||||||
private String buildNumber;
|
private String buildNumber;
|
||||||
private String apiOutput;
|
private String apiOutput;
|
||||||
private String updateBuildNumber; //tag_name from Github
|
private String updateBuildNumber; // tag_name from Github
|
||||||
private String browserDownloadUrl; //update download link
|
private String browserDownloadUrl; // update download link
|
||||||
private String githubApiRelease = "https://api.github.com/repos/Seil0/cemu_UI/releases/latest";
|
private String githubApiRelease = "https://api.github.com/repos/Seil0/cemu_UI/releases/latest";
|
||||||
private String githubApiBeta = "https://api.github.com/repos/Seil0/cemu_UI/releases";
|
private String githubApiBeta = "https://api.github.com/repos/Seil0/cemu_UI/releases";
|
||||||
private URL githubApiUrl;
|
private URL githubApiUrl;
|
||||||
private boolean useBeta;
|
private boolean useBeta;
|
||||||
private static final Logger LOGGER = LogManager.getLogger(UpdateController.class.getName());
|
private static final Logger LOGGER = LogManager.getLogger(UpdateController.class.getName());
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* updater for cemu_UI based on Project HomeFlix
|
* updater for cemu_UI based on Project HomeFlix checks for Updates and download
|
||||||
* checks for Updates and download it in case there is one
|
* it in case there is one
|
||||||
*/
|
*/
|
||||||
public UpdateController(MainWindowController mwc, String buildNumber, boolean useBeta){
|
public UpdateController(MainWindowController mwc, String buildNumber, boolean useBeta) {
|
||||||
mainWindowController = mwc;
|
mainWindowController = mwc;
|
||||||
this.buildNumber = buildNumber;
|
this.buildNumber = buildNumber;
|
||||||
this.useBeta = useBeta;
|
this.useBeta = useBeta;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void run(){
|
@Override
|
||||||
|
public void run() {
|
||||||
System.out.println("checking for updates ...");
|
System.out.println("checking for updates ...");
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
mainWindowController.getUpdateBtn().setText("checking for updates ...");
|
mainWindowController.getUpdateBtn().setText("checking for updates ...");
|
||||||
});
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
if (useBeta) {
|
if (useBeta) {
|
||||||
githubApiUrl = new URL(githubApiBeta);
|
githubApiUrl = new URL(githubApiBeta);
|
||||||
} else {
|
} else {
|
||||||
githubApiUrl = new URL(githubApiRelease);
|
githubApiUrl = new URL(githubApiRelease);
|
||||||
}
|
}
|
||||||
|
|
||||||
// URL githubApiUrl = new URL(githubApiRelease);
|
// URL githubApiUrl = new URL(githubApiRelease);
|
||||||
BufferedReader ina = new BufferedReader(new InputStreamReader(githubApiUrl.openStream()));
|
BufferedReader ina = new BufferedReader(new InputStreamReader(githubApiUrl.openStream()));
|
||||||
apiOutput = ina.readLine();
|
apiOutput = ina.readLine();
|
||||||
ina.close();
|
ina.close();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
LOGGER.error("could not check update version", e);
|
LOGGER.error("could not check update version", e);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (useBeta) {
|
if (useBeta) {
|
||||||
JsonArray objectArray = Json.parse("{\"items\": " + apiOutput + "}").asObject().get("items").asArray();
|
JsonArray objectArray = Json.parse("{\"items\": " + apiOutput + "}").asObject().get("items").asArray();
|
||||||
JsonValue object = objectArray.get(0);
|
JsonValue object = objectArray.get(0);
|
||||||
JsonArray objectAssets = object.asObject().get("assets").asArray();
|
JsonArray objectAssets = object.asObject().get("assets").asArray();
|
||||||
|
|
||||||
updateBuildNumber = object.asObject().getString("tag_name", "");
|
|
||||||
// updateName = object.asObject().getString("name", "");
|
|
||||||
// updateChanges = object.asObject().getString("body", "");
|
|
||||||
|
|
||||||
for (JsonValue asset : objectAssets) {
|
updateBuildNumber = object.asObject().getString("tag_name", "");
|
||||||
browserDownloadUrl = asset.asObject().getString("browser_download_url", "");
|
// updateName = object.asObject().getString("name", "");
|
||||||
}
|
// updateChanges = object.asObject().getString("body", "");
|
||||||
|
|
||||||
|
for (JsonValue asset : objectAssets) {
|
||||||
|
browserDownloadUrl = asset.asObject().getString("browser_download_url", "");
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
JsonObject object = Json.parse(apiOutput).asObject();
|
JsonObject object = Json.parse(apiOutput).asObject();
|
||||||
JsonArray objectAssets = Json.parse(apiOutput).asObject().get("assets").asArray();
|
JsonArray objectAssets = Json.parse(apiOutput).asObject().get("assets").asArray();
|
||||||
|
|
||||||
updateBuildNumber = object.getString("tag_name", "");
|
updateBuildNumber = object.getString("tag_name", "");
|
||||||
// updateName = object.getString("name", "");
|
// updateName = object.getString("name", "");
|
||||||
// updateChanges = object.getString("body", "");
|
// updateChanges = object.getString("body", "");
|
||||||
for (JsonValue asset : objectAssets) {
|
for (JsonValue asset : objectAssets) {
|
||||||
browserDownloadUrl = asset.asObject().getString("browser_download_url", "");
|
browserDownloadUrl = asset.asObject().getString("browser_download_url", "");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LOGGER.info("Build: "+buildNumber+", Update: "+updateBuildNumber);
|
LOGGER.info("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
|
||||||
int iversion = Integer.parseInt(buildNumber);
|
int iversion = Integer.parseInt(buildNumber);
|
||||||
int iaktVersion = Integer.parseInt(updateBuildNumber.replace(".", ""));
|
int iaktVersion = Integer.parseInt(updateBuildNumber.replace(".", ""));
|
||||||
|
|
||||||
if(iversion >= iaktVersion){
|
if (iversion >= iaktVersion) {
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
mainWindowController.getUpdateBtn().setText("no update available");
|
mainWindowController.getUpdateBtn().setText("no update available");
|
||||||
});
|
});
|
||||||
LOGGER.info("no update available");
|
LOGGER.info("no update available");
|
||||||
}else{
|
} else {
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
mainWindowController.getUpdateBtn().setText("update available");
|
mainWindowController.getUpdateBtn().setText("update available");
|
||||||
});
|
});
|
||||||
LOGGER.info("update available");
|
LOGGER.info("update available");
|
||||||
LOGGER.info("download link: " + browserDownloadUrl);
|
LOGGER.info("download link: " + browserDownloadUrl);
|
||||||
try {
|
try {
|
||||||
//open new Http connection, ProgressMonitorInputStream for downloading the data
|
// open new Http connection, ProgressMonitorInputStream for downloading the data
|
||||||
HttpURLConnection conn = (HttpURLConnection) new URL(browserDownloadUrl).openConnection();
|
HttpURLConnection conn = (HttpURLConnection) new URL(browserDownloadUrl).openConnection();
|
||||||
ProgressMonitorInputStream pmis = new ProgressMonitorInputStream(null, "Downloading...", conn.getInputStream());
|
ProgressMonitorInputStream pmis = new ProgressMonitorInputStream(null, "Downloading...", conn.getInputStream());
|
||||||
ProgressMonitor pm = pmis.getProgressMonitor();
|
ProgressMonitor pm = pmis.getProgressMonitor();
|
||||||
pm.setMillisToDecideToPopup(0);
|
pm.setMillisToDecideToPopup(0);
|
||||||
pm.setMillisToPopup(0);
|
pm.setMillisToPopup(0);
|
||||||
pm.setMinimum(0);// tell the progress bar that we start at the beginning of the stream
|
pm.setMinimum(0);// tell the progress bar that we start at the beginning of the stream
|
||||||
pm.setMaximum(conn.getContentLength());// tell the progress bar the total number of bytes we are going to read.
|
pm.setMaximum(conn.getContentLength());// tell the progress bar the total number of bytes we are going to read.
|
||||||
FileUtils.copyInputStreamToFile(pmis, new File("cemu_UI_update.jar")); //download update
|
FileUtils.copyInputStreamToFile(pmis, new File("cemu_UI_update.jar")); // download update
|
||||||
org.apache.commons.io.FileUtils.copyFile(new File("cemu_UI_update.jar"), new File("cemu_UI.jar")); //TODO rename update to old name
|
org.apache.commons.io.FileUtils.copyFile(new File("cemu_UI_update.jar"), new File("cemu_UI.jar")); // TODO rename update to old name
|
||||||
org.apache.commons.io.FileUtils.deleteQuietly(new File("cemu_UI_update.jar")); //delete update
|
org.apache.commons.io.FileUtils.deleteQuietly(new File("cemu_UI_update.jar")); // delete update
|
||||||
Runtime.getRuntime().exec("java -jar cemu_UI.jar"); //start again
|
Runtime.getRuntime().exec("java -jar cemu_UI.jar"); // start again
|
||||||
System.exit(0); //finishes itself
|
System.exit(0); // finishes itself
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
LOGGER.info("could not download update files", e);
|
LOGGER.info("could not download update files", e);
|
||||||
|
@ -155,4 +157,3 @@ public class UpdateController implements Runnable{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue