Add TWRP app install via TWRP recovery
Note: I will have to add a build flag for excluding the app later for
watches and maybe Android TV. I will also have to add support in the
tablet and watch layouts later. I will merge this for the initial roll out
to select devices and finish up later.
Change-Id: Ia4ce5522fae542afa1539b10c0691315392a19ab
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
index f0ba791..b36b5a6 100644
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -678,7 +678,7 @@
<page name="reboot_system_routine">
<action>
<action function="set">tw_action=reboot</action>
- <action function="set">tw_action_param=system</action>
+ <action function="set">tw_reboot_param=system</action>
<action function="set">tw_has_action2=0</action>
<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
@@ -924,7 +924,7 @@
<page name="rebootcheck">
<action>
<condition var1="tw_backup_system_size" op=">=" var2="%tw_min_system%"/>
- <action function="reboot">%tw_action_param%</action>
+ <action function="page">appcheck</action>
</action>
<action>
@@ -933,6 +933,28 @@
</action>
</page>
+ <page name="appcheck">
+ <action>
+ <condition var1="tw_app_prompt" var2="1"/>
+ <action function="checkforapp"></action>
+ </action>
+
+ <action>
+ <condition var1="tw_app_prompt" op="!=" var2="1"/>
+ <action function="reboot">%tw_reboot_param%</action>
+ </action>
+
+ <action>
+ <condition var1="tw_app_install_status" var2="1"/>
+ <action function="page">rebootapp</action>
+ </action>
+
+ <action>
+ <condition var1="tw_app_install_status" var2="2"/>
+ <action function="reboot">%tw_reboot_param%</action>
+ </action>
+ </page>
+
<page name="wipe">
<template name="page"/>
@@ -2752,7 +2774,7 @@
<actions>
<action function="set">tw_back=reboot</action>
<action function="set">tw_action=reboot</action>
- <action function="set">tw_action_param=poweroff</action>
+ <action function="set">tw_reboot_param=poweroff</action>
<action function="set">tw_has_action2=0</action>
<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
<action function="set">tw_text2={@no_ospo=sure you wish to power off?}</action>
@@ -2770,7 +2792,7 @@
<actions>
<action function="set">tw_back=reboot</action>
<action function="set">tw_action=reboot</action>
- <action function="set">tw_action_param=recovery</action>
+ <action function="set">tw_reboot_param=recovery</action>
<action function="set">tw_has_action2=0</action>
<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
@@ -2788,7 +2810,7 @@
<actions>
<action function="set">tw_back=reboot</action>
<action function="set">tw_action=reboot</action>
- <action function="set">tw_action_param=bootloader</action>
+ <action function="set">tw_reboot_param=bootloader</action>
<action function="set">tw_has_action2=0</action>
<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
@@ -2806,7 +2828,7 @@
<actions>
<action function="set">tw_back=reboot</action>
<action function="set">tw_action=reboot</action>
- <action function="set">tw_action_param=download</action>
+ <action function="set">tw_reboot_param=download</action>
<action function="set">tw_has_action2=0</action>
<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
@@ -2866,6 +2888,80 @@
</action>
</page>
+ <page name="rebootapp">
+ <template name="page"/>
+
+ <text style="text_l">
+ <placement x="%col1_x_header%" y="%row3_header_y%"/>
+ <text>{@reboot_hdr=Reboot}</text>
+ </text>
+
+ <text style="text_m">
+ <placement x="%col1_x_header%" y="%row4_header_y%"/>
+ <text>{@reboot_install_app_hdr=Install TWRP App?}</text>
+ </text>
+
+ <text style="text_m_accent">
+ <placement x="%center_x%" y="%row2_y%" placement="5"/>
+ <text>{@reboot_install_app1=Would you like to install the Official TWRP App?}</text>
+ </text>
+
+ <text style="text_m_accent">
+ <placement x="%center_x%" y="%row3_y%" placement="5"/>
+ <text>{@reboot_install_app2=The app can check for new TWRP versions.}</text>
+ </text>
+
+ <checkbox>
+ <placement x="%indent%" y="%row5_y%"/>
+ <text>{@reboot_install_app_prompt_install=Prompt to install TWRP app if not installed}</text>
+ <data variable="tw_app_prompt"/>
+ </checkbox>
+
+ <checkbox>
+ <condition var1="tw_mount_system_ro" var2="0"/>
+ <placement x="%indent%" y="%row7_y%"/>
+ <text>{@reboot_install_app_system=Install as a System App}</text>
+ <data variable="tw_app_install_system"/>
+ </checkbox>
+
+ <button style="main_button_half_height">
+ <placement x="%indent%" y="%row16_y%"/>
+ <text>{@su_cancel=Do not Install}</text>
+ <action function="reboot">%tw_reboot_param%</action>
+ </button>
+
+ <slider>
+ <text>{@swipe_to_install_app=Swipe to Install TWRP App}</text>
+ <actions>
+ <action function="set">tw_back=reboot</action>
+ <action function="set">tw_action=installapp</action>
+ <action function="set">tw_action_text1={@reboot_installing_app=Installing App...}</action>
+ <action function="set">tw_action_text2=</action>
+ <action function="set">tw_has_action2=1</action>
+ <action function="set">tw_action2=reboot</action>
+ <action function="set">tw_action2_param=%tw_reboot_param%</action>
+ <action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+ <action function="page">action_page</action>
+ </actions>
+ </slider>
+
+ <action>
+ <touch key="home"/>
+ <actions>
+ <action function="set">tw_app_install_status=0</action>
+ <action function="page">main</action>
+ </actions>
+ </action>
+
+ <action>
+ <touch key="back"/>
+ <actions>
+ <action function="set">tw_app_install_status=0</action>
+ <action function="page">reboot</action>
+ </actions>
+ </action>
+ </page>
+
<page name="system_readonly">
<template name="page"/>
@@ -2988,6 +3084,9 @@
<listitem name="{@rev_navbar_chk=Reversed navbar layout}">
<data variable="tw_samsung_navbar"/>
</listitem>
+ <listitem name="{@reboot_install_app_prompt_install=Prompt to install TWRP app on every reboot}">
+ <data variable="tw_app_prompt"/>
+ </listitem>
<listitem name="{@simact_chk=Simulate actions for theme testing}">
<data variable="tw_simulate_actions"/>
</listitem>