Set document flag by referring MTP supported operations.

BUG=26147375

Change-Id: I6c4244f1f1153c1bbbf21ea9d608dc1a92ca70cd
diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java
index a1c5c9b..63c4ef8b 100644
--- a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java
+++ b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java
@@ -220,7 +220,7 @@
                     // when writing is completed.
                     if (MtpDeviceRecord.isWritingSupported(device.operationsSupported)) {
                         return getPipeManager(identifier).writeDocument(
-                                getContext(), mMtpManager, identifier);
+                                getContext(), mMtpManager, identifier, device.operationsSupported);
                     } else {
                         throw new UnsupportedOperationException(
                                 "The device does not support writing operation.");
@@ -316,7 +316,8 @@
             final MtpObjectInfo infoWithHandle =
                     new MtpObjectInfo.Builder(info).setObjectHandle(objectHandle).build();
             final String documentId = mDatabase.putNewDocument(
-                    parentId.mDeviceId, parentDocumentId, infoWithHandle);
+                    parentId.mDeviceId, parentDocumentId, record.operationsSupported,
+                    infoWithHandle);
             getDocumentLoader(parentId).clearTask(parentId);
             notifyChildDocumentsChange(parentDocumentId);
             return documentId;
@@ -336,7 +337,7 @@
             }
             final MtpDeviceRecord device = mMtpManager.openDevice(deviceId);
             final DeviceToolkit toolkit =
-                    new DeviceToolkit(deviceId, mMtpManager, mResolver, mDatabase, device);
+                    new DeviceToolkit(mMtpManager, mResolver, mDatabase, device);
             mDeviceToolkits.put(deviceId, toolkit);
             mIntentSender.sendUpdateNotificationIntent();
             try {
@@ -499,11 +500,12 @@
         public final DocumentLoader mDocumentLoader;
         public final MtpDeviceRecord mDeviceRecord;
 
-        public DeviceToolkit(
-                int deviceId, MtpManager manager, ContentResolver resolver, MtpDatabase database,
-                MtpDeviceRecord record) {
+        public DeviceToolkit(MtpManager manager,
+                             ContentResolver resolver,
+                             MtpDatabase database,
+                             MtpDeviceRecord record) {
             mPipeManager = new PipeManager(database);
-            mDocumentLoader = new DocumentLoader(deviceId, manager, resolver, database);
+            mDocumentLoader = new DocumentLoader(record, manager, resolver, database);
             mDeviceRecord = record;
         }
     }