Adopted Storage support
-Detects, decrypts, and mounts an adopted SD card if a
secondary block device is defined (usually mmcblk1)
-Handles unified storage
-Displays the adopted storage in MTP along with internal
-Factory Reset - wiped just like a data media device, we
retain the keys folder and the storage.xml during a
factory reset
-Backup / Restore
-Disable mass storage when adopted storage is present
-Read storage nickname from storage.xml and apply it to
display names in the GUI
-Read storage.xml and determine what storage location is in
use for /sdcard and remap accordingly
libgpt_twrp is source code mostly kanged from an efimanager
project. It is GPL v2 or higher, so we will opt for GPL v3.
Change-Id: Ieda0030bec5155ba8d2b9167dc0016cebbf39d55
diff --git a/gui/action.cpp b/gui/action.cpp
index 711f645..8895e40 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -1466,6 +1466,7 @@
LOGINFO("Got default contexts and file mode for storage files.\n");
}
}
+ PartitionManager.Decrypt_Adopted();
}
}
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
index ff6babe..a6b5dca 100755
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -1120,6 +1120,12 @@
<text>{@format_data_lcp2=removes encryption on internal storage.}</text>
</text>
+ <text style="text_m_fail">
+ <condition var1="tw_has_adopted_storage" var2="1"/>
+ <placement x="%center_x%" y="%row4_y%" placement="5"/>
+ <text>{@format_data_adopted=Including Adopted Storage}</text>
+ </text>
+
<text style="text_m">
<placement x="%center_x%" y="%row5_y%" placement="5"/>
<text>{@format_data_undo=This cannot be undone.}</text>
diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
index 5d7a5ac..8b36ccf 100755
--- a/gui/theme/common/languages/en.xml
+++ b/gui/theme/common/languages/en.xml
@@ -143,6 +143,7 @@
<string name="format_data_ptr1">Format Data will wipe all of your apps,</string>
<string name="format_data_ptr2">backups, pictures, videos, media, and</string>
<string name="format_data_ptr3">removes encryption on internal storage.</string>
+ <string name="format_data_adopted">Including Adopted Storage</string>
<string name="format_data_lcp1">Format Data will wipe all of your apps, backups, pictures, videos, media, and</string>
<string name="format_data_lcp2">removes encryption on internal storage.</string>
<string name="format_data_wtc1">Format Data will wipe all of your apps,</string>
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
index 03004ae..0904c72 100755
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -1077,6 +1077,12 @@
<text>{@format_data_ptr3=removes encryption on internal storage.}</text>
</text>
+ <text style="text_m_fail">
+ <condition var1="tw_has_adopted_storage" var2="1"/>
+ <placement x="%center_x%" y="%row5_y%" placement="5"/>
+ <text>{@format_data_adopted=Including Adopted Storage}</text>
+ </text>
+
<text style="text_m">
<placement x="%center_x%" y="%row6_y%" placement="5"/>
<text>{@format_data_undo=This cannot be undone.}</text>