Do not unconditionally remove MTP storage on unmount
* It is not necessary to Remove_MTP_Storage() for a partition if an
MTP_Storage_ID has not been assigned.
* The hack to force-set tw_mtp_enabled=1 should no longer be necessary
now that we're checking whether MTP really needs to be disabled for
a volume before running Disable_MTP().
Change-Id: I1b7233eedd9da7c6be0c67fc60243f3837105173
diff --git a/partition.cpp b/partition.cpp
index 5cf0179..8832909 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -1318,7 +1318,7 @@
if (never_unmount_system == 1 && Mount_Point == "/system")
return true; // Never unmount system if you're not supposed to unmount it
- if (Is_Storage)
+ if (Is_Storage && MTP_Storage_ID > 0)
PartitionManager.Remove_MTP_Storage(MTP_Storage_ID);
if (!Symlink_Mount_Point.empty())
diff --git a/twrp.cpp b/twrp.cpp
index f0e572c..3d0a375 100644
--- a/twrp.cpp
+++ b/twrp.cpp
@@ -289,13 +289,6 @@
}
// Read the settings file
-#ifdef TW_HAS_MTP
- // We unmount partitions sometimes during early boot which may override
- // the default of MTP being enabled by auto toggling MTP off. This
- // will force it back to enabled then get overridden by the settings
- // file, assuming that an entry for tw_mtp_enabled is set.
- DataManager::SetValue("tw_mtp_enabled", 1);
-#endif
DataManager::ReadSettingsFile();
PageManager::LoadLanguage(DataManager::GetStrValue("tw_language"));
GUIConsole::Translate_Now();