Add processing of fstab, mounting, and decrypt
diff --git a/data.cpp b/data.cpp
index 1b5c1ff..92e2e41 100644
--- a/data.cpp
+++ b/data.cpp
@@ -150,7 +150,7 @@
     if (mBackingFile.empty())       return -1;
 
 	string mount_path = GetSettingsStoragePath();
-	TWPartitionManager::Mount_By_Path(mount_path.c_str(), 1);
+	PartitionManager.Mount_By_Path(mount_path.c_str(), 1);
 
 	FILE* out = fopen(mBackingFile.c_str(), "wb");
     if (!out)                       return -1;
@@ -672,10 +672,10 @@
 	sprintf(mkdir_path, "%s/TWRP", DataManager_GetSettingsStoragePath());
 	sprintf(settings_file, "%s/.twrps", mkdir_path);
 
-	if (TWPartitionManager::Mount_By_Path(DataManager_GetSettingsStorageMount(), 0) < 0)
+	if (!PartitionManager.Mount_Settings_Storage(false))
 	{
 		usleep(500000);
-		if (TWPartitionManager::Mount_By_Path(DataManager_GetSettingsStorageMount(), 0) < 0)
+		if (!PartitionManager.Mount_Settings_Storage(false))
 			LOGE("Unable to mount %s when trying to read settings file.\n", DataManager_GetSettingsStorageMount());
 	}
 
@@ -688,14 +688,14 @@
 	GetValue(TW_HAS_EXTERNAL, has_ext);
 	if (has_dual != 0 && use_ext == 1) {
 		// Attempt to sdcard using external storage
-		if (TWPartitionManager::Mount_Current_Storage()) {
+		if (PartitionManager.Mount_Current_Storage(false)) {
 			LOGE("Failed to mount external storage, using internal storage.\n");
 			// Remount failed, default back to internal storage
 			SetValue(TW_USE_EXTERNAL_STORAGE, 0);
-			TWPartitionManager::Mount_Current_Storage();
+			PartitionManager.Mount_Current_Storage(true);
 		}
 	} else {
-		TWPartitionManager::Mount_Current_Storage();
+		PartitionManager.Mount_Current_Storage(true);
 	}
 	if (has_data_media == 1) {
 		if (has_dual == 0) {
@@ -731,7 +731,7 @@
 		string ext_path;
 
 		GetValue(TW_EXTERNAL_PATH, ext_path);
-		TWPartitionManager::Mount_By_Path(ext_path, 0);
+		PartitionManager.Mount_By_Path(ext_path, 0);
 	}
 }