Merge "Address Error Prone warnings." into nyc-andromeda-dev
diff --git a/src/com/android/documentsui/archives/ArchivesProvider.java b/src/com/android/documentsui/archives/ArchivesProvider.java
index 071d561..fb96337 100644
--- a/src/com/android/documentsui/archives/ArchivesProvider.java
+++ b/src/com/android/documentsui/archives/ArchivesProvider.java
@@ -149,14 +149,26 @@
             throws FileNotFoundException {
         final ArchiveId archiveId = ArchiveId.fromDocumentId(documentId);
         if (archiveId.mPath.equals("/")) {
-            final MatrixCursor cursor = new MatrixCursor(
-                    projection != null ? projection : Archive.DEFAULT_PROJECTION);
-            final RowBuilder row = cursor.newRow();
-            row.add(Document.COLUMN_DOCUMENT_ID, documentId);
-            row.add(Document.COLUMN_DISPLAY_NAME, "Archive");  // TODO: Translate.
-            row.add(Document.COLUMN_SIZE, 0);
-            row.add(Document.COLUMN_MIME_TYPE, Document.MIME_TYPE_DIR);
-            return cursor;
+            try (final Cursor archiveCursor = getContext().getContentResolver().query(
+                    archiveId.mArchiveUri,
+                    new String[] { Document.COLUMN_DISPLAY_NAME },
+                    null, null, null, null)) {
+                if (archiveCursor == null || !archiveCursor.moveToFirst()) {
+                    throw new FileNotFoundException(
+                            "Cannot resolve display name of the archive.");
+                }
+                final String displayName = archiveCursor.getString(
+                        archiveCursor.getColumnIndex(Document.COLUMN_DISPLAY_NAME));
+
+                final MatrixCursor cursor = new MatrixCursor(
+                        projection != null ? projection : Archive.DEFAULT_PROJECTION);
+                final RowBuilder row = cursor.newRow();
+                row.add(Document.COLUMN_DOCUMENT_ID, documentId);
+                row.add(Document.COLUMN_DISPLAY_NAME, displayName);
+                row.add(Document.COLUMN_SIZE, 0);
+                row.add(Document.COLUMN_MIME_TYPE, Document.MIME_TYPE_DIR);
+                return cursor;
+            }
         }
 
         Loader loader = null;