Let MtpDatabase add device name to storage root.

We have added device name to storage root by ag/790395.
But the change was not added to MtpDatabase class.

BUG=25162822

Change-Id: I019a9cf770a91c43b4e2f4e81e74b40175fd4872
This commit is contained in:
Daichi Hirono
2015-10-27 17:22:13 +09:00
parent 88d2f781f0
commit 85a808bf96
2 changed files with 12 additions and 34 deletions

View File

@@ -2,6 +2,7 @@ package com.android.mtp;
import android.content.ContentValues;
import android.content.Context;
import android.content.res.Resources;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
@@ -84,7 +85,7 @@ class MtpDatabase {
}
@VisibleForTesting
void putRootDocument(MtpRoot root) throws Exception {
void putRootDocument(Resources resources, MtpRoot root) throws Exception {
database.beginTransaction();
try {
final ContentValues values = new ContentValues();
@@ -92,7 +93,7 @@ class MtpDatabase {
values.put(COLUMN_STORAGE_ID, root.mStorageId);
values.putNull(COLUMN_OBJECT_HANDLE);
values.put(Document.COLUMN_MIME_TYPE, DocumentsContract.Document.MIME_TYPE_DIR);
values.put(Document.COLUMN_DISPLAY_NAME, root.mDescription);
values.put(Document.COLUMN_DISPLAY_NAME, root.getRootName(resources));
values.putNull(Document.COLUMN_SUMMARY);
values.putNull(Document.COLUMN_LAST_MODIFIED);
values.putNull(Document.COLUMN_ICON);

View File

@@ -23,6 +23,8 @@ public class MtpDatabaseTest extends AndroidTestCase {
DocumentsContract.Document.COLUMN_SIZE
};
private final TestResources resources = new TestResources();
@Override
public void tearDown() {
MtpDatabase.deleteDatabase(getContext());
@@ -30,35 +32,10 @@ public class MtpDatabaseTest extends AndroidTestCase {
public void testPutRootDocument() throws Exception {
final MtpDatabase database = new MtpDatabase(getContext());
final MtpRoot root = new MtpRoot(
0,
1,
"Device A",
"Storage",
1000,
2000,
"");
database.putRootDocument(root);
final MtpRoot duplicatedNameRoot = new MtpRoot(
0,
2,
"Device A",
"Storage",
1000,
2000,
"");
database.putRootDocument(duplicatedNameRoot);
final MtpRoot strangeNameRoot = new MtpRoot(
0,
3,
"Device A",
"/@#%&<>Storage",
1000,
2000,
"");
database.putRootDocument(strangeNameRoot);
database.putRootDocument(resources, new MtpRoot(0, 1, "Device", "Storage", 1000, 2000, ""));
database.putRootDocument(resources, new MtpRoot(0, 2, "Device", "Storage", 1000, 2000, ""));
database.putRootDocument(
resources, new MtpRoot(0, 3, "Device", "/@#%&<>Storage", 1000, 2000, ""));
final Cursor cursor = database.queryChildDocuments(COLUMN_NAMES);
assertEquals(3, cursor.getCount());
@@ -69,7 +46,7 @@ public class MtpDatabaseTest extends AndroidTestCase {
assertEquals("storageId", 1, cursor.getInt(2));
assertTrue("objectHandle", cursor.isNull(3));
assertEquals("mimeType", DocumentsContract.Document.MIME_TYPE_DIR, cursor.getString(4));
assertEquals("displayName", "Storage", cursor.getString(5));
assertEquals("displayName", "Device Storage", cursor.getString(5));
assertTrue("summary", cursor.isNull(6));
assertTrue("lastModified", cursor.isNull(7));
assertTrue("icon", cursor.isNull(8));
@@ -78,11 +55,11 @@ public class MtpDatabaseTest extends AndroidTestCase {
cursor.moveToNext();
assertEquals("documentId", 2, cursor.getInt(0));
assertEquals("displayName", "Storage", cursor.getString(5));
assertEquals("displayName", "Device Storage", cursor.getString(5));
cursor.moveToNext();
assertEquals("documentId", 3, cursor.getInt(0));
assertEquals("displayName", "/@#%&<>Storage", cursor.getString(5));
assertEquals("displayName", "Device /@#%&<>Storage", cursor.getString(5));
cursor.close();
}