decryption: solve specific decryption problems on some devices

Change-Id: I832c16da3d45888299fd9f96888ed8a85e5d48c9
This commit is contained in:
Darth9
2023-02-05 23:41:03 +00:00
committed by MD Raza
parent 063d211c62
commit 8bc9da5e10
2 changed files with 16 additions and 1 deletions
+12 -1
View File
@@ -665,6 +665,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");
@@ -672,8 +676,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) {
@@ -716,9 +722,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))) {
@@ -1231,8 +1238,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");