TWRP Install Reboot Option
This is a simple patch to allow users to reboot
after installation of zip queue. Current timeout
is 5 seconds before reboot.
Change-Id: I1a18cbf7025086e35031ab7241b330babebb8343
diff --git a/gui/action.cpp b/gui/action.cpp
index e081118..aac2c31 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -1026,7 +1026,14 @@
reinject_after_flash();
PartitionManager.Update_System_Details();
+ if (DataManager::GetIntValue("tw_install_reboot") > 0 && ret_val == 0) {
+ gui_msg("install_reboot=Rebooting in 5 seconds");
+ usleep(5000000);
+ TWFunc::tw_reboot(rb_system);
+ usleep(5000000); // another sleep while we wait for the reboot to occur
+ }
operation_end(ret_val);
+ // This needs to be after the operation_end call so we change pages before we change variables that we display on the screen
DataManager::SetValue(TW_ZIP_QUEUE_COUNT, zip_queue_index);
return 0;
}
diff --git a/gui/devices/common/res/languages/en.xml b/gui/devices/common/res/languages/en.xml
index f7a7b77..8ce4762 100644
--- a/gui/devices/common/res/languages/en.xml
+++ b/gui/devices/common/res/languages/en.xml
@@ -226,5 +226,6 @@
<string name="cancel_sideload">Cancelling ADB sideload...</string>
<string name="change_fs_err">Error changing file system.</string>
<string name="theme_ver_err">Custom theme version does not match TWRP version. Using stock theme.</string>
+ <string name="install_reboot">Rebooting in 5 seconds</string>
</resources>
</language>
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
index ba96e41..525a2c1 100644
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -440,6 +440,12 @@
<data variable="tw_inject_after_zip"/>
</checkbox>
+ <checkbox>
+ <placement x="%col1_x_right%" y="%row12_y%" />
+ <text>{@install_reboot_chk=Reboot after installation is complete}</text>
+ <data variable="tw_install_reboot" />
+ </checkbox>
+
<button style="main_button_half_width">
<placement x="%col1_x_left%" y="%row15a_y%"/>
<text>{@zip_add_btn=Add more Zips}</text>
diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
index 4b7743a..4c26d30 100644
--- a/gui/theme/common/languages/en.xml
+++ b/gui/theme/common/languages/en.xml
@@ -82,6 +82,7 @@
<string name="file">File:</string>
<string name="zip_sig_chk">Zip signature verification</string>
<string name="inject_twrp_chk">Inject TWRP after install</string>
+ <string name="install_reboot_chk">Reboot after installation is complete</string>
<string name="options_hdr">Options</string>
<string name="confirm_flash_hdr">Confirm Flash</string>
<string name="zip_queue">Queue:</string>
@@ -666,5 +667,6 @@
<string name="change_fs_err">Error changing file system.</string>
<string name="theme_ver_err">Custom theme version does not match TWRP version. Using stock theme.</string>
<string name="up_a_level">(Up A Level)</string>
+ <string name="install_reboot">Rebooting in 5 seconds</string>
</resources>
</language>
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
index 0ac2dfb..03e3982 100644
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -386,8 +386,14 @@
</checkbox>
<checkbox>
+ <placement x="%indent%" y="%row13a_y%" />
+ <text>{@install_reboot_chk=Reboot after installation is complete}</text>
+ <data variable="tw_install_reboot" />
+ </checkbox>
+
+ <checkbox>
<condition var1="tw_has_injecttwrp" var2="1"/>
- <placement x="%indent%" y="%row13_y%"/>
+ <placement x="%indent%" y="%row15_y%"/>
<text>{@inject_twrp_chk=Inject TWRP after install}</text>
<data variable="tw_inject_after_zip"/>
</checkbox>
diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml
index e840687..4516ce2 100644
--- a/gui/theme/common/watch.xml
+++ b/gui/theme/common/watch.xml
@@ -525,6 +525,12 @@
<data variable="tw_inject_after_zip"/>
</checkbox>
+ <checkbox>
+ <placement x="%indent%" y="%row4_y%" />
+ <text>{@install_reboot_chk=Reboot after installation is complete}</text>
+ <data variable="tw_install_reboot" />
+ </checkbox>
+
<button>
<placement x="%col1_x_left%" y="%row11_y%"/>
<highlight color="%highlight_color%"/>