diff --git a/Android.mk b/Android.mk index db3bb221..460803b4 100755 --- a/Android.mk +++ b/Android.mk @@ -176,6 +176,10 @@ ifeq ($(TW_NO_BIND_SYSTEM),true) LOCAL_CFLAGS += -DTW_NO_BIND_SYSTEM endif +ifeq ($(TW_PREPARE_DATA_MEDIA_EARLY),true) + LOCAL_CFLAGS += -DTW_PREPARE_DATA_MEDIA_EARLY +endif + LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/bin ifeq ($(TARGET_RECOVERY_TWRP_LIB),) diff --git a/crypto/fde/Android.mk b/crypto/fde/Android.mk index faf7da8d..03f1c5fc 100755 --- a/crypto/fde/Android.mk +++ b/crypto/fde/Android.mk @@ -51,7 +51,7 @@ else endif ifeq ($(TARGET_HW_DISK_ENCRYPTION),true) ifeq ($(TARGET_CRYPTFS_HW_PATH),) - LOCAL_C_INCLUDES += device/qcom/common/cryptfs_hw + LOCAL_C_INCLUDES += vendor/qcom/opensource/cryptfs_hw else LOCAL_C_INCLUDES += $(TARGET_CRYPTFS_HW_PATH) endif @@ -112,7 +112,7 @@ else endif ifeq ($(TARGET_HW_DISK_ENCRYPTION),true) ifeq ($(TARGET_CRYPTFS_HW_PATH),) - LOCAL_C_INCLUDES += device/qcom/common/cryptfs_hw + LOCAL_C_INCLUDES += vendor/qcom/opensource/cryptfs_hw else LOCAL_C_INCLUDES += $(TARGET_CRYPTFS_HW_PATH) endif diff --git a/gui/gui.cpp b/gui/gui.cpp index 00aab7ff..5c7d27e1 100755 --- a/gui/gui.cpp +++ b/gui/gui.cpp @@ -816,7 +816,7 @@ extern "C" int gui_loadResources(void) } } - theme_path += "/TWRP/theme/ui.zip"; + theme_path += TWFunc::Check_For_TwrpFolder() + "/theme/ui.zip"; if (check || PageManager::LoadPackage("TWRP", theme_path, "main")) { #endif // ifndef TW_OEM_BUILD @@ -850,7 +850,7 @@ extern "C" int gui_loadCustomResources(void) } std::string theme_path = DataManager::GetSettingsStoragePath(); - theme_path += "/TWRP/theme/ui.zip"; + theme_path += TWFunc::Check_For_TwrpFolder() + "/theme/ui.zip"; // Check for a custom theme if (TWFunc::Path_Exists(theme_path)) { // There is a custom theme, try to load it diff --git a/partition.cpp b/partition.cpp index 6f59c5d9..be223f4b 100755 --- a/partition.cpp +++ b/partition.cpp @@ -668,6 +668,10 @@ void TWPartition::Setup_Data_Partition(bool Display_Error) { UnMount(false); #ifdef TW_INCLUDE_CRYPTO + #ifdef TW_PREPARE_DATA_MEDIA_EARLY + if (datamedia) + Setup_Data_Media(); + #endif Can_Be_Encrypted = true; char crypto_blkdev[255]; property_get("ro.crypto.fs_crypto_blkdev", crypto_blkdev, "error"); @@ -675,8 +679,10 @@ void TWPartition::Setup_Data_Partition(bool Display_Error) { Set_FBE_Status(); Decrypted_Block_Device = crypto_blkdev; LOGINFO("Data already decrypted, new block device: '%s'\n", crypto_blkdev); + #ifndef TW_PREPARE_DATA_MEDIA_EARLY if (datamedia) Setup_Data_Media(); + #endif DataManager::SetValue(TW_IS_ENCRYPTED, 0); } else if (!Mount(false)) { if (Is_Present) { @@ -719,9 +725,10 @@ void TWPartition::Setup_Data_Partition(bool Display_Error) { LOGERR("Unable to decrypt FBE device\n"); } else { DataManager::SetValue(TW_IS_ENCRYPTED, 0); + #ifndef TW_PREPARE_DATA_MEDIA_EARLY if (datamedia) Setup_Data_Media(); - + #endif } } if (datamedia && (!Is_Encrypted || (Is_Encrypted && Is_Decrypted))) { @@ -1234,8 +1241,12 @@ void TWPartition::Setup_Data_Media() { Make_Dir("/sdcard", false); Symlink_Mount_Point = "/sdcard"; } + #ifdef TW_PREPARE_DATA_MEDIA_EARLY + if (Mount(false) && TWFunc::Path_Exists(Mount_Point + "/media/0")) { + #else Mount(false); if (TWFunc::Path_Exists(Mount_Point + "/media/0")) { + #endif Storage_Path = Mount_Point + "/media/0"; Symlink_Path = Storage_Path; DataManager::SetValue(TW_INTERNAL_PATH, Mount_Point + "/media/0"); diff --git a/prebuilt/Android.mk b/prebuilt/Android.mk index 48ee5a67..b2705d4c 100755 --- a/prebuilt/Android.mk +++ b/prebuilt/Android.mk @@ -197,7 +197,9 @@ ifeq ($(TW_INCLUDE_CRYPTO), true) RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/android.hardware.vibrator-V1-cpp.so RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libstatslog.so RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libsoft_attestation_cert.so - RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libxml2.so + ifneq ($(TW_EXCLUDE_LIBXML2), true) + RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libxml2.so + endif ifneq ($(wildcard system/keymaster/keymaster_stl.cpp),) RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libkeymaster_portable.so @@ -239,7 +241,7 @@ ifeq ($(AB_OTA_UPDATER), true) RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/android.hardware.boot@1.1.so endif ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS),true) - ifeq ($(TW_EXCLUDE_LPDUMP),) + ifneq ($(TW_INCLUDE_LPDUMP),) RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/bootctl RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/lpdump RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/lpdumpd @@ -247,7 +249,7 @@ ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS),true) RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/liblpdump_interface-V1-cpp.so RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libprotobuf-cpp-full.so endif - ifeq ($(TW_EXCLUDE_LPTOOLS),) + ifneq ($(TW_INCLUDE_LPTOOLS),) RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/lptools endif endif