diff options
| author | Hai Zhang <zhanghai@google.com> | 2022-02-10 19:11:26 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-02-10 19:11:26 +0000 |
| commit | cedebbc921989752536407953d9823601af70bb2 (patch) | |
| tree | bc60a54c8253e522f7d15bb45c7fd0b020831f4e /core/java | |
| parent | aba486282666e20b3ae08fe98f110d4cfa707eb6 (diff) | |
| parent | 5255532157be0e85dbbe865bb01a4077ba6ffdca (diff) | |
Merge "Query only necessary columns in ChooserActivity.extractFileInfo()."
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/app/ChooserActivity.java | 12 |
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); |
