Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d36291b7 authored by Vincent Bourgmayer's avatar Vincent Bourgmayer
Browse files

Merge branch '403-issue-handle-os-specific-step' into '365-p2-issue-refactoring'

add loadPreparationProcess  in DeviceHelper.java & and replace...

See merge request e/tools/easy-installer!146
parents 9c43fa1c 8b373d3c
Loading
Loading
Loading
Loading
+38 −7
Original line number Diff line number Diff line
@@ -27,11 +27,13 @@ import ecorp.easy.installer.helpers.DeviceHelper;
import ecorp.easy.installer.models.Phone;
import ecorp.easy.installer.models.Progression;
import ecorp.easy.installer.models.steps.IStep;
import ecorp.easy.installer.models.steps.StepStatus;
import ecorp.easy.installer.tasks.CommandExecutionTask;
import ecorp.easy.installer.utils.UiUtils;
import java.io.IOException;
import java.net.URL;
import java.text.ParseException;
import java.util.List;
import java.util.ResourceBundle;
import javafx.animation.FadeTransition;
import javafx.fxml.Initializable;
@@ -114,7 +116,14 @@ public class MainWindowController implements Initializable {
     * Event happening when using click on "NextButton"
     */
    public void onNextBtnClick(){ 
        progression.updateProgressionBySuccess();
        
        final IStep step = progression.getCurrentStep();
        if(step.getStatus() != StepStatus.SKIPPED){
            step.setStatus(StepStatus.ACHIEVED);
        }

        
        progression.updateProgression();
        loadSubScenev2();
    }
    
@@ -168,6 +177,17 @@ public class MainWindowController implements Initializable {
    }
    
    
    /**
     * Evaluate if the given step can be skipped or not
     * @return true if condition are met to skip
     */
    private boolean areSkipConditionsMet(List<String> skipConditions){
        if( (skipConditions.contains("windows") && AppConstants.isWindowsOs()) ||
            (skipConditions.contains("linux") && AppConstants.isLinuxOs()) ){
            return true;
        }
        return false;
    }
    
    
    public void loadSubScenev2(){
@@ -178,9 +198,16 @@ public class MainWindowController implements Initializable {
        String title ="installationTitle";

        //@TODO change to include preparationprocess
        final IStep step = progression.getCurrentProcess().getSteps().get(progression.getCurrentStepKey());

        logger.debug("step : {} ", step.getType());
        final IStep step = progression.getCurrentStep();
        //if(step == null) return;
        if( areSkipConditionsMet(step.getSkipConditions()) ){
            logger.debug("Skip Step N°{}", step.getStepNumber());
            step.setStatus(StepStatus.SKIPPED);
            onNextBtnClick();
            return;
        }
        step.setStatus(StepStatus.ONGOING);
        logger.debug("step's type : {} ", step.getType());
        switch(step.getType()){
            case "askAccount":
                fxmlName = "6-2-eAccount.fxml";
@@ -218,6 +245,10 @@ public class MainWindowController implements Initializable {
                fxmlName = "5-downloadSrc.fxml";
                title = "download_mTitle";
                break;
            case "checkDriver":
                fxmlName="3-2-checkDriverInstallation.fxml";
                title= "checkDriverInstall_mTitle";
                break;
            default:
                //no interface there
                break;
@@ -249,7 +280,7 @@ public class MainWindowController implements Initializable {
            currentSubRootId =loadSubUI("1-beforeYouBegin.fxml", "before_mTitle", null).getId();
        }else{
            switch(currentSubRootId){
                case "beforeYouBeginRoot":
                /*case "beforeYouBeginRoot":
                    changeView("2-connectDevice.fxml", "connect_mTitle", null);
                    break;
                case "connectDeviceRoot":
@@ -262,7 +293,7 @@ public class MainWindowController implements Initializable {
                        changeView("4-deviceDetected.fxml", "detect_mTitle", null);
                        disableNextButton(true);
                    }
                    break;
                    break;*/
                case "checkDriverInstallation":
                    changeView("4-deviceDetected.fxml", "detect_mTitle", null);
                    disableNextButton(true);                    
@@ -287,7 +318,7 @@ public class MainWindowController implements Initializable {
                        }
                    }else{
                        //@TODO change to include preparationprocess
                        final IStep step = progression.getFlashingProcess().getSteps().get(progression.getCurrentStepKey());
                        final IStep step = progression.getCurrentStep();

                        switch(step.getType()){
                            case "askAccount":
+3 −7
Original line number Diff line number Diff line
@@ -23,10 +23,9 @@ import ecorp.easy.installer.models.Command;
import ecorp.easy.installer.models.steps.CustomExecutableStep;
import ecorp.easy.installer.tasks.CommandRunnerService;
import ecorp.easy.installer.utils.UiUtils;
import ecorp.easy.installer.graphics.FlashGlobalProgressManager;
import ecorp.easy.installer.graphics.GlobalProgressBar;
import ecorp.easy.installer.models.Progression;
import ecorp.easy.installer.models.CommandExecutionResult;
import ecorp.easy.installer.models.steps.IStep;
import java.net.URL;
import java.util.ArrayList;
import java.util.Locale;
@@ -68,7 +67,7 @@ public class CustomExecutableController extends StepController<CustomExecutableS
    
    // progress bar's node of global Flash's process :
    @FXML HBox globalProgressIndicator;
    private FlashGlobalProgressManager globalProgressMgr;
    private GlobalProgressBar globalProgressMgr;
    
    @Override
    public void initialize(URL url, ResourceBundle rb) {
@@ -90,10 +89,7 @@ public class CustomExecutableController extends StepController<CustomExecutableS
        displayInstructionImage(instructions.get(currentEmphasizedInstruction));
        instructionsCount = instructions.size();
        
        globalProgressMgr = new FlashGlobalProgressManager(parentController.getProgression().getFlashingProcess().getStepsCount());
        for(int i = 0;i < step.getStepNumber(); i++){
            globalProgressMgr.updateProgression();
        }
        globalProgressMgr = new GlobalProgressBar(parentController.getProgression());
        globalProgressIndicator.getChildren().addAll(globalProgressMgr.getSegments());
        
        
+3 −6
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
package ecorp.easy.installer.controllers.stepControllers;


import ecorp.easy.installer.graphics.FlashGlobalProgressManager;
import ecorp.easy.installer.graphics.GlobalProgressBar;
import ecorp.easy.installer.graphics.Instruction;
import ecorp.easy.installer.models.steps.ICustomStep;
import ecorp.easy.installer.utils.UiUtils;
@@ -55,7 +55,7 @@ public class CustomStepController extends StepController<ICustomStep>{
    @FXML private ImageView imgView;
    // progress bar's node of global Flash's process :
    @FXML HBox globalProgressIndicator;
    private FlashGlobalProgressManager globalProgressMgr;
    private GlobalProgressBar globalProgressMgr;


    @Override
@@ -79,10 +79,7 @@ public class CustomStepController extends StepController<ICustomStep>{
        instructionsCount = instructions.size();

        
        globalProgressMgr = new FlashGlobalProgressManager(parentController.getProgression().getCurrentProcess().getStepsCount());
        for(int i = 0;i < step.getStepNumber(); i++){
            globalProgressMgr.updateProgression();
        }
        globalProgressMgr = new GlobalProgressBar(parentController.getProgression());
        globalProgressIndicator.getChildren().addAll(globalProgressMgr.getSegments());
    }
    
+0 −1
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package ecorp.easy.installer.controllers.stepControllers;


import ecorp.easy.installer.AppConstants;
import ecorp.easy.installer.controllers.stepControllers.StepController;
import ecorp.easy.installer.models.RomSource;
import ecorp.easy.installer.models.steps.DownloadStep;
import ecorp.easy.installer.tasks.CommandExecutionTask;
+0 −1
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import javafx.scene.control.TextField;
import javafx.scene.input.MouseButton;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;

/**
 *
Loading