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

Commit 85a808bf authored by Daichi Hirono's avatar Daichi Hirono
Browse files

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
parent 88d2f781
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -2,6 +2,7 @@ package com.android.mtp;


import android.content.ContentValues;
import android.content.ContentValues;
import android.content.Context;
import android.content.Context;
import android.content.res.Resources;
import android.database.Cursor;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteOpenHelper;
@@ -84,7 +85,7 @@ class MtpDatabase {
    }
    }


    @VisibleForTesting
    @VisibleForTesting
    void putRootDocument(MtpRoot root) throws Exception {
    void putRootDocument(Resources resources, MtpRoot root) throws Exception {
        database.beginTransaction();
        database.beginTransaction();
        try {
        try {
            final ContentValues values = new ContentValues();
            final ContentValues values = new ContentValues();
@@ -92,7 +93,7 @@ class MtpDatabase {
            values.put(COLUMN_STORAGE_ID, root.mStorageId);
            values.put(COLUMN_STORAGE_ID, root.mStorageId);
            values.putNull(COLUMN_OBJECT_HANDLE);
            values.putNull(COLUMN_OBJECT_HANDLE);
            values.put(Document.COLUMN_MIME_TYPE, DocumentsContract.Document.MIME_TYPE_DIR);
            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_SUMMARY);
            values.putNull(Document.COLUMN_LAST_MODIFIED);
            values.putNull(Document.COLUMN_LAST_MODIFIED);
            values.putNull(Document.COLUMN_ICON);
            values.putNull(Document.COLUMN_ICON);
+9 −32
Original line number Original line Diff line number Diff line
@@ -23,6 +23,8 @@ public class MtpDatabaseTest extends AndroidTestCase {
        DocumentsContract.Document.COLUMN_SIZE
        DocumentsContract.Document.COLUMN_SIZE
    };
    };


    private final TestResources resources = new TestResources();

    @Override
    @Override
    public void tearDown() {
    public void tearDown() {
        MtpDatabase.deleteDatabase(getContext());
        MtpDatabase.deleteDatabase(getContext());
@@ -30,35 +32,10 @@ public class MtpDatabaseTest extends AndroidTestCase {


    public void testPutRootDocument() throws Exception {
    public void testPutRootDocument() throws Exception {
        final MtpDatabase database = new MtpDatabase(getContext());
        final MtpDatabase database = new MtpDatabase(getContext());
        final MtpRoot root = new MtpRoot(
        database.putRootDocument(resources, new MtpRoot(0, 1, "Device", "Storage", 1000, 2000, ""));
                0,
        database.putRootDocument(resources, new MtpRoot(0, 2, "Device", "Storage", 1000, 2000, ""));
                1,
        database.putRootDocument(
                "Device A",
                resources, new MtpRoot(0, 3, "Device", "/@#%&<>Storage", 1000, 2000, ""));
                "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);


        final Cursor cursor = database.queryChildDocuments(COLUMN_NAMES);
        final Cursor cursor = database.queryChildDocuments(COLUMN_NAMES);
        assertEquals(3, cursor.getCount());
        assertEquals(3, cursor.getCount());
@@ -69,7 +46,7 @@ public class MtpDatabaseTest extends AndroidTestCase {
        assertEquals("storageId", 1, cursor.getInt(2));
        assertEquals("storageId", 1, cursor.getInt(2));
        assertTrue("objectHandle", cursor.isNull(3));
        assertTrue("objectHandle", cursor.isNull(3));
        assertEquals("mimeType", DocumentsContract.Document.MIME_TYPE_DIR, cursor.getString(4));
        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("summary", cursor.isNull(6));
        assertTrue("lastModified", cursor.isNull(7));
        assertTrue("lastModified", cursor.isNull(7));
        assertTrue("icon", cursor.isNull(8));
        assertTrue("icon", cursor.isNull(8));
@@ -78,11 +55,11 @@ public class MtpDatabaseTest extends AndroidTestCase {


        cursor.moveToNext();
        cursor.moveToNext();
        assertEquals("documentId", 2, cursor.getInt(0));
        assertEquals("documentId", 2, cursor.getInt(0));
        assertEquals("displayName", "Storage", cursor.getString(5));
        assertEquals("displayName", "Device Storage", cursor.getString(5));


        cursor.moveToNext();
        cursor.moveToNext();
        assertEquals("documentId", 3, cursor.getInt(0));
        assertEquals("documentId", 3, cursor.getInt(0));
        assertEquals("displayName", "/@#%&<>Storage", cursor.getString(5));
        assertEquals("displayName", "Device /@#%&<>Storage", cursor.getString(5));


        cursor.close();
        cursor.close();
    }
    }