From 7db1a3fd1b806ae3ebd9e85e103d1f4c7ead717d Mon Sep 17 00:00:00 2001 From: vincent Bourgmayer Date: Wed, 2 Feb 2022 17:03:11 +0100 Subject: [PATCH 01/31] update FeedbackController: change parent class from AbstractSubController to StepController. Also set few field final in different methods and set the 'String deviceModel' to be a method field instead of a class field --- .../subcontrollers/FeedbackController.java | 45 +++++++++++-------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FeedbackController.java b/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FeedbackController.java index 1b71eaca..10db8a7a 100644 --- a/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FeedbackController.java +++ b/src/main/java/ecorp/easy/installer/controllers/subcontrollers/FeedbackController.java @@ -18,6 +18,7 @@ package ecorp.easy.installer.controllers.subcontrollers; import ecorp.easy.installer.AppConstants; import ecorp.easy.installer.controllers.MainWindowController; +import ecorp.easy.installer.controllers.stepControllers.StepController; import ecorp.easy.installer.models.Phone; import ecorp.easy.installer.tasks.UploadToEcloudTask; import ecorp.easy.installer.utils.UiUtils; @@ -25,7 +26,9 @@ import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; +import java.net.URL; import java.time.LocalDateTime; +import java.util.ResourceBundle; import java.util.UUID; import java.util.regex.Pattern; import javafx.fxml.FXML; @@ -42,7 +45,7 @@ import org.slf4j.LoggerFactory; * * @author Vincent Bourgmayer */ -public class FeedbackController extends AbstractSubController { +public class FeedbackController extends StepController { private final static Logger logger = LoggerFactory.getLogger(FeedbackController.class); private final static Pattern feelingsPattern = Pattern.compile("\nFeelings: .*"); @@ -55,19 +58,12 @@ public class FeedbackController extends AbstractSubController { private Button selectedFeelings; private final static String SELECTED_STYLE="selected-feelings"; - String deviceModel = "undefined"; @Override - public void setParentController(MainWindowController parentController) { - super.setParentController(parentController); //To change body of generated methods, choose Tools | Templates. + public void initialize(URL url, ResourceBundle rb) { + super.initialize(url, rb); //To change body of generated methods, choose Tools | Templates. parentController.setNextButtonText("feedback_btn_leave"); - Phone device = parentController.getPhone(); - if(device != null){ - logger.debug("setParentController(), ParentController.getDevice() != null"); - deviceModel = device.getAdbModel()+", "+device.getAdbDevice(); - }else{ - logger.warn("setParentController(), parentController.getDevice() == null"); - } + commentArea.setWrapText(true); prefillCommentArea(); } @@ -102,7 +98,7 @@ public class FeedbackController extends AbstractSubController { * @param event */ public void onSendBtnClicked(MouseEvent event){ - String filePath = createAnswerFile(); + final String filePath = createAnswerFile(); sendAnswerBtn.setDisable(true); UploadToEcloudTask uploadTask = new UploadToEcloudTask(AppConstants.FEEDBACK_STORAGE_URL, filePath); @@ -135,13 +131,24 @@ public class FeedbackController extends AbstractSubController { * Prefill CommentArea with data */ private void prefillCommentArea(){ - StringBuilder sb = new StringBuilder(); - String time = LocalDateTime.now().withNano(0).toString(); + final StringBuilder sb = new StringBuilder(); + final String time = LocalDateTime.now().withNano(0).toString(); + + final String deviceModel; + final Phone device = parentController.getPhone(); + + if(device != null){ //Need to check when this could be null, then if possible remove it. + logger.debug("setParentController(), ParentController.getDevice() != null"); + deviceModel = device.getAdbModel()+", "+device.getAdbDevice(); + }else{ + logger.warn("setParentController(), parentController.getDevice() == null"); + deviceModel = "undefined"; + } - sb.append("Timestamp: "+time.replace("T", " ")) - .append("\nDevice model: "+this.deviceModel) - .append("\nOS name: "+AppConstants.OsName) - .append("\nEasy-Installer version: "+AppConstants.APP_VERSION) + sb.append("Timestamp: ").append(time.replace("T", " ")) + .append("\nDevice model: ").append(deviceModel) + .append("\nOS name: ").append(AppConstants.OsName) + .append("\nEasy-Installer version: ").append(AppConstants.APP_VERSION) .append("\nFeelings: "); if(selectedFeelings != null){ sb.append(selectedFeelings.getId()); @@ -174,7 +181,7 @@ public class FeedbackController extends AbstractSubController { * @return */ private String createAnswerFile(){ - String answerFilePath = AppConstants.getWritableFolder()+"feedback-"+UUID.randomUUID()+".txt"; + final String answerFilePath = AppConstants.getWritableFolder()+"feedback-"+UUID.randomUUID()+".txt"; try(PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(answerFilePath, true)))) { out.write(fixedFeedbackContent.getText()+"\n"); -- GitLab From 57b90041453856d86363d5d45b07cf4863234186 Mon Sep 17 00:00:00 2001 From: vincent Bourgmayer Date: Wed, 2 Feb 2022 17:24:22 +0100 Subject: [PATCH 02/31] update ExecutableStepController.displayError(...): remove dead code, update documentation of methods --- .../stepControllers/ExecutableStepController.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/ecorp/easy/installer/controllers/stepControllers/ExecutableStepController.java b/src/main/java/ecorp/easy/installer/controllers/stepControllers/ExecutableStepController.java index c7d02028..7a257ec9 100644 --- a/src/main/java/ecorp/easy/installer/controllers/stepControllers/ExecutableStepController.java +++ b/src/main/java/ecorp/easy/installer/controllers/stepControllers/ExecutableStepController.java @@ -58,12 +58,13 @@ public class ExecutableStepController extends StepController{ } + /** + * Show error UI and hide everything that should be hidden + * like restart btn, etc. + * @param errorMsgKey + */ protected void displayError(String errorMsgKey){ - //Show error UI and hide everything that should be hidden - //like restart btn, etc. - if(i18n.containsKey(errorMsgKey)){ - //Set text to a label - } + //not implemented } } -- GitLab From 48de75726056a779f1f710c66c20935a5c2ff821 Mon Sep 17 00:00:00 2001 From: vincent Bourgmayer Date: Wed, 2 Feb 2022 17:29:58 +0100 Subject: [PATCH 03/31] change DeviceDetectedController.java's parent class from AbstractSubController to StepController --- .../controllers/subcontrollers/DeviceDetectedController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/ecorp/easy/installer/controllers/subcontrollers/DeviceDetectedController.java b/src/main/java/ecorp/easy/installer/controllers/subcontrollers/DeviceDetectedController.java index eb1e5522..055de997 100644 --- a/src/main/java/ecorp/easy/installer/controllers/subcontrollers/DeviceDetectedController.java +++ b/src/main/java/ecorp/easy/installer/controllers/subcontrollers/DeviceDetectedController.java @@ -18,6 +18,7 @@ package ecorp.easy.installer.controllers.subcontrollers; import ecorp.easy.installer.AppConstants; +import ecorp.easy.installer.controllers.stepControllers.StepController; import ecorp.easy.installer.helpers.DeviceHelper; import ecorp.easy.installer.exceptions.TooManyDevicesException; import ecorp.easy.installer.models.Phone; @@ -37,11 +38,12 @@ import javafx.scene.layout.VBox; import javafx.scene.text.TextAlignment; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + /** * * @author Vincent Bourgmayer */ -public class DeviceDetectedController extends AbstractSubController{ +public class DeviceDetectedController extends StepController{ private final static Logger logger = LoggerFactory.getLogger(DeviceDetectedController.class); @FXML private Button buyNewDevice; @FXML private Button startDetectionButton; -- GitLab From 192db9300782c9964ff32b8d31ada42e6d7de995 Mon Sep 17 00:00:00 2001 From: vincent Bourgmayer Date: Thu, 3 Feb 2022 13:29:06 +0100 Subject: [PATCH 04/31] rename DeviceDetectedController in DeviceDetectionController and move it into controllers.stepControllers package --- .../DeviceDetectionController.java} | 0 src/main/resources/fxml/4-deviceDetected.fxml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename src/main/java/ecorp/easy/installer/controllers/{subcontrollers/DeviceDetectedController.java => stepControllers/DeviceDetectionController.java} (100%) diff --git a/src/main/java/ecorp/easy/installer/controllers/subcontrollers/DeviceDetectedController.java b/src/main/java/ecorp/easy/installer/controllers/stepControllers/DeviceDetectionController.java similarity index 100% rename from src/main/java/ecorp/easy/installer/controllers/subcontrollers/DeviceDetectedController.java rename to src/main/java/ecorp/easy/installer/controllers/stepControllers/DeviceDetectionController.java diff --git a/src/main/resources/fxml/4-deviceDetected.fxml b/src/main/resources/fxml/4-deviceDetected.fxml index a0944c69..00388cde 100644 --- a/src/main/resources/fxml/4-deviceDetected.fxml +++ b/src/main/resources/fxml/4-deviceDetected.fxml @@ -30,7 +30,7 @@