private InputStream openThumbInputStream(ThumbnailStreamOpener fetcher) {
        InputStream result = null;
        try {
            result = fetcher.open(context, mediaStoreUri);
        } catch (FileNotFoundException e) {
            if (Log.isLoggable(TAG, Log.DEBUG)) {
                Log.d(TAG, "Failed to find thumbnail file", e);
            }
        }

        int orientation = -1;
        if (result != null) {
            orientation = fetcher.getOrientation(context, mediaStoreUri);
        }

        if (orientation != -1) {
            result = new ExifOrientationStream(result, orientation);
        }
        return result;
    }
A DataFetcher that retrieves an {@link InputStream} for a local Uri that may or may not be for a resource
in the media store. If the local Uri is for a resource in the media store and the size requested is less than or
equal to the media store thumbnail size, preferentially attempts to fetch data for the pre-generated media store
thumbs using {@link MediaStore.Images.Thumbnails} and
{@link MediaStore.Video.Thumbnails}.
core/src/main/java/com/bumptech/glide/load/data/MediaStoreThumbFetcher.java