From 2af35361011dab4cc87aa4106d546eee337cb5a7 Mon Sep 17 00:00:00 2001 From: vincent Bourgmayer Date: Fri, 16 Oct 2020 11:50:29 +0200 Subject: [PATCH 1/2] fix issue 216 --- .../controllers/MainWindowController.java | 22 ++++++++++++++++--- .../subcontrollers/FlashSceneController.java | 5 ++++- .../easy/installer/threads/FlashThread.java | 2 +- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main/java/ecorp/easy/installer/controllers/MainWindowController.java b/src/main/java/ecorp/easy/installer/controllers/MainWindowController.java index 7daee3da..e068bd84 100644 --- a/src/main/java/ecorp/easy/installer/controllers/MainWindowController.java +++ b/src/main/java/ecorp/easy/installer/controllers/MainWindowController.java @@ -57,7 +57,9 @@ public class MainWindowController implements Initializable { String currentSubRootId =null; ThreadFactory factory = new ThreadFactory("/yaml/"); Device device; //Object encapsulating data about the device to flash - + private boolean isFlashed = false; // True when /e/ OS installed on device + + /** * Initializes the controller class. * @param url @@ -142,6 +144,14 @@ public class MainWindowController implements Initializable { this.titleLabel.setText(i18n.getString(titleKey)); } + /** + * Tell MainController that device is flashed or not + * @param isFlashed + */ + public void setIsFlashed(boolean isFlashed) { + this.isFlashed = isFlashed; + } + /** * Load different group of controls depending of the current step (of whole process) */ @@ -186,8 +196,14 @@ public class MainWindowController implements Initializable { break; case "flashResultRoot": removeNodeFromRoot(currentSubRootId); - currentSubRootId=loadSubUI("8-congrats.fxml"); - this.titleLabel.setText(i18n.getString("congrats_mTitle")); + if( isFlashed ){ + currentSubRootId=loadSubUI("8-congrats.fxml"); + this.titleLabel.setText(i18n.getString("congrats_mTitle")); + } + else{ + currentSubRootId=loadSubUI("9-feedback.fxml"); + this.titleLabel.setText(i18n.getString("feedback_mTitle")); + } break; case "congratsRoot": removeNodeFromRoot(currentSubRootId); diff --git a/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FlashSceneController.java b/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FlashSceneController.java index 6f4a27ad..5bc16ab2 100644 --- a/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FlashSceneController.java +++ b/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FlashSceneController.java @@ -339,7 +339,10 @@ public class FlashSceneController extends AbstractSubSteppedController implement stopped = true; parentController.resetNextButtonEventHandler(); parentController.setNextButtonVisible(true); - if(db.getBoolean("onFlashStop")){ + final boolean isFlashed = db.getBoolean("isFlashed"); + parentController.setIsFlashed(isFlashed); + //if success, move automaticcaly to the next step + if(isFlashed){ parentController.loadSubScene(); } } diff --git a/src/main/java/ecorp/easy/installer/threads/FlashThread.java b/src/main/java/ecorp/easy/installer/threads/FlashThread.java index 8685a9b9..e6677dbc 100644 --- a/src/main/java/ecorp/easy/installer/threads/FlashThread.java +++ b/src/main/java/ecorp/easy/installer/threads/FlashThread.java @@ -269,7 +269,7 @@ public class FlashThread extends Thread { protected void onRunEnd() { final boolean issueEncountered = atLeastOneError; final DataBundle bundle = new DataBundle(); - bundle.putBoolean("onFlashStop", (success && !cancelled && !issueEncountered)); + bundle.putBoolean("isFlashed", (success && !cancelled && !issueEncountered)); Platform.runLater(() ->{ //Do not use raw success. Because if error declared after a step has succeed then it will be considered as a succes application.onFlashStop( bundle); -- GitLab From 93d233279de6c2f70e25a2111cfb1c3d9ffdd318 Mon Sep 17 00:00:00 2001 From: vincent Bourgmayer Date: Fri, 16 Oct 2020 11:50:29 +0200 Subject: [PATCH 2/2] fix issue 216 --- .../controllers/MainWindowController.java | 22 ++++++++++++++++--- .../subcontrollers/FlashSceneController.java | 5 ++++- .../easy/installer/threads/FlashThread.java | 2 +- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main/java/ecorp/easy/installer/controllers/MainWindowController.java b/src/main/java/ecorp/easy/installer/controllers/MainWindowController.java index 7daee3da..e068bd84 100644 --- a/src/main/java/ecorp/easy/installer/controllers/MainWindowController.java +++ b/src/main/java/ecorp/easy/installer/controllers/MainWindowController.java @@ -57,7 +57,9 @@ public class MainWindowController implements Initializable { String currentSubRootId =null; ThreadFactory factory = new ThreadFactory("/yaml/"); Device device; //Object encapsulating data about the device to flash - + private boolean isFlashed = false; // True when /e/ OS installed on device + + /** * Initializes the controller class. * @param url @@ -142,6 +144,14 @@ public class MainWindowController implements Initializable { this.titleLabel.setText(i18n.getString(titleKey)); } + /** + * Tell MainController that device is flashed or not + * @param isFlashed + */ + public void setIsFlashed(boolean isFlashed) { + this.isFlashed = isFlashed; + } + /** * Load different group of controls depending of the current step (of whole process) */ @@ -186,8 +196,14 @@ public class MainWindowController implements Initializable { break; case "flashResultRoot": removeNodeFromRoot(currentSubRootId); - currentSubRootId=loadSubUI("8-congrats.fxml"); - this.titleLabel.setText(i18n.getString("congrats_mTitle")); + if( isFlashed ){ + currentSubRootId=loadSubUI("8-congrats.fxml"); + this.titleLabel.setText(i18n.getString("congrats_mTitle")); + } + else{ + currentSubRootId=loadSubUI("9-feedback.fxml"); + this.titleLabel.setText(i18n.getString("feedback_mTitle")); + } break; case "congratsRoot": removeNodeFromRoot(currentSubRootId); diff --git a/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FlashSceneController.java b/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FlashSceneController.java index 6f4a27ad..5bc16ab2 100644 --- a/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FlashSceneController.java +++ b/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FlashSceneController.java @@ -339,7 +339,10 @@ public class FlashSceneController extends AbstractSubSteppedController implement stopped = true; parentController.resetNextButtonEventHandler(); parentController.setNextButtonVisible(true); - if(db.getBoolean("onFlashStop")){ + final boolean isFlashed = db.getBoolean("isFlashed"); + parentController.setIsFlashed(isFlashed); + //if success, move automaticcaly to the next step + if(isFlashed){ parentController.loadSubScene(); } } diff --git a/src/main/java/ecorp/easy/installer/threads/FlashThread.java b/src/main/java/ecorp/easy/installer/threads/FlashThread.java index 8685a9b9..e6677dbc 100644 --- a/src/main/java/ecorp/easy/installer/threads/FlashThread.java +++ b/src/main/java/ecorp/easy/installer/threads/FlashThread.java @@ -269,7 +269,7 @@ public class FlashThread extends Thread { protected void onRunEnd() { final boolean issueEncountered = atLeastOneError; final DataBundle bundle = new DataBundle(); - bundle.putBoolean("onFlashStop", (success && !cancelled && !issueEncountered)); + bundle.putBoolean("isFlashed", (success && !cancelled && !issueEncountered)); Platform.runLater(() ->{ //Do not use raw success. Because if error declared after a step has succeed then it will be considered as a succes application.onFlashStop( bundle); -- GitLab