Relax mapping rule to make the mapping logic simple.
MtpDocumentsProvider remembers the mapping between SAF's ID and MTP's ID. Sometimes we need to do heuristic to restore the mapping when MTP device is reconnected. Previously we do the mapping files that shares the same name more strictly. For example, 1. Found file name "test.txt". Assign document ID "1". 2. MTP device is disconnected and the MTP ID of "1" is lost. 3. Found two files that have same name "test.txt" in the same directory. Previously we don't reuse existing document ID "1" for neither of two "test.txt" because it's not 1-to-1 mapping and we cannot determine which one should be mapped with existing document ID. It means we need the complete list of files in a directory to remap IDs. It takes long time to fetch all file names in a directory when a directory has 100+ files. It's rare that a MTP device has the two files sharing the same name in the same directory. Also the strict rule makes the mapping code more complex. The CL relax the rule of mapping, and it allows to reuse existing document ID even if it is not 1-to-1 mapping. For the previous example, it assigns "1" for either of "test.txt". BUG=27053734 Change-Id: I19406fafc21f13ab94ba99411ce5e7f55ce7f658
Loading
Please register or sign in to comment