public DrawableTypeRequest<Uri> fromMediaStore() {
        ModelLoader<Uri, InputStream> genericStreamLoader = Glide.buildStreamModelLoader(Uri.class, context);
        ModelLoader<Uri, InputStream> mediaStoreLoader = new MediaStoreStreamLoader(context, genericStreamLoader);
        ModelLoader<Uri, ParcelFileDescriptor> fileDescriptorModelLoader =
                Glide.buildFileDescriptorModelLoader(Uri.class, context);

        return optionsApplier.apply(new DrawableTypeRequest<Uri>(Uri.class, mediaStoreLoader,
                fileDescriptorModelLoader, context, glide, requestTracker, lifecycle, optionsApplier));
    }
Returns a request builder that uses {@link android.provider.MediaStore.Images.Thumbnails} and
{@link android.provider.MediaStore.Video.Thumbnails} to retrieve pre-generated thumbnails for
{@link Uri}s.

<p>
 Falls back to the registered {@link com.bumptech.glide.load.model.ModelLoaderFactory} registered for
 {@link Uri}s if the given uri is not a media store uri or if no pre-generated thumbnail exists for the given
 uri.
</p>

<p>
    Note - This method by default caches data using the given Uri as the key. Since content in the media store
    can change at any time, you should use
    {@link GenericRequestBuilder#signature(Key)} to mix in some
    additional data identifying the current state of the Uri, preferably using
    {@link MediaStoreSignature}. Alternatively consider avoiding the memory and
    disk caches entirely using
    {@link GenericRequestBuilder#diskCacheStrategy(DiskCacheStrategy)}
    and {@link DiskCacheStrategy#NONE} and/or
    {@link GenericRequestBuilder#skipMemoryCache(boolean)}.
</p>

@see #from(Class)
@see #loadFromMediaStore(Uri, String, long, int)
@see #load(Uri)
@see MediaStoreSignature
core/src/main/java/com/bumptech/glide/RequestManager.java