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;