Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 78312be5 authored by Daichi Hirono's avatar Daichi Hirono Committed by Android (Google) Code Review
Browse files

Merge "Let MtpDatabase add device name to storage root."

parents afe97dd1 85a808bf
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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);
+9 −32
Original line number Diff line number Diff line
@@ -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();
    }