multiuser: Warn when not all users are decrypted
Change-Id: Id4d213ca9bb190b090ba660f06df60163ee7321a
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
index 3d8646c..daee7f3 100755
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -760,6 +760,8 @@
<action function="set">tw_show_exclamation=0</action>
<action function="set">tw_show_reboot=0</action>
<action function="set">tw_crypto_user_id=</action>
+ <action function="set">tw_multiuser_warning_accepted=</action>
+ <action function="set">tw_multiuser_warning_destination=</action>
<action function="page">%tw_clear_destination%</action>
</action>
</page>
@@ -1631,6 +1633,18 @@
<page name="backup">
<template name="page"/>
+ <action>
+ <conditions>
+ <condition var1="tw_is_fbe" var2="1"/>
+ <condition var1="tw_all_users_decrypted" var2="0"/>
+ <condition var1="tw_multiuser_warning_accepted" op="!=" var2="1"/>
+ </conditions>
+ <actions>
+ <action function="set">tw_multiuser_warning_destination=backup</action>
+ <action function="page">multiuser_warning</action>
+ </actions>
+ </action>
+
<text style="text_l">
<placement x="%col1_x_header%" y="%row3_header_y%"/>
<text>{@backup_hdr=Backup}</text>
@@ -1767,6 +1781,49 @@
</action>
</page>
+ <page name="multiuser_warning">
+ <template name="page"/>
+
+ <text style="text_l">
+ <placement x="%col1_x_header%" y="%row3_header_y%"/>
+ <text>{@multiuser_warning_hdr=Multiuser Warning}</text>
+ </text>
+
+ <text style="text_m_fail">
+ <placement x="%center_x%" y="%row7_y%" placement="5"/>
+ <text>{@multiuser_warning1=Not all users decrypted!}</text>
+ </text>
+
+ <text style="text_m_fail">
+ <placement x="%center_x%" y="%row8_y%" placement="5"/>
+ <text>{@multiuser_warning2=Backup/restore operations may fail!}</text>
+ </text>
+
+ <button style="main_button_m">
+ <placement x="%col1_x_left%" y="%row15a_y%"/>
+ <text>{@decrypt_users=Decrypt Users}</text>
+ <action function="page">decrypt_users</action>
+ </button>
+
+ <slider>
+ <text>{@multiuser_warning_accept=Continue Anyway}</text>
+ <actions>
+ <action function="set">tw_multiuser_warning_accepted=1</action>
+ <action function="page">%tw_multiuser_warning_destination%</action>
+ </actions>
+ </slider>
+
+ <action>
+ <touch key="home"/>
+ <action function="page">main</action>
+ </action>
+
+ <action>
+ <touch key="back"/>
+ <action function="page">main</action>
+ </action>
+ </page>
+
<page name="backupname1">
<action>
<condition var1="tw_backup_name" op="=" var2="{@auto_generate=(Auto Generate)}"/>
@@ -2077,6 +2134,18 @@
<page name="restore">
<template name="page"/>
+ <action>
+ <conditions>
+ <condition var1="tw_is_fbe" var2="1"/>
+ <condition var1="tw_all_users_decrypted" var2="0"/>
+ <condition var1="tw_multiuser_warning_accepted" op="!=" var2="1"/>
+ </conditions>
+ <actions>
+ <action function="set">tw_multiuser_warning_destination=restore</action>
+ <action function="page">multiuser_warning</action>
+ </actions>
+ </action>
+
<text style="text_l">
<placement x="%col1_x_header%" y="%row3_header_y%"/>
<text>{@restore_hdr=Restore}</text>
diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
index e1e36f2..f3a31ce 100755
--- a/gui/theme/common/languages/en.xml
+++ b/gui/theme/common/languages/en.xml
@@ -521,6 +521,10 @@
<string name="decrypt_user_fail_fbe">Failed to decrypt user {1}</string>
<string name="decrypt_data_enter_pass_fbe">Enter Password for User [%tw_crypto_user_id%]</string>
<string name="decrypt_data_enter_pattern_fbe">Enter Pattern for User [%tw_crypto_user_id%]</string>
+ <string name="multiuser_warning1">Not all users decrypted!</string>
+ <string name="multiuser_warning2">Backup/restore operations may fail!</string>
+ <string name="multiuser_warning_accept">Continue Anyway</string>
+ <string name="multiuser_warning_hdr">Multiuser Warning</string>
<!-- Various console messages - these consist of user displayed messages, oftentimes errors -->
<string name="no_kernel_selinux">Kernel does not have support for reading SELinux contexts.</string>
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
index 4b8cd4a..bead7e6 100755
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -711,6 +711,8 @@
<action function="set">tw_show_exclamation=0</action>
<action function="set">tw_show_reboot=0</action>
<action function="set">tw_crypto_user_id=</action>
+ <action function="set">tw_multiuser_warning_accepted=</action>
+ <action function="set">tw_multiuser_warning_destination=</action>
<action function="page">%tw_clear_destination%</action>
</action>
</page>
@@ -1587,6 +1589,18 @@
<page name="backup">
<template name="page"/>
+ <action>
+ <conditions>
+ <condition var1="tw_is_fbe" var2="1"/>
+ <condition var1="tw_all_users_decrypted" var2="0"/>
+ <condition var1="tw_multiuser_warning_accepted" op="!=" var2="1"/>
+ </conditions>
+ <actions>
+ <action function="set">tw_multiuser_warning_destination=backup</action>
+ <action function="page">multiuser_warning</action>
+ </actions>
+ </action>
+
<text style="text_l">
<placement x="%col1_x_header%" y="%row3_header_y%"/>
<text>{@backup_hdr=Backup}</text>
@@ -1699,6 +1713,49 @@
</action>
</page>
+ <page name="multiuser_warning">
+ <template name="page"/>
+
+ <text style="text_l">
+ <placement x="%col1_x_header%" y="%row3_header_y%"/>
+ <text>{@multiuser_warning_hdr=Multiuser Warning}</text>
+ </text>
+
+ <text style="text_m_fail">
+ <placement x="%center_x%" y="%row7_y%" placement="5"/>
+ <text>{@multiuser_warning1=Not all users decrypted!}</text>
+ </text>
+
+ <text style="text_m_fail">
+ <placement x="%center_x%" y="%row8_y%" placement="5"/>
+ <text>{@multiuser_warning2=Backup/restore operations may fail!}</text>
+ </text>
+
+ <button style="main_button_half_height_full_width">
+ <placement x="%indent%" y="%row18a_y%"/>
+ <text>{@decrypt_users=Decrypt Users}</text>
+ <action function="page">decrypt_users</action>
+ </button>
+
+ <slider>>
+ <text>{@multiuser_warning_accept=Continue Anyway}</text>
+ <actions>
+ <action function="set">tw_multiuser_warning_accepted=1</action>
+ <action function="page">%tw_multiuser_warning_destination%</action>
+ </actions>
+ </slider>
+
+ <action>
+ <touch key="home"/>
+ <action function="page">main</action>
+ </action>
+
+ <action>
+ <touch key="back"/>
+ <action function="page">main</action>
+ </action>
+ </page>
+
<page name="backup_options">
<template name="page"/>
@@ -2238,6 +2295,18 @@
<page name="restore">
<template name="page"/>
+ <action>
+ <conditions>
+ <condition var1="tw_is_fbe" var2="1"/>
+ <condition var1="tw_all_users_decrypted" var2="0"/>
+ <condition var1="tw_multiuser_warning_accepted" op="!=" var2="1"/>
+ </conditions>
+ <actions>
+ <action function="set">tw_multiuser_warning_destination=restore</action>
+ <action function="page">multiuser_warning</action>
+ </actions>
+ </action>
+
<text style="text_l">
<placement x="%col1_x_header%" y="%row3_header_y%"/>
<text>{@restore_hdr=Restore}</text>
diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml
index 7b474dd..7421203 100755
--- a/gui/theme/common/watch.xml
+++ b/gui/theme/common/watch.xml
@@ -976,6 +976,8 @@
<action function="set">tw_show_exclamation=0</action>
<action function="set">tw_show_reboot=0</action>
<action function="set">tw_crypto_user_id=</action>
+ <action function="set">tw_multiuser_warning_accepted=</action>
+ <action function="set">tw_multiuser_warning_destination=</action>
<action function="page">%tw_clear_destination%</action>
</action>
</page>
@@ -1932,6 +1934,18 @@
<page name="backup">
<template name="page"/>
+ <action>
+ <conditions>
+ <condition var1="tw_is_fbe" var2="1"/>
+ <condition var1="tw_all_users_decrypted" var2="0"/>
+ <condition var1="tw_multiuser_warning_accepted" op="!=" var2="1"/>
+ </conditions>
+ <actions>
+ <action function="set">tw_multiuser_warning_destination=backup</action>
+ <action function="page">multiuser_warning</action>
+ </actions>
+ </action>
+
<template name="statusbar"/>
<text style="text_m">
@@ -2055,6 +2069,49 @@
</action>
</page>
+ <page name="multiuser_warning">
+ <template name="page"/>
+
+ <text style="text_m">
+ <placement x="%col1_x_left%" y="%row1_header_y%"/>
+ <text>{@multiuser_warning_hdr=Multiuser Warning}</text>
+ </text>
+
+ <text style="text_m_fail">
+ <placement x="%center_x%" y="%row6_y%" placement="5"/>
+ <text>{@multiuser_warning1=Not all users decrypted!}</text>
+ </text>
+
+ <text style="text_m_fail">
+ <placement x="%center_x%" y="%row7_y%" placement="5"/>
+ <text>{@multiuser_warning2=Backup/restore operations may fail!}</text>
+ </text>
+
+ <button style="main_button_full_width">
+ <placement x="%col1_x_left%" y="%row6_y%"/>
+ <text>{@decrypt_users=Decrypt Users}</text>
+ <action function="page">decrypt_users</action>
+ </button>
+
+ <slider>
+ <text>{@multiuser_warning_accept=Continue Anyway}</text>
+ <actions>
+ <action function="set">tw_multiuser_warning_accepted=1</action>
+ <action function="page">%tw_multiuser_warning_destination%</action>
+ </actions>
+ </slider>
+
+ <action>
+ <touch key="home"/>
+ <action function="page">main</action>
+ </action>
+
+ <action>
+ <touch key="back"/>
+ <action function="page">main</action>
+ </action>
+ </page>
+
<page name="backup_options">
<template name="page"/>
@@ -2585,6 +2642,18 @@
<page name="restore">
<template name="page"/>
+ <action>
+ <conditions>
+ <condition var1="tw_is_fbe" var2="1"/>
+ <condition var1="tw_all_users_decrypted" var2="0"/>
+ <condition var1="tw_multiuser_warning_accepted" op="!=" var2="1"/>
+ </conditions>
+ <actions>
+ <action function="set">tw_multiuser_warning_destination=restore</action>
+ <action function="page">multiuser_warning</action>
+ </actions>
+ </action>
+
<template name="statusbar"/>
<text style="text_m">