summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/MtpDocumentsProvider/src/com/android/mtp/DocumentLoader.java2
-rw-r--r--packages/MtpDocumentsProvider/src/com/android/mtp/Identifier.java12
-rw-r--r--packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabase.java134
-rw-r--r--packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabaseConstants.java7
-rw-r--r--packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java28
-rw-r--r--packages/MtpDocumentsProvider/tests/src/com/android/mtp/DocumentLoaderTest.java3
-rw-r--r--packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDatabaseTest.java18
-rw-r--r--packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDocumentsProviderTest.java12
-rw-r--r--packages/MtpDocumentsProvider/tests/src/com/android/mtp/PipeManagerTest.java20
9 files changed, 155 insertions, 81 deletions
diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/DocumentLoader.java b/packages/MtpDocumentsProvider/src/com/android/mtp/DocumentLoader.java
index 1d726470765b..1829746bb143 100644
--- a/packages/MtpDocumentsProvider/src/com/android/mtp/DocumentLoader.java
+++ b/packages/MtpDocumentsProvider/src/com/android/mtp/DocumentLoader.java
@@ -74,7 +74,7 @@ class DocumentLoader {
int parentHandle = parent.mObjectHandle;
// Need to pass the special value MtpManager.OBJECT_HANDLE_ROOT_CHILDREN to
// getObjectHandles if we would like to obtain children under the root.
- if (parentHandle == Identifier.DUMMY_HANDLE_FOR_ROOT) {
+ if (parent.mDocumentType == MtpDatabaseConstants.DOCUMENT_TYPE_STORAGE) {
parentHandle = MtpManager.OBJECT_HANDLE_ROOT_CHILDREN;
}
// TODO: Handle nit race around here.
diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/Identifier.java b/packages/MtpDocumentsProvider/src/com/android/mtp/Identifier.java
index 20b3bf5db3b7..76a1fad30442 100644
--- a/packages/MtpDocumentsProvider/src/com/android/mtp/Identifier.java
+++ b/packages/MtpDocumentsProvider/src/com/android/mtp/Identifier.java
@@ -17,32 +17,34 @@
package com.android.mtp;
import java.util.Objects;
+import static com.android.mtp.MtpDatabaseConstants.DocumentType;
/**
* Static utilities for ID.
*/
class Identifier {
- final static int DUMMY_HANDLE_FOR_ROOT = 0;
-
final int mDeviceId;
final int mStorageId;
final int mObjectHandle;
final String mDocumentId;
+ final @DocumentType int mDocumentType;
- Identifier(int deviceId, int storageId, int objectHandle, String documentId) {
+ Identifier(int deviceId, int storageId, int objectHandle, String documentId,
+ @DocumentType int documentType) {
mDeviceId = deviceId;
mStorageId = storageId;
mObjectHandle = objectHandle;
mDocumentId = documentId;
+ mDocumentType = documentType;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof Identifier))
return false;
- final Identifier other = (Identifier)obj;
+ final Identifier other = (Identifier) obj;
return mDeviceId == other.mDeviceId && mStorageId == other.mStorageId &&
- mObjectHandle == other.mObjectHandle;
+ mObjectHandle == other.mObjectHandle && mDocumentId == other.mDocumentId;
}
@Override
diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabase.java b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabase.java
index 959fac69c817..59d85c1ef8f4 100644
--- a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabase.java
+++ b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabase.java
@@ -143,49 +143,50 @@ class MtpDatabase {
null);
try {
values.clear();
- if (storageCursor.getCount() == 1) {
- storageCursor.moveToNext();
- DatabaseUtils.cursorRowToContentValues(storageCursor, values);
- } else {
- final Cursor cursor = builder.query(
- mDatabase,
- columnNames,
- selection + " AND " + COLUMN_DEVICE_ID + " = ?",
- strings(ROW_STATE_VALID,
- ROW_STATE_INVALIDATED,
- DOCUMENT_TYPE_DEVICE,
- deviceId),
- null,
- null,
- null);
- try {
- cursor.moveToNext();
- DatabaseUtils.cursorRowToContentValues(cursor, values);
- } finally {
- cursor.close();
- }
+ try (final Cursor deviceRoot = builder.query(
+ mDatabase,
+ columnNames,
+ selection + " AND " + COLUMN_DEVICE_ID + " = ?",
+ strings(ROW_STATE_VALID,
+ ROW_STATE_INVALIDATED,
+ DOCUMENT_TYPE_DEVICE,
+ deviceId),
+ null,
+ null,
+ null)) {
+ deviceRoot.moveToNext();
+ DatabaseUtils.cursorRowToContentValues(deviceRoot, values);
+ }
- if (storageCursor.getCount() != 0) {
- long capacityBytes = 0;
- long availableBytes = 0;
- int capacityIndex = cursor.getColumnIndex(Root.COLUMN_CAPACITY_BYTES);
- int availableIndex = cursor.getColumnIndex(Root.COLUMN_AVAILABLE_BYTES);
- while (storageCursor.moveToNext()) {
- // If requested columnNames does not include COLUMN_XXX_BYTES, we
- // don't calculate corresponding values.
- if (capacityIndex != -1) {
- capacityBytes += cursor.getLong(capacityIndex);
- }
- if (availableIndex != -1) {
- availableBytes += cursor.getLong(availableIndex);
- }
+ if (storageCursor.getCount() != 0) {
+ long capacityBytes = 0;
+ long availableBytes = 0;
+ final int capacityIndex =
+ storageCursor.getColumnIndex(Root.COLUMN_CAPACITY_BYTES);
+ final int availableIndex =
+ storageCursor.getColumnIndex(Root.COLUMN_AVAILABLE_BYTES);
+ while (storageCursor.moveToNext()) {
+ // If requested columnNames does not include COLUMN_XXX_BYTES, we
+ // don't calculate corresponding values.
+ if (capacityIndex != -1) {
+ capacityBytes += storageCursor.getLong(capacityIndex);
+ }
+ if (availableIndex != -1) {
+ availableBytes += storageCursor.getLong(availableIndex);
}
- values.put(Root.COLUMN_CAPACITY_BYTES, capacityBytes);
- values.put(Root.COLUMN_AVAILABLE_BYTES, availableBytes);
- } else {
- values.putNull(Root.COLUMN_CAPACITY_BYTES);
- values.putNull(Root.COLUMN_AVAILABLE_BYTES);
}
+ values.put(Root.COLUMN_CAPACITY_BYTES, capacityBytes);
+ values.put(Root.COLUMN_AVAILABLE_BYTES, availableBytes);
+ } else {
+ values.putNull(Root.COLUMN_CAPACITY_BYTES);
+ values.putNull(Root.COLUMN_AVAILABLE_BYTES);
+ }
+ if (storageCursor.getCount() == 1 && values.containsKey(Root.COLUMN_TITLE)) {
+ storageCursor.moveToFirst();
+ values.put(
+ Root.COLUMN_TITLE,
+ storageCursor.getString(
+ storageCursor.getColumnIndex(Root.COLUMN_TITLE)));
}
} finally {
storageCursor.close();
@@ -239,12 +240,45 @@ class MtpDatabase {
}
/**
+ * Returns identifier of single storage if given document points device and it has only one
+ * storage. Otherwise null.
+ *
+ * @param documentId Document ID that may point a device.
+ * @return Identifier for single storage or null.
+ * @throws FileNotFoundException The given document ID is not registered in database.
+ */
+ @Nullable Identifier getSingleStorageIdentifier(String documentId)
+ throws FileNotFoundException {
+ // Check if the parent document is device that has single storage.
+ try (final Cursor cursor = mDatabase.query(
+ TABLE_DOCUMENTS,
+ strings(Document.COLUMN_DOCUMENT_ID),
+ COLUMN_ROW_STATE + " IN (?, ?) AND " +
+ COLUMN_PARENT_DOCUMENT_ID + " = ? AND " +
+ COLUMN_DOCUMENT_TYPE + " = ?",
+ strings(ROW_STATE_VALID,
+ ROW_STATE_INVALIDATED,
+ documentId,
+ DOCUMENT_TYPE_STORAGE),
+ null,
+ null,
+ null)) {
+ if (cursor.getCount() == 1) {
+ cursor.moveToNext();
+ return createIdentifier(cursor.getString(0));
+ } else {
+ return null;
+ }
+ }
+ }
+
+ /**
* Queries a single document.
* @param documentId
* @param projection
* @return Database cursor.
*/
- public Cursor queryDocument(String documentId, String[] projection) {
+ Cursor queryDocument(String documentId, String[] projection) {
return mDatabase.query(
TABLE_DOCUMENTS,
projection,
@@ -287,12 +321,12 @@ class MtpDatabase {
}
/**
- * Obtains parent document ID.
+ * Obtains parent identifier.
* @param documentId
- * @return parent document ID.
+ * @return parent identifier.
* @throws FileNotFoundException
*/
- String getParentId(String documentId) throws FileNotFoundException {
+ Identifier getParentIdentifier(String documentId) throws FileNotFoundException {
final Cursor cursor = mDatabase.query(
TABLE_DOCUMENTS,
strings(COLUMN_PARENT_DOCUMENT_ID),
@@ -304,7 +338,7 @@ class MtpDatabase {
"1");
try {
if (cursor.moveToNext()) {
- return cursor.getString(0);
+ return createIdentifier(cursor.getString(0));
} else {
throw new FileNotFoundException("Cannot find a row having ID=" + documentId);
}
@@ -352,7 +386,10 @@ class MtpDatabase {
// Currently documentId is old format.
final Cursor cursor = mDatabase.query(
TABLE_DOCUMENTS,
- strings(COLUMN_DEVICE_ID, COLUMN_STORAGE_ID, COLUMN_OBJECT_HANDLE),
+ strings(COLUMN_DEVICE_ID,
+ COLUMN_STORAGE_ID,
+ COLUMN_OBJECT_HANDLE,
+ COLUMN_DOCUMENT_TYPE),
SELECTION_DOCUMENT_ID,
strings(documentId),
null,
@@ -367,8 +404,9 @@ class MtpDatabase {
return new Identifier(
cursor.getInt(0),
cursor.getInt(1),
- cursor.isNull(2) ? Identifier.DUMMY_HANDLE_FOR_ROOT : cursor.getInt(2),
- documentId);
+ cursor.getInt(2),
+ documentId,
+ cursor.getInt(3));
}
} finally {
cursor.close();
diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabaseConstants.java b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabaseConstants.java
index f252e0f7d337..3cfb82f24746 100644
--- a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabaseConstants.java
+++ b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabaseConstants.java
@@ -16,10 +16,13 @@
package com.android.mtp;
+import android.annotation.IntDef;
import android.database.sqlite.SQLiteQueryBuilder;
import android.provider.DocumentsContract.Document;
import android.provider.DocumentsContract.Root;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.util.HashMap;
import java.util.Map;
@@ -92,6 +95,10 @@ class MtpDatabaseConstants {
*/
static final int MAP_BY_NAME = 1;
+ @IntDef(value = { DOCUMENT_TYPE_DEVICE, DOCUMENT_TYPE_STORAGE, DOCUMENT_TYPE_OBJECT })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface DocumentType {}
+
/**
* Document that represents a MTP device.
*/
diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java
index 6b5f16a609b3..775f9766e249 100644
--- a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java
+++ b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java
@@ -150,11 +150,22 @@ public class MtpDocumentsProvider extends DocumentsProvider {
if (projection == null) {
projection = MtpDocumentsProvider.DEFAULT_DOCUMENT_PROJECTION;
}
- final Identifier parentIdentifier = mDatabase.createIdentifier(parentDocumentId);
+ Identifier parentIdentifier = mDatabase.createIdentifier(parentDocumentId);
try {
+ if (parentIdentifier.mDocumentType == MtpDatabaseConstants.DOCUMENT_TYPE_DEVICE) {
+ final Identifier singleStorageIdentifier =
+ mDatabase.getSingleStorageIdentifier(parentDocumentId);
+ if (singleStorageIdentifier == null) {
+ // Returns storage list from database.
+ return mDatabase.queryChildDocuments(projection, parentDocumentId);
+ }
+ parentIdentifier = singleStorageIdentifier;
+ }
+ // Returns object list from document loader.
return getDocumentLoader(parentIdentifier).queryChildDocuments(
projection, parentIdentifier);
} catch (IOException exception) {
+ Log.e(MtpDocumentsProvider.TAG, "queryChildDocuments", exception);
throw new FileNotFoundException(exception.getMessage());
}
}
@@ -190,6 +201,7 @@ public class MtpDocumentsProvider extends DocumentsProvider {
throw new IllegalArgumentException("Unknown mode for openDocument: " + mode);
}
} catch (IOException error) {
+ Log.e(MtpDocumentsProvider.TAG, "openDocument", error);
throw new FileNotFoundException(error.getMessage());
}
}
@@ -206,6 +218,7 @@ public class MtpDocumentsProvider extends DocumentsProvider {
0, // Start offset.
AssetFileDescriptor.UNKNOWN_LENGTH);
} catch (IOException error) {
+ Log.e(MtpDocumentsProvider.TAG, "openDocumentThumbnail", error);
throw new FileNotFoundException(error.getMessage());
}
}
@@ -214,13 +227,20 @@ public class MtpDocumentsProvider extends DocumentsProvider {
public void deleteDocument(String documentId) throws FileNotFoundException {
try {
final Identifier identifier = mDatabase.createIdentifier(documentId);
- final Identifier parentIdentifier =
- mDatabase.createIdentifier(mDatabase.getParentId(documentId));
+ final Identifier parentIdentifier = mDatabase.getParentIdentifier(documentId);
mMtpManager.deleteDocument(identifier.mDeviceId, identifier.mObjectHandle);
mDatabase.deleteDocument(documentId);
getDocumentLoader(parentIdentifier).clearTask(parentIdentifier);
notifyChildDocumentsChange(parentIdentifier.mDocumentId);
+ if (parentIdentifier.mDocumentType == MtpDatabaseConstants.DOCUMENT_TYPE_STORAGE) {
+ // If the parent is storage, the object might be appeared as child of device because
+ // we skip storage when the device has only one storage.
+ final Identifier deviceIdentifier = mDatabase.getParentIdentifier(
+ parentIdentifier.mDocumentId);
+ notifyChildDocumentsChange(deviceIdentifier.mDocumentId);
+ }
} catch (IOException error) {
+ Log.e(MtpDocumentsProvider.TAG, "deleteDocument", error);
throw new FileNotFoundException(error.getMessage());
}
}
@@ -259,7 +279,7 @@ public class MtpDocumentsProvider extends DocumentsProvider {
notifyChildDocumentsChange(parentDocumentId);
return documentId;
} catch (IOException error) {
- Log.e(TAG, error.getMessage());
+ Log.e(TAG, "createDocument", error);
throw new FileNotFoundException(error.getMessage());
}
}
diff --git a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/DocumentLoaderTest.java b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/DocumentLoaderTest.java
index f37a55c9568d..5f71606dffc5 100644
--- a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/DocumentLoaderTest.java
+++ b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/DocumentLoaderTest.java
@@ -35,7 +35,8 @@ public class DocumentLoaderTest extends AndroidTestCase {
private BlockableTestMtpManager mManager;
private TestContentResolver mResolver;
private DocumentLoader mLoader;
- final private Identifier mParentIdentifier = new Identifier(0, 0, 0, "1");
+ final private Identifier mParentIdentifier = new Identifier(
+ 0, 0, 0, "1", MtpDatabaseConstants.DOCUMENT_TYPE_STORAGE);
@Override
public void setUp() {
diff --git a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDatabaseTest.java b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDatabaseTest.java
index 80759994e6a1..40228864d4fb 100644
--- a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDatabaseTest.java
+++ b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDatabaseTest.java
@@ -122,14 +122,14 @@ public class MtpDatabaseTest extends AndroidTestCase {
assertEquals(1, cursor.getCount());
cursor.moveToNext();
- assertEquals(2, getInt(cursor, Root.COLUMN_ROOT_ID));
+ assertEquals(1, getInt(cursor, Root.COLUMN_ROOT_ID));
assertEquals(
Root.FLAG_SUPPORTS_IS_CHILD | Root.FLAG_SUPPORTS_CREATE,
getInt(cursor, Root.COLUMN_FLAGS));
assertEquals(R.drawable.ic_root_mtp, getInt(cursor, Root.COLUMN_ICON));
assertEquals("Device Storage", getString(cursor, Root.COLUMN_TITLE));
assertTrue(isNull(cursor, Root.COLUMN_SUMMARY));
- assertEquals(2, getInt(cursor, Root.COLUMN_DOCUMENT_ID));
+ assertEquals(1, getInt(cursor, Root.COLUMN_DOCUMENT_ID));
assertEquals(1000, getInt(cursor, Root.COLUMN_AVAILABLE_BYTES));
assertEquals(2000, getInt(cursor, Root.COLUMN_CAPACITY_BYTES));
@@ -457,10 +457,10 @@ public class MtpDatabaseTest extends AndroidTestCase {
final Cursor cursor = mDatabase.queryRoots(rootColumns);
assertEquals(2, cursor.getCount());
cursor.moveToNext();
- assertEquals(3, getInt(cursor, Root.COLUMN_ROOT_ID));
+ assertEquals(1, getInt(cursor, Root.COLUMN_ROOT_ID));
assertEquals(0, getInt(cursor, Root.COLUMN_AVAILABLE_BYTES));
cursor.moveToNext();
- assertEquals(4, getInt(cursor, Root.COLUMN_ROOT_ID));
+ assertEquals(2, getInt(cursor, Root.COLUMN_ROOT_ID));
assertEquals(0, getInt(cursor, Root.COLUMN_AVAILABLE_BYTES));
cursor.close();
}
@@ -496,10 +496,10 @@ public class MtpDatabaseTest extends AndroidTestCase {
final Cursor cursor = mDatabase.queryRoots(rootColumns);
assertEquals(2, cursor.getCount());
cursor.moveToNext();
- assertEquals(5, getInt(cursor, Root.COLUMN_ROOT_ID));
+ assertEquals(1, getInt(cursor, Root.COLUMN_ROOT_ID));
assertEquals(2000, getInt(cursor, Root.COLUMN_AVAILABLE_BYTES));
cursor.moveToNext();
- assertEquals(6, getInt(cursor, Root.COLUMN_ROOT_ID));
+ assertEquals(2, getInt(cursor, Root.COLUMN_ROOT_ID));
assertEquals(3000, getInt(cursor, Root.COLUMN_AVAILABLE_BYTES));
cursor.close();
}
@@ -596,7 +596,7 @@ public class MtpDatabaseTest extends AndroidTestCase {
final Cursor cursor = mDatabase.queryRoots(rootColumns);
assertEquals(1, cursor.getCount());
cursor.moveToNext();
- assertEquals(2, getInt(cursor, Root.COLUMN_ROOT_ID));
+ assertEquals(1, getInt(cursor, Root.COLUMN_ROOT_ID));
assertEquals(3000, getInt(cursor, Root.COLUMN_AVAILABLE_BYTES));
cursor.close();
}
@@ -679,7 +679,7 @@ public class MtpDatabaseTest extends AndroidTestCase {
final Cursor cursor = mDatabase.queryRoots(columns);
assertEquals(1, cursor.getCount());
cursor.moveToNext();
- assertEquals(2, getInt(cursor, Root.COLUMN_ROOT_ID));
+ assertEquals(1, getInt(cursor, Root.COLUMN_ROOT_ID));
assertEquals("Device Storage B", getString(cursor, Root.COLUMN_TITLE));
assertEquals(1000, getInt(cursor, Root.COLUMN_AVAILABLE_BYTES));
cursor.close();
@@ -805,7 +805,7 @@ public class MtpDatabaseTest extends AndroidTestCase {
});
mDatabase.getMapper().stopAddingDocuments("1");
- assertEquals("1", mDatabase.getParentId("2"));
+ assertEquals("1", mDatabase.getParentIdentifier("2").mDocumentId);
}
public void testDeleteDocument() {
diff --git a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDocumentsProviderTest.java b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDocumentsProviderTest.java
index 7066f7d48401..360661270240 100644
--- a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDocumentsProviderTest.java
+++ b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDocumentsProviderTest.java
@@ -164,11 +164,11 @@ public class MtpDocumentsProviderTest extends AndroidTestCase {
final Cursor cursor = mProvider.queryRoots(null);
assertEquals(2, cursor.getCount());
cursor.moveToNext();
- assertEquals("3", cursor.getString(0));
+ assertEquals("1", cursor.getString(0));
assertEquals(Root.FLAG_SUPPORTS_IS_CHILD | Root.FLAG_SUPPORTS_CREATE, cursor.getInt(1));
assertEquals(R.drawable.ic_root_mtp, cursor.getInt(2));
assertEquals("Device A Storage A", cursor.getString(3));
- assertEquals("3", cursor.getString(4));
+ assertEquals("1", cursor.getString(4));
assertEquals(1024, cursor.getInt(5));
}
@@ -179,11 +179,11 @@ public class MtpDocumentsProviderTest extends AndroidTestCase {
assertEquals(2, cursor.getCount());
cursor.moveToNext();
cursor.moveToNext();
- assertEquals("4", cursor.getString(0));
+ assertEquals("2", cursor.getString(0));
assertEquals(Root.FLAG_SUPPORTS_IS_CHILD | Root.FLAG_SUPPORTS_CREATE, cursor.getInt(1));
assertEquals(R.drawable.ic_root_mtp, cursor.getInt(2));
assertEquals("Device B Storage B", cursor.getString(3));
- assertEquals("4", cursor.getString(4));
+ assertEquals("2", cursor.getString(4));
assertEquals(2048, cursor.getInt(5));
}
}
@@ -225,11 +225,11 @@ public class MtpDocumentsProviderTest extends AndroidTestCase {
assertEquals(0, cursor.getInt(5));
cursor.moveToNext();
- assertEquals("3", cursor.getString(0));
+ assertEquals("2", cursor.getString(0));
assertEquals(Root.FLAG_SUPPORTS_IS_CHILD | Root.FLAG_SUPPORTS_CREATE, cursor.getInt(1));
assertEquals(R.drawable.ic_root_mtp, cursor.getInt(2));
assertEquals("Device B Storage B", cursor.getString(3));
- assertEquals("3", cursor.getString(4));
+ assertEquals("2", cursor.getString(4));
assertEquals(2048, cursor.getInt(5));
}
}
diff --git a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/PipeManagerTest.java b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/PipeManagerTest.java
index ccdea033ab6c..4dfc785a54ec 100644
--- a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/PipeManagerTest.java
+++ b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/PipeManagerTest.java
@@ -44,13 +44,15 @@ public class PipeManagerTest extends AndroidTestCase {
public void testReadDocument_basic() throws Exception {
mtpManager.setImportFileBytes(0, 1, HELLO_BYTES);
final ParcelFileDescriptor descriptor = mPipeManager.readDocument(
- mtpManager, new Identifier(0, 0, 1, null));
+ mtpManager,
+ new Identifier(0, 0, 1, null, MtpDatabaseConstants.DOCUMENT_TYPE_OBJECT));
assertDescriptor(descriptor, HELLO_BYTES);
}
public void testReadDocument_error() throws Exception {
- final ParcelFileDescriptor descriptor =
- mPipeManager.readDocument(mtpManager, new Identifier(0, 0, 1, null));
+ final ParcelFileDescriptor descriptor = mPipeManager.readDocument(
+ mtpManager,
+ new Identifier(0, 0, 1, null, MtpDatabaseConstants.DOCUMENT_TYPE_OBJECT));
assertDescriptorError(descriptor);
}
@@ -62,7 +64,9 @@ public class PipeManagerTest extends AndroidTestCase {
// Upload testing bytes.
final ParcelFileDescriptor descriptor = mPipeManager.writeDocument(
- getContext(), mtpManager, new Identifier(0, 0, 1, null));
+ getContext(),
+ mtpManager,
+ new Identifier(0, 0, 1, null, MtpDatabaseConstants.DOCUMENT_TYPE_OBJECT));
final ParcelFileDescriptor.AutoCloseOutputStream outputStream =
new ParcelFileDescriptor.AutoCloseOutputStream(descriptor);
outputStream.write(HELLO_BYTES, 0, HELLO_BYTES.length);
@@ -94,13 +98,15 @@ public class PipeManagerTest extends AndroidTestCase {
public void testReadThumbnail_basic() throws Exception {
mtpManager.setThumbnail(0, 1, HELLO_BYTES);
final ParcelFileDescriptor descriptor = mPipeManager.readThumbnail(
- mtpManager, new Identifier(0, 0, 1, null));
+ mtpManager,
+ new Identifier(0, 0, 1, null, MtpDatabaseConstants.DOCUMENT_TYPE_OBJECT));
assertDescriptor(descriptor, HELLO_BYTES);
}
public void testReadThumbnail_error() throws Exception {
- final ParcelFileDescriptor descriptor =
- mPipeManager.readThumbnail(mtpManager, new Identifier(0, 0, 1, null));
+ final ParcelFileDescriptor descriptor = mPipeManager.readThumbnail(
+ mtpManager,
+ new Identifier(0, 0, 1, null, MtpDatabaseConstants.DOCUMENT_TYPE_OBJECT));
assertDescriptorError(descriptor);
}