diff --git a/src/main/java/ecorp/easy/installer/helpers/DeviceHelper.java b/src/main/java/ecorp/easy/installer/helpers/DeviceHelper.java
index 68f4f1ab24eb30c5f96773e7fd5c5b9705c22055..b7d499b3cec136fa5d2e2308da04e1547b04852c 100644
--- a/src/main/java/ecorp/easy/installer/helpers/DeviceHelper.java
+++ b/src/main/java/ecorp/easy/installer/helpers/DeviceHelper.java
@@ -62,6 +62,7 @@ public class DeviceHelper {
put("coral", "0017");
put("keyword", "0018"); //OnePlus7 Pro
put("OnePlus8Pro", "0021");
+ put("OnePlusNord", "0022"); //avicii
}};
/**
diff --git a/src/main/resources/instructions/imageName_en_EN_0022.properties b/src/main/resources/instructions/imageName_en_EN_0022.properties
new file mode 100644
index 0000000000000000000000000000000000000000..124e46b1f5fd78d58a93a7d3a22950c223b621a0
--- /dev/null
+++ b/src/main/resources/instructions/imageName_en_EN_0022.properties
@@ -0,0 +1,60 @@
+# Copyright 2019-2022 - ECORP SAS
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+
+install_instr_openSettings=oneplus-settings.png
+install_instr_searchOEM=oneplus_searchOEM.png
+install_instr_acceptOEMUnlockWarning=oneplus_allowOEMUnlocking.png
+install_instr_enableOEMUnlocking=oneplus_enableOEMUnlocking.png
+
+## Step f2
+#install_instr_unlockingOem
+#install_instr_selectUnlockBootloader
+#install_instr_unlockBootloader
+
+## Step f3
+#devMode_main
+#devMode_instr_settings
+#devMode_instr_build
+devMode_instr_tap7=enableADB3.png
+#debugADB_instr_settings
+#debugADB_instr_search
+#debugADB_instr_androidDebug
+#debugADB_instr_debugOn
+#debugADB_instr_tapeOK
+#debugADB_instr_acceptCertificate
+#eAccount_lbl_alreadyAccount
+
+## Step f6
+#install_instr_choose_e_recovery_select
+#install_instr_choose_e_recovery_select_details
+#install_instr_choose_e_recovery_validate
+#install_instr_choose_e_recovery_validate_wait_for_result
+install_instr_e_recovery_apply_update=install_instr_e_recovery_apply_update.png
+install_instr_e_recovery_apply_update_from_adb=install_instr_e_recovery_apply_update_from_adb.png
+#install_instr_e_recovery_apply_update_from_adb_wait_for_result
+
+## Step f7
+#install_instr_e_recovery_apply_update_from_adb_accept_sign_fail
+
+## Step f8
+install_instr_e_recovery_back=install_instr_e_recovery_back.png
+install_instr_e_recovery_factory_reset=install_instr_e_recovery_factory_reset.png
+install_instr_e_recovery_factory_reset_format_data=install_instr_e_recovery_factory_reset_format_data.png
+install_instr_e_recovery_factory_reset_format_data_validate=install_instr_e_recovery_factory_reset_format_data_validate.png
+install_instr_e_recovery_back=install_instr_e_recovery_back.png
+install_instr_e_recovery_apply_update=install_instr_e_recovery_apply_update.png
+install_instr_e_recovery_apply_update_from_adb=install_instr_e_recovery_apply_update_from_adb.png
+#install_instr_e_recovery_apply_update_from_adb_wait_for_result
\ No newline at end of file
diff --git a/src/main/resources/lang/translation_fr_FR.properties b/src/main/resources/lang/translation_fr_FR.properties
index f760a53a00b1d6705d2d5a30e5faefa2e049223d..a5fed257b1f4ed70ca6f6c0d5733bf5492981a50 100644
--- a/src/main/resources/lang/translation_fr_FR.properties
+++ b/src/main/resources/lang/translation_fr_FR.properties
@@ -314,7 +314,7 @@ install_instr_waitFastbootmodeDetected=La prochaine étape va démarrer automati
install_instr_choose_e_recovery_select= Sur le téléphone sélectionner l'option "Recovery Mode".
install_instr_choose_e_recovery_select_details= La selection se fait en utilisant les touches de volume du téléphone.
install_instr_choose_e_recovery_validate= Validez en appuyant sur la touche Power.
-install_instr_choose_e_recovery_validate_wait_for_result= Le téléphone va rebooter en mode recovery au boot d'un certain temps.
+install_instr_choose_e_recovery_validate_wait_for_result= Le téléphone va rebooter en mode recovery au bout d'un certain temps.
install_instr_e_recovery_apply_update= Selectionnez "Apply update"
install_instr_e_recovery_apply_update_from_adb= Selectionnez "Apply update from ADB"
install_instr_e_recovery_apply_update_from_adb_wait_for_result= Soyez patient, l'installation est en cours de progression.
diff --git a/src/main/resources/yaml/OnePlusNord_flash.yml b/src/main/resources/yaml/OnePlusNord_flash.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2c27d0e822ece8751350b821372dafaca6508ff4
--- /dev/null
+++ b/src/main/resources/yaml/OnePlusNord_flash.yml
@@ -0,0 +1,218 @@
+## Copyright 2022 - ECORP SAS
+
+## This program is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program. If not, see .
+## Author: Frank Preel
+---
+stepsCount: 12
+steps:
+ f0:
+ type: custom
+ stepNumber: 1
+ nextStepKey: f1
+ titleKey: stepTitle_enableOemUnlock
+ titleIconName: icon-download.png
+ instructions:
+ - install_instr_openSettings
+ - install_instr_searchOEM
+ - install_instr_enableOEMUnlocking
+ - install_instr_acceptOEMUnlockWarning
+ - install_instr_onceDoneThenContinue
+ f1:
+ type: load
+ stepNumber: 2
+ nextStepKey: f2
+ titleKey: stepTitle_rebootBootloader
+ instructions:
+ - install_instr_rebootingOnBootloader
+ averageTime: 10
+ script: reboot-fastboot
+ parameters:
+ device_id: ${DEVICE_ID}
+ fastboot_folder_path: ${ADB_FOLDER_PATH}
+ okCodes:
+ 0: ~
+ koCodes:
+ 1: script_error_unknown
+ 10: script_error_cantRebootBootloader
+ 101: script_error_serialNumber_missing
+ 102: script_error_fastboot_path_missing
+ f2:
+ type: custom-executable
+ stepNumber: 3
+ nextStepKey: f3
+ titleKey: stepTitle_oemUnlock
+ titleIconName: icon-download.png
+ instructions:
+ - install_instr_unlockingOem
+ - install_instr_selectUnlockBootloader
+ - install_instr_unlockBootloader
+ - install_instr_unlockBootloader_already
+ script: oneplus-flashingUnlock
+ parameters:
+ device_id: ${DEVICE_ID}
+ fastboot_folder_path: ${ADB_FOLDER_PATH}
+ okCodes:
+ 0: ~
+ koCodes:
+ 1: script_error_unknown
+ 2: script_error_fastboot_flashingUnlock_failed
+ 101: script_error_serialNumber_missing
+ 102: script_error_fastboot_path_missing
+ f3:
+ type: custom
+ stepNumber: 4
+ nextStepKey: f4
+ titleKey: devMode_mTitle_main
+ titleIconName: icon-download.png
+ instructions:
+ - devMode_main
+ - devMode_instr_settings
+ - devMode_instr_build
+ - devMode_instr_tap7
+ - debugADB_instr_settings
+ - debugADB_instr_search
+ - debugADB_instr_androidDebug
+ - debugADB_instr_debugOn
+ - debugADB_instr_tapeOK
+ - debugADB_instr_acceptCertificate
+ - eAccount_lbl_alreadyAccount
+ f4:
+ type: load
+ stepNumber: 5
+ nextStepKey: f5
+ titleKey: stepTitle_rebootBootloader
+ instructions:
+ - install_instr_rebootingOnBootloader
+ averageTime: 8
+ script: reboot-fastboot
+ parameters:
+ device_id: ${DEVICE_ID}
+ fastboot_folder_path: ${ADB_FOLDER_PATH}
+ okCodes:
+ 0: ~
+ koCodes:
+ 1: script_error_unknown
+ 10: script_error_cantRebootBootloader
+ 101: script_error_serialNumber_missing
+ 102: script_error_fastboot_path_missing
+ f5:
+ type: load
+ stepNumber: 6
+ nextStepKey: f6
+ titleKey: stepTitle4On7
+ instructions:
+ - install_instr_recoveryInstall
+ averageTime: 3
+ script: install-e-recovery
+ parameters:
+ fastboot_folder_path: ${ADB_FOLDER_PATH}
+ twrp_image_path: ${TWRP_IMAGE_PATH}
+ okCodes:
+ 0: ~
+ koCodes:
+ 1: script_error_unknown
+ 101: script_error_installRecovery_101
+ f6:
+ type: custom-executable
+ stepNumber: 7
+ nextStepKey: f7
+ titleKey: stepTitle5On7
+ instructions:
+ - install_instr_choose_e_recovery_select
+ - install_instr_choose_e_recovery_select_details
+ - install_instr_choose_e_recovery_validate
+ - install_instr_choose_e_recovery_validate_wait_for_result
+ - install_instr_e_recovery_apply_update
+ - install_instr_e_recovery_apply_update_from_adb
+ - install_instr_e_recovery_apply_update_from_adb_wait_for_result
+ titleKeyIconName: icon-download.png
+ script: wait-e-recovery-sideload
+ parameters:
+ device_id: ${DEVICE_ID}
+ adb_folder_path: ${ADB_FOLDER_PATH}
+ okCodes:
+ 0: ~
+ koCodes:
+ 101: script_error_waitSideload_101
+ f7:
+ type: load
+ stepNumber: 8
+ nextStepKey: f8
+ titleKey: install_instr_e_recovery_apply_update_from_adb_accept_sign_fail
+ instructions:
+ - install_instr_e_recovery_oneplus_select_recovery
+ averageTime: 150
+ script: install-from-e-recovery
+ parameters:
+ device_id: ${DEVICE_ID}
+ archive_path: ${PATCH_PATH}
+ adb_folder_path: ${ADB_FOLDER_PATH}
+ okCodes:
+ 0: ~
+ koCodes:
+ 1: script_error_installFromSideload
+ f8:
+ type: custom-executable
+ stepNumber: 9
+ nextStepKey: f9
+ titleKey: stepTitle_installation
+ instructions:
+ - install_instr_e_recovery_back
+ - install_instr_e_recovery_factory_reset
+ - install_instr_e_recovery_factory_reset_format_data
+ - install_instr_e_recovery_factory_reset_format_data_validate
+ - install_instr_e_recovery_back
+ - install_instr_e_recovery_apply_update
+ - install_instr_e_recovery_apply_update_from_adb
+ - install_instr_e_recovery_apply_update_from_adb_wait_for_result
+ titleKeyIconName: icon-download.png
+ script: wait-e-recovery-sideload
+ parameters:
+ device_id: ${DEVICE_ID}
+ adb_folder_path: ${ADB_FOLDER_PATH}
+ okCodes:
+ 0: ~
+ koCodes:
+ 101: script_error_waitSideload_101
+ f9:
+ type: load
+ stepNumber: 10
+ nextStepKey: f10
+ titleKey: install_instr_eosInstall
+ instructions:
+ - install_instr_e_recovery_oneplus_select_recovery
+ averageTime: 300
+ script: install-from-e-recovery
+ parameters:
+ device_id: ${DEVICE_ID}
+ archive_path: ${ARCHIVE_PATH}
+ adb_folder_path: ${ADB_FOLDER_PATH}
+ okCodes:
+ 0: ~
+ koCodes:
+ 1: script_error_installFromSideload
+ f10:
+ type: askAccount
+ stepNumber: 11
+ nextStepKey: f11
+ f11:
+ type: custom
+ stepNumber: 12
+ nextStepKey: end
+ titleKey: stepTitle_rebootDevice
+ instructions:
+ - install_instr_e_recovery_back
+ - install_instr_e_recovery_reboot
+ - eAccount_lbl_alreadyAccount
+ titleKeyIconName: icon-download.png
diff --git a/src/main/resources/yaml/OnePlusNord_fs.yml b/src/main/resources/yaml/OnePlusNord_fs.yml
new file mode 100644
index 0000000000000000000000000000000000000000..db1c9a084fc08eaa30b3239b49bfe8c8d07da383
--- /dev/null
+++ b/src/main/resources/yaml/OnePlusNord_fs.yml
@@ -0,0 +1,26 @@
+## Copyright 2022 - ECORP SAS
+
+## This program is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program. If not, see .
+## Author: Frank Preel
+---
+sources:
+ rom:
+ url: https://images.ecloud.global/stable/avicii/e-latest-r-avicii.zip
+ filePath: e-latest-r-avicii.zip
+ twrp:
+ url: https://images.ecloud.global/stable/avicii/recovery-e-latest-r-avicii.img
+ filePath: recovery-e-latest-r-avicii.img
+ patch:
+ url: https://images.ecloud.global/stable/copy-partitions-20210323_1922.zip
+ filePath: copy-partitions-20210323_1922.zip