From e9a49efe75918183a32164fea91ddddf65ce7964 Mon Sep 17 00:00:00 2001 From: mauronofrio Date: Wed, 3 Oct 2018 13:38:16 +0200 Subject: Adding Edl button in reboot menu Edl mode is available only on qualcomm devices and it used to fully restore the bricked devices. I made the button available only if TW_HAS_EDL_MODE := true like the download button. I set the edl button to the right of the download button, so devices can support edl button and download button. I also added the translation for all languages. Change-Id: I69d1058b8c050b722395c7b3da6dce1ccfbe7a91 --- Android.mk | 3 +++ data.cpp | 4 ++++ gui/theme/common/landscape.xml | 19 +++++++++++++++++++ gui/theme/common/languages/cz.xml | 1 + gui/theme/common/languages/de.xml | 1 + gui/theme/common/languages/el.xml | 1 + gui/theme/common/languages/en.xml | 1 + gui/theme/common/languages/es.xml | 1 + gui/theme/common/languages/fr.xml | 1 + gui/theme/common/languages/hu.xml | 1 + gui/theme/common/languages/it.xml | 1 + gui/theme/common/languages/nl.xml | 1 + gui/theme/common/languages/pl.xml | 1 + gui/theme/common/languages/pt_BR.xml | 1 + gui/theme/common/languages/pt_PT.xml | 1 + gui/theme/common/languages/ru.xml | 1 + gui/theme/common/languages/sk.xml | 1 + gui/theme/common/languages/sl.xml | 1 + gui/theme/common/languages/sv.xml | 1 + gui/theme/common/languages/tr.xml | 1 + gui/theme/common/languages/uk.xml | 1 + gui/theme/common/portrait.xml | 19 +++++++++++++++++++ gui/theme/common/watch.xml | 18 ++++++++++++++++++ gui/theme/extra-languages/languages/ja.xml | 1 + gui/theme/extra-languages/languages/zh_CN.xml | 1 + gui/theme/extra-languages/languages/zh_TW.xml | 1 + openrecoveryscript.cpp | 2 ++ twrp-functions.cpp | 7 +++++++ twrp-functions.hpp | 1 + twrp.cpp | 2 ++ variables.h | 1 + 31 files changed, 97 insertions(+) diff --git a/Android.mk b/Android.mk index df18d7a7a..12b07699e 100755 --- a/Android.mk +++ b/Android.mk @@ -281,6 +281,9 @@ endif ifeq ($(TW_HAS_DOWNLOAD_MODE), true) LOCAL_CFLAGS += -DTW_HAS_DOWNLOAD_MODE endif +ifeq ($(TW_HAS_EDL_MODE), true) + LOCAL_CFLAGS += -DTW_HAS_EDL_MODE +endif ifeq ($(TW_NO_SCREEN_BLANK), true) LOCAL_CFLAGS += -DTW_NO_SCREEN_BLANK endif diff --git a/data.cpp b/data.cpp index 0ece4e793..cf9dd2476 100755 --- a/data.cpp +++ b/data.cpp @@ -722,6 +722,10 @@ void DataManager::SetDefaultValues() printf("TW_HAS_DOWNLOAD_MODE := true\n"); mConst.SetValue(TW_DOWNLOAD_MODE, "1"); #endif +#ifdef TW_HAS_EDL_MODE + printf("TW_HAS_EDL_MODE := true\n"); + mConst.SetValue(TW_EDL_MODE, "1"); +#endif #ifdef TW_INCLUDE_CRYPTO mConst.SetValue(TW_HAS_CRYPTO, "1"); printf("TW_INCLUDE_CRYPTO := true\n"); diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml index d1bce168d..6df886256 100755 --- a/gui/theme/common/landscape.xml +++ b/gui/theme/common/landscape.xml @@ -2705,6 +2705,25 @@ + + main diff --git a/gui/theme/common/languages/cz.xml b/gui/theme/common/languages/cz.xml index 4ba5c2cf9..7f7fc3cb6 100644 --- a/gui/theme/common/languages/cz.xml +++ b/gui/theme/common/languages/cz.xml @@ -262,6 +262,7 @@ Recovery Bootloader Stáhnout + Edl Vypínání... Potáhnout pro vypnutí Vypnout diff --git a/gui/theme/common/languages/de.xml b/gui/theme/common/languages/de.xml index 6ff801457..56f7ebd92 100644 --- a/gui/theme/common/languages/de.xml +++ b/gui/theme/common/languages/de.xml @@ -283,6 +283,7 @@ Recovery Bootloader Download + Edl Ausschalten... Gerät ausschalten Ausschalten diff --git a/gui/theme/common/languages/el.xml b/gui/theme/common/languages/el.xml index ffb960f5f..8ac681d2d 100644 --- a/gui/theme/common/languages/el.xml +++ b/gui/theme/common/languages/el.xml @@ -273,6 +273,7 @@ Recovery Bootloader Λήψη + Edl Απενεργοποίηση... Σύρετε για Απενεργοποίηση Απενεργοποίηση diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml index f8de66221..e61f6c0a8 100755 --- a/gui/theme/common/languages/en.xml +++ b/gui/theme/common/languages/en.xml @@ -288,6 +288,7 @@ Recovery Bootloader Download + Edl Turning Off... Swipe to Power Off Power Off diff --git a/gui/theme/common/languages/es.xml b/gui/theme/common/languages/es.xml index 1f200618e..e096e660f 100644 --- a/gui/theme/common/languages/es.xml +++ b/gui/theme/common/languages/es.xml @@ -263,6 +263,7 @@ Recovery Bootloader Descarga + Edl Apagando... Deslice para Apagar Apagar diff --git a/gui/theme/common/languages/fr.xml b/gui/theme/common/languages/fr.xml index 61516a8db..6ae3298ef 100644 --- a/gui/theme/common/languages/fr.xml +++ b/gui/theme/common/languages/fr.xml @@ -260,6 +260,7 @@ Récupération Amorçage Télécharger + Edl Arrêt en cours... Glisser pour éteindre Éteindre diff --git a/gui/theme/common/languages/hu.xml b/gui/theme/common/languages/hu.xml index 6141cdeea..96557ac7c 100644 --- a/gui/theme/common/languages/hu.xml +++ b/gui/theme/common/languages/hu.xml @@ -283,6 +283,7 @@ Recovery Bootloader Download mód + Edl Kikapcsolás... Csúsztasson a kikapcsoláshoz Kikapcsolás diff --git a/gui/theme/common/languages/it.xml b/gui/theme/common/languages/it.xml index 6d56e80c7..ec74d59a5 100644 --- a/gui/theme/common/languages/it.xml +++ b/gui/theme/common/languages/it.xml @@ -283,6 +283,7 @@ Recovery Bootloader Download + Edl Spegnimento in corso... Scorri per spegnere Spegni diff --git a/gui/theme/common/languages/nl.xml b/gui/theme/common/languages/nl.xml index f5ec9bb5a..8dadd40ac 100644 --- a/gui/theme/common/languages/nl.xml +++ b/gui/theme/common/languages/nl.xml @@ -270,6 +270,7 @@ Recovery Bootloader Download + Edl Uitschakelen... Veeg om uit te schakelen Uitschakelen diff --git a/gui/theme/common/languages/pl.xml b/gui/theme/common/languages/pl.xml index a67de0694..e337455a7 100644 --- a/gui/theme/common/languages/pl.xml +++ b/gui/theme/common/languages/pl.xml @@ -270,6 +270,7 @@ Recovery Bootloader Download + Edl Wyłączanie... Przesuń, aby wyłączyć Wyłącz diff --git a/gui/theme/common/languages/pt_BR.xml b/gui/theme/common/languages/pt_BR.xml index 88deb0c23..f540e4c45 100644 --- a/gui/theme/common/languages/pt_BR.xml +++ b/gui/theme/common/languages/pt_BR.xml @@ -262,6 +262,7 @@ Recuperação Bootloader Baixar + Edl Desligar... Deslize para desligar Desligar diff --git a/gui/theme/common/languages/pt_PT.xml b/gui/theme/common/languages/pt_PT.xml index 6b5bc6c18..40ef41f8b 100644 --- a/gui/theme/common/languages/pt_PT.xml +++ b/gui/theme/common/languages/pt_PT.xml @@ -284,6 +284,7 @@ Recovery Bootloader Descarregar + Edl A desligar... Deslize para desligar Desligar diff --git a/gui/theme/common/languages/ru.xml b/gui/theme/common/languages/ru.xml index ba4d93012..95fd3718a 100644 --- a/gui/theme/common/languages/ru.xml +++ b/gui/theme/common/languages/ru.xml @@ -280,6 +280,7 @@ Рекавери Загрузчик Режим загрузки + Edl Выключение... Свайп для выключения Выключение diff --git a/gui/theme/common/languages/sk.xml b/gui/theme/common/languages/sk.xml index b8e2fc52c..f4e56ef99 100644 --- a/gui/theme/common/languages/sk.xml +++ b/gui/theme/common/languages/sk.xml @@ -262,6 +262,7 @@ Recovery Bootloader Stiahnuť + Edl Vypínanie... Potiahnite pre vypnutie Vypnúť diff --git a/gui/theme/common/languages/sl.xml b/gui/theme/common/languages/sl.xml index 5b0853e9e..4259e625d 100644 --- a/gui/theme/common/languages/sl.xml +++ b/gui/theme/common/languages/sl.xml @@ -262,6 +262,7 @@ Obnovitev Zagonski nalagalnik Prejmi + Edl Izklapljanje … Povlecite za izklop Izklopi diff --git a/gui/theme/common/languages/sv.xml b/gui/theme/common/languages/sv.xml index eadc18d8c..c89895778 100644 --- a/gui/theme/common/languages/sv.xml +++ b/gui/theme/common/languages/sv.xml @@ -101,6 +101,7 @@ System Bootloader Ladda ner + Edl Stänger av... Inställningar Allmänt diff --git a/gui/theme/common/languages/tr.xml b/gui/theme/common/languages/tr.xml index 4c10fdf47..8e924cb57 100644 --- a/gui/theme/common/languages/tr.xml +++ b/gui/theme/common/languages/tr.xml @@ -284,6 +284,7 @@ Recovery Bootloader Download + Edl Kapatılıyor... Kapatmak için Kaydır Kapat diff --git a/gui/theme/common/languages/uk.xml b/gui/theme/common/languages/uk.xml index a3ea7ddd8..9b267d26e 100644 --- a/gui/theme/common/languages/uk.xml +++ b/gui/theme/common/languages/uk.xml @@ -266,6 +266,7 @@ Рекавері Завантажувач Режим завантаження + Edl Вимкнення... Вимкнути Вимкнення diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml index 1cf4d8980..c2d32dd3e 100755 --- a/gui/theme/common/portrait.xml +++ b/gui/theme/common/portrait.xml @@ -2862,6 +2862,25 @@ + + diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml index 56bdc5534..0c30a3499 100755 --- a/gui/theme/common/watch.xml +++ b/gui/theme/common/watch.xml @@ -3359,6 +3359,24 @@ rebootcheck + diff --git a/gui/theme/extra-languages/languages/ja.xml b/gui/theme/extra-languages/languages/ja.xml index 37d3e7c7d..977b1708b 100644 --- a/gui/theme/extra-languages/languages/ja.xml +++ b/gui/theme/extra-languages/languages/ja.xml @@ -265,6 +265,7 @@ リカバリ ブートローダー ダウンロード + Edl 電源を切っています... スワイプで電源を切る 電源を切る diff --git a/gui/theme/extra-languages/languages/zh_CN.xml b/gui/theme/extra-languages/languages/zh_CN.xml index 5c214a569..944be48b2 100644 --- a/gui/theme/extra-languages/languages/zh_CN.xml +++ b/gui/theme/extra-languages/languages/zh_CN.xml @@ -283,6 +283,7 @@ Recovery Bootloader Download + Edl 正在关机… 滑动按钮确认关机 关机 diff --git a/gui/theme/extra-languages/languages/zh_TW.xml b/gui/theme/extra-languages/languages/zh_TW.xml index 75c717ac4..fc80862c6 100644 --- a/gui/theme/extra-languages/languages/zh_TW.xml +++ b/gui/theme/extra-languages/languages/zh_TW.xml @@ -283,6 +283,7 @@ Recovery Bootloader Download + Edl 正在關機… 滑動按鈕確認關機 關機 diff --git a/openrecoveryscript.cpp b/openrecoveryscript.cpp index d4d4da514..9478cd751 100755 --- a/openrecoveryscript.cpp +++ b/openrecoveryscript.cpp @@ -343,6 +343,8 @@ int OpenRecoveryScript::run_script_file(void) { TWFunc::tw_reboot(rb_bootloader); else if (strlen(value) && strcmp(value, "download") == 0) TWFunc::tw_reboot(rb_download); + else if (strlen(value) && strcmp(value, "edl") == 0) + TWFunc::tw_reboot(rb_edl); else TWFunc::tw_reboot(rb_system); } else if (strcmp(command, "cmd") == 0) { diff --git a/twrp-functions.cpp b/twrp-functions.cpp index 37dd0df48..ff34828e2 100755 --- a/twrp-functions.cpp +++ b/twrp-functions.cpp @@ -625,6 +625,13 @@ int TWFunc::tw_reboot(RebootCommand command) return property_set(ANDROID_RB_PROPERTY, "reboot,download"); #else return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART2, (void*) "download"); +#endif + case rb_edl: + check_and_run_script("/sbin/rebootedl.sh", "reboot edl"); +#ifdef ANDROID_RB_PROPERTY + return property_set(ANDROID_RB_PROPERTY, "reboot,edl"); +#else + return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART2, (void*) "edl"); #endif default: return -1; diff --git a/twrp-functions.hpp b/twrp-functions.hpp index 7847aed4a..efaa460d9 100755 --- a/twrp-functions.hpp +++ b/twrp-functions.hpp @@ -37,6 +37,7 @@ typedef enum rb_poweroff, rb_bootloader, // May also be fastboot rb_download, + rb_edl, } RebootCommand; enum Archive_Type { diff --git a/twrp.cpp b/twrp.cpp index 6b9cd7552..95e376b5a 100755 --- a/twrp.cpp +++ b/twrp.cpp @@ -345,6 +345,8 @@ int main(int argc, char **argv) { TWFunc::tw_reboot(rb_bootloader); else if (Reboot_Arg == "download") TWFunc::tw_reboot(rb_download); + else if (Reboot_Arg == "edl") + TWFunc::tw_reboot(rb_edl); else TWFunc::tw_reboot(rb_system); diff --git a/variables.h b/variables.h index 22eb5c94d..3b614326a 100644 --- a/variables.h +++ b/variables.h @@ -129,6 +129,7 @@ #define TW_MIN_SYSTEM_SIZE "50" // minimum system size to allow a reboot #define TW_MIN_SYSTEM_VAR "tw_min_system" #define TW_DOWNLOAD_MODE "tw_download_mode" +#define TW_EDL_MODE "tw_edl_mode" #define TW_IS_ENCRYPTED "tw_is_encrypted" #define TW_IS_DECRYPTED "tw_is_decrypted" #define TW_CRYPTO_PWTYPE "tw_crypto_pwtype" -- cgit v1.2.3