summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorHai Zhang <zhanghai@google.com>2022-02-10 19:11:26 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-02-10 19:11:26 +0000
commitcedebbc921989752536407953d9823601af70bb2 (patch)
treebc60a54c8253e522f7d15bb45c7fd0b020831f4e /core/java
parentaba486282666e20b3ae08fe98f110d4cfa707eb6 (diff)
parent5255532157be0e85dbbe865bb01a4077ba6ffdca (diff)
Merge "Query only necessary columns in ChooserActivity.extractFileInfo()."
Diffstat (limited to 'core/java')
-rw-r--r--core/java/com/android/internal/app/ChooserActivity.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 4ae6bf7e8379..150eb6526908 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -217,6 +217,12 @@ public class ChooserActivity extends ResolverActivity implements
private static final int APP_PREDICTION_SHARE_TARGET_QUERY_PACKAGE_LIMIT = 20;
public static final String APP_PREDICTION_INTENT_FILTER_KEY = "intent_filter";
+ private static final String[] QUERY_FILE_INFO_PROJECTION = {
+ OpenableColumns.DISPLAY_NAME,
+ Downloads.Impl.COLUMN_TITLE,
+ DocumentsContract.Document.COLUMN_FLAGS
+ };
+
private static final String PLURALS_COUNT = "count";
private static final String PLURALS_FILE_NAME = "file_name";
@@ -1474,15 +1480,15 @@ public class ChooserActivity extends ResolverActivity implements
* and to avoid mocking Android core classes.
*/
@VisibleForTesting
- public Cursor queryResolver(ContentResolver resolver, Uri uri) {
- return resolver.query(uri, null, null, null, null);
+ public Cursor queryResolver(ContentResolver resolver, String[] projection, Uri uri) {
+ return resolver.query(uri, projection, null, null, null);
}
private FileInfo extractFileInfo(Uri uri, ContentResolver resolver) {
String fileName = null;
boolean hasThumbnail = false;
- try (Cursor cursor = queryResolver(resolver, uri)) {
+ try (Cursor cursor = queryResolver(resolver, QUERY_FILE_INFO_PROJECTION, uri)) {
if (cursor != null && cursor.getCount() > 0) {
int nameIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
int titleIndex = cursor.getColumnIndex(Downloads.Impl.COLUMN_TITLE);