Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cedebbc9 authored by Hai Zhang's avatar Hai Zhang Committed by Android (Google) Code Review
Browse files

Merge "Query only necessary columns in ChooserActivity.extractFileInfo()."

parents aba48628 52555321
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -192,7 +192,7 @@ public class ChooserWrapperActivity extends ChooserActivity implements IChooserW
    }

    @Override
    public Cursor queryResolver(ContentResolver resolver, Uri uri) {
    public Cursor queryResolver(ContentResolver resolver, String[] projection, Uri uri) {
        if (sOverrides.resolverCursor != null) {
            return sOverrides.resolverCursor;
        }
@@ -201,7 +201,7 @@ public class ChooserWrapperActivity extends ChooserActivity implements IChooserW
            throw new SecurityException("Test exception handling");
        }

        return super.queryResolver(resolver, uri);
        return super.queryResolver(resolver, projection, uri);
    }

    @Override