summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Daichi Hirono <hirono@google.com> 2015-08-11 20:02:58 +0900
committer Daichi Hirono <hirono@google.com> 2015-08-12 17:37:04 +0900
commit2ff024f49718e1afbf89ba1ce75913fddb0e258e (patch)
tree14560cc54f3c2d7a5508150d21e6715e8b37472f
parent6eed9a23df9fc5e9a47a35527792e470f67b4f1f (diff)
Start to use importFile to file descriptor.
BUG=22908937 Change-Id: Ia4f01099816e7841e364d46c125542d006cd47a6
-rw-r--r--packages/MtpDocumentsProvider/src/com/android/mtp/MtpManager.java5
-rw-r--r--packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java10
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.");