From 9e0593eaf6defb15761f41246093c0d3661b140d Mon Sep 17 00:00:00 2001 From: that Date: Wed, 8 Oct 2014 00:01:24 +0200 Subject: mtp: cleanup, fixes and performance improvements - use std::map instead of linked list - read directories on demand - fix writing zip files to storage root - fix creating directories - lots of minor fixes - simplify generation of storage IDs and make them spec compliant Change-Id: I2137c27549ddbdc58466f2e3aeda464fac70a3c5 --- partition.cpp | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) (limited to 'partition.cpp') diff --git a/partition.cpp b/partition.cpp index 31a3f8fae..add9460fc 100644 --- a/partition.cpp +++ b/partition.cpp @@ -108,8 +108,7 @@ static struct flag_list mount_flags[] = { { 0, 0 }, }; -TWPartition::TWPartition(int *id) { - initmtpid = id; +TWPartition::TWPartition() { Can_Be_Mounted = false; Can_Be_Wiped = false; Can_Be_Backed_Up = false; @@ -161,7 +160,6 @@ TWPartition::TWPartition(int *id) { #ifdef TW_INCLUDE_CRYPTO_SAMSUNG EcryptFS_Password = ""; #endif - mtpid = 0; } TWPartition::~TWPartition(void) { @@ -275,7 +273,7 @@ bool TWPartition::Process_Fstab_Line(string Line, bool Display_Error) { Can_Encrypt_Backup = true; Use_Userdata_Encryption = true; if (datamedia) - Setup_Data_Media(0); + Setup_Data_Media(); #ifdef TW_INCLUDE_CRYPTO Can_Be_Encrypted = true; char crypto_blkdev[255]; @@ -411,12 +409,6 @@ bool TWPartition::Process_Fstab_Line(string Line, bool Display_Error) { } } - // Generate MTP ID - if (Is_Storage) { - (*initmtpid)++; - mtpid = *initmtpid; - } - // Process any custom flags if (Flags.size() > 0) Process_Flags(Flags, Display_Error); @@ -682,7 +674,7 @@ void TWPartition::Setup_AndSec(void) { Mount_Storage_Retry(); } -void TWPartition::Setup_Data_Media(int mtp) { +void TWPartition::Setup_Data_Media() { LOGINFO("Setting up '%s' as data/media emulated storage.\n", Mount_Point.c_str()); Storage_Name = "Internal Storage"; Has_Data_Media = true; @@ -703,8 +695,6 @@ void TWPartition::Setup_Data_Media(int mtp) { DataManager::SetValue(TW_INTERNAL_PATH, "/data/media/0"); UnMount(true); } - if (mtp) - mtpid = mtp; DataManager::SetValue("tw_has_internal", 1); DataManager::SetValue("tw_has_data_media", 1); du.add_absolute_dir("/data/media"); -- cgit v1.2.3