History log of /frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f4e7fa80384ac72d0228ca5de6e949a9162cefbf 28-Mar-2016 Daichi Hirono <hirono@google.com> Use AppFuse to write document.

Previously MtpDocumentsProvider used pipes to transfer bytes from an
application to the provider when writing a document. The problem was
application could not ensure that the last chunk of bytes was
successfully written to MTP device, since pipes had been already closed
when the provider transferred bytes to MTP device. Though the provider
encountered an error, the provider could not report the error to an
application.

The CL switches the method to transfer bytes from pipes to AppFuse. Now
application can flush() bytes on the file descriptor, and flush will not
complete until the provider completes writing bytes to MTP device.

Fixed: 23093747
Change-Id: I4e28f8cbf19d6c97e591943349a7535241d768f7
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
64111e08d905525c7f4fe27e69953eb71bd62511 24-Mar-2016 Daichi Hirono <hirono@google.com> Get object size that is more than 4GB.

MtpObjectInfo contains object size as 32-bit integer and the provider
needs to invoke MtpDevice#getObjectSizeLong hidden API to get 64-bit
object size.

The CL switches to use MtpDevice#getObjectSizeLong hidden API if
MtpObjectInfo#getCompressedSize() returns 0xffffffffL, which means the
object size is more than 4GB.

BUG=27805369

Change-Id: I87ea02c09aa784246cf016def309d1f39ed20e90
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
24ab92a5f7492f116ae82f354f406de60a0d912c 04-Mar-2016 Daichi Hirono <hirono@google.com> Ensure to complete background thread of PipeManager.

BUG=27488803

Change-Id: Ib540ab42f6263e1aea4c1bb184a4f88aa1454a14
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
61ba923ca0cb5c928a16729d0aa67b6bf4b2f027 25-Feb-2016 Daichi Hirono <hirono@google.com> Set document flag by referring MTP supported operations.

BUG=26147375

Change-Id: I6c4244f1f1153c1bbbf21ea9d608dc1a92ca70cd
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
f578fa275a535016f5322c88ad7a92e517d04a12 19-Feb-2016 Daichi Hirono <hirono@google.com> Update object info when writing a file.

The MTP spec does not offer a way to update bytes of exisitng files, so
our provider implementation creates a new file with new bytes and
removes old one.

Previously the new file uses new document ID and the exising document ID
is expired. Also the provider does not update the metadata
database. Thus users see the old flie in DocumentsUI but actually the
files is not accessible.

The CL updates the database with exisitng document ID, so that we can
access the new file with exisiting document ID.

BUG=26549400

Change-Id: I629b707a2e662b34625e8b28857ef818d8933996
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
259ce80132d55774fe599c60b53a9d9dfc1efa65 20-Nov-2015 Daichi Hirono <hirono@google.com> Extract mapping operations to partial class of MtpDatabase.

Change-Id: I5fda6d5754206528ad5953bcc179a0ffe0b4982d
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
4c1d3dde05308cb10187269dd9824c9bfdbb27de 02-Sep-2015 Tomasz Mikolajewski <mtomasz@google.com> Create PipeManager and DocumentLoader per device.

Also, reduce MtpManager's synchronization to per device synchronization.

Bug: 23733078
Change-Id: Ieedc7d871f2a4d260ca4287c6fa05d67f54fb4c5
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
df544176b10f536969de1ed143b0ba57123fcb93 31-Aug-2015 Tomasz Mikolajewski <mtomasz@google.com> Fix uploading multiple files via MtpDocumentsProvider.

Uploading was breaking as SendObject request was not being sent directly
after SendObjectInfo which is assumed by the MTP stack in Android.

Change-Id: I36b94f56682e79dec38add9be5f70f55d07e22e7
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
b80a3cfd05fc7492dd59b7f8d4337eb5e29088c2 24-Aug-2015 Tomasz Mikolajewski <mtomasz@google.com> Add support for uploading files via MTP.

Change-Id: Id1811ab70cb28be471e0a99999e9ad5380deac49
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
2ff024f49718e1afbf89ba1ce75913fddb0e258e 11-Aug-2015 Daichi Hirono <hirono@google.com> Start to use importFile to file descriptor.

BUG=22908937

Change-Id: Ia4f01099816e7841e364d46c125542d006cd47a6
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
3faa43a4a6f270e2e1e2ec55b77508084af16757 05-Aug-2015 Daichi Hirono <hirono@google.com> Implement MtpDocumentsProvider#openDocumentThumbnail.

BUG=20274999
Change-Id: I4ee43d94d92735e07786dfe557eaca69e8bff6c3
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
52652ac7a5f479f7f5e24f78778203bd88c0c4f4 05-Aug-2015 Tomasz Mikolajewski <mtomasz@google.com> Make reading files streamed in MtpDocumentsProvider.

Change-Id: If5ca4fc71cf27a2eccb46865421235790623985a
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
8ba419119d50a031160cab54bef6899bd0051ea9 30-Jul-2015 Daichi Hirono <hirono@google.com> Implement MtpDocuments#openDocument.

BUG=20274999

Change-Id: Iebcee84cb47ac521412b15f91903922953cbd3a8
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java