From d5a6ec1008eb4854683498ce57119499b3a56893 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Fri, 21 Sep 2018 16:31:05 +0800 Subject: [PATCH] DocumentsProvider: correctly handle non-default projections --- .../shelter/util/CrossProfileDocumentsProvider.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/net/typeblog/shelter/util/CrossProfileDocumentsProvider.java b/app/src/main/java/net/typeblog/shelter/util/CrossProfileDocumentsProvider.java index b54bc53..c29c240 100644 --- a/app/src/main/java/net/typeblog/shelter/util/CrossProfileDocumentsProvider.java +++ b/app/src/main/java/net/typeblog/shelter/util/CrossProfileDocumentsProvider.java @@ -118,7 +118,7 @@ public class CrossProfileDocumentsProvider extends DocumentsProvider { @Override public Cursor queryRoots(String[] projection) { - final MatrixCursor result = new MatrixCursor(DEFAULT_ROOT_PROJECTION); + final MatrixCursor result = new MatrixCursor(projection == null ? DEFAULT_ROOT_PROJECTION : projection); final MatrixCursor.RowBuilder row = result.newRow(); row.add(DocumentsContract.Root.COLUMN_ROOT_ID, DUMMY_ROOT); row.add(DocumentsContract.Root.COLUMN_DOCUMENT_ID, DUMMY_ROOT); @@ -136,7 +136,7 @@ public class CrossProfileDocumentsProvider extends DocumentsProvider { @Override public Cursor queryDocument(String documentId, String[] projection) { ensureServiceBound(); - final MatrixCursor result = new MatrixCursor(DEFAULT_DOCUMENT_PROJECTION); + final MatrixCursor result = new MatrixCursor(projection == null ? DEFAULT_DOCUMENT_PROJECTION : projection); Map fileInfo = null; try { fileInfo = mService.loadFileMeta(documentId); @@ -156,7 +156,7 @@ public class CrossProfileDocumentsProvider extends DocumentsProvider { } catch (RemoteException e) { return null; } - final MatrixCursor result = new MatrixCursor(DEFAULT_DOCUMENT_PROJECTION); + final MatrixCursor result = new MatrixCursor(projection == null ? DEFAULT_DOCUMENT_PROJECTION : projection); // Allow receiving notification on create / delete result.setNotificationUri(getContext().getContentResolver(), DocumentsContract.buildDocumentUri(AUTHORITY, parentDocumentId));