diff options
| author | 2015-08-11 20:02:58 +0900 | |
|---|---|---|
| committer | 2015-08-12 17:37:04 +0900 | |
| commit | 2ff024f49718e1afbf89ba1ce75913fddb0e258e (patch) | |
| tree | 14560cc54f3c2d7a5508150d21e6715e8b37472f | |
| parent | 6eed9a23df9fc5e9a47a35527792e470f67b4f1f (diff) | |
Start to use importFile to file descriptor.
BUG=22908937
Change-Id: Ia4f01099816e7841e364d46c125542d006cd47a6
| -rw-r--r-- | packages/MtpDocumentsProvider/src/com/android/mtp/MtpManager.java | 5 | ||||
| -rw-r--r-- | packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java | 10 |
2 files changed, 8 insertions, 7 deletions
diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpManager.java b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpManager.java index f266592ee5c9..141d118b3486 100644 --- a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpManager.java +++ b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpManager.java @@ -35,7 +35,7 @@ class MtpManager { private final UsbManager mManager; // TODO: Save and restore the set of opened device. - private final SparseArray<MtpDevice> mDevices = new SparseArray<MtpDevice>(); + private final SparseArray<MtpDevice> mDevices = new SparseArray<>(); MtpManager(Context context) { mManager = (UsbManager)context.getSystemService(Context.USB_SERVICE); @@ -142,7 +142,8 @@ class MtpManager { synchronized void importFile(int deviceId, int objectHandle, ParcelFileDescriptor target) throws IOException { - throw new UnsupportedOperationException("Importing files is not supported."); + final MtpDevice device = getDevice(deviceId); + device.importFile(objectHandle, target); } private MtpDevice getDevice(int deviceId) throws IOException { diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java b/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java index 7f498f5fae23..ba13b31f7a1f 100644 --- a/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java +++ b/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java @@ -47,12 +47,12 @@ class PipeManager { } private static abstract class Task implements Runnable { - protected final MtpManager mModel; + protected final MtpManager mManager; protected final Identifier mIdentifier; protected final ParcelFileDescriptor[] mDescriptors; - Task(MtpManager model, Identifier identifier) throws IOException { - mModel = model; + Task(MtpManager manager, Identifier identifier) throws IOException { + mManager = manager; mIdentifier = identifier; mDescriptors = ParcelFileDescriptor.createReliablePipe(); } @@ -70,7 +70,7 @@ class PipeManager { @Override public void run() { try { - mModel.importFile( + mManager.importFile( mIdentifier.mDeviceId, mIdentifier.mObjectHandle, mDescriptors[1]); mDescriptors[1].close(); } catch (IOException error) { @@ -94,7 +94,7 @@ class PipeManager { try (final ParcelFileDescriptor.AutoCloseOutputStream stream = new ParcelFileDescriptor.AutoCloseOutputStream(mDescriptors[1])) { try { - stream.write(mModel.getThumbnail( + stream.write(mManager.getThumbnail( mIdentifier.mDeviceId, mIdentifier.mObjectHandle)); } catch (IOException error) { mDescriptors[1].closeWithError("Failed to stream a thumbnail."); |