Initial commit
This commit is contained in:
108
sources/com/bumptech/glide/load/model/UriLoader.java
Normal file
108
sources/com/bumptech/glide/load/model/UriLoader.java
Normal file
@@ -0,0 +1,108 @@
|
||||
package com.bumptech.glide.load.model;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.res.AssetFileDescriptor;
|
||||
import android.net.Uri;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import com.bumptech.glide.load.Options;
|
||||
import com.bumptech.glide.load.data.AssetFileDescriptorLocalUriFetcher;
|
||||
import com.bumptech.glide.load.data.DataFetcher;
|
||||
import com.bumptech.glide.load.data.FileDescriptorLocalUriFetcher;
|
||||
import com.bumptech.glide.load.data.StreamLocalUriFetcher;
|
||||
import com.bumptech.glide.load.model.ModelLoader;
|
||||
import com.bumptech.glide.signature.ObjectKey;
|
||||
import java.io.InputStream;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class UriLoader<Data> implements ModelLoader<Uri, Data> {
|
||||
private static final Set<String> b = Collections.unmodifiableSet(new HashSet(Arrays.asList("file", "android.resource", "content")));
|
||||
private final LocalUriFetcherFactory<Data> a;
|
||||
|
||||
public static final class AssetFileDescriptorFactory implements ModelLoaderFactory<Uri, AssetFileDescriptor>, LocalUriFetcherFactory<AssetFileDescriptor> {
|
||||
private final ContentResolver a;
|
||||
|
||||
public AssetFileDescriptorFactory(ContentResolver contentResolver) {
|
||||
this.a = contentResolver;
|
||||
}
|
||||
|
||||
@Override // com.bumptech.glide.load.model.ModelLoaderFactory
|
||||
public ModelLoader<Uri, AssetFileDescriptor> a(MultiModelLoaderFactory multiModelLoaderFactory) {
|
||||
return new UriLoader(this);
|
||||
}
|
||||
|
||||
@Override // com.bumptech.glide.load.model.ModelLoaderFactory
|
||||
public void a() {
|
||||
}
|
||||
|
||||
@Override // com.bumptech.glide.load.model.UriLoader.LocalUriFetcherFactory
|
||||
public DataFetcher<AssetFileDescriptor> a(Uri uri) {
|
||||
return new AssetFileDescriptorLocalUriFetcher(this.a, uri);
|
||||
}
|
||||
}
|
||||
|
||||
public static class FileDescriptorFactory implements ModelLoaderFactory<Uri, ParcelFileDescriptor>, LocalUriFetcherFactory<ParcelFileDescriptor> {
|
||||
private final ContentResolver a;
|
||||
|
||||
public FileDescriptorFactory(ContentResolver contentResolver) {
|
||||
this.a = contentResolver;
|
||||
}
|
||||
|
||||
@Override // com.bumptech.glide.load.model.UriLoader.LocalUriFetcherFactory
|
||||
public DataFetcher<ParcelFileDescriptor> a(Uri uri) {
|
||||
return new FileDescriptorLocalUriFetcher(this.a, uri);
|
||||
}
|
||||
|
||||
@Override // com.bumptech.glide.load.model.ModelLoaderFactory
|
||||
public void a() {
|
||||
}
|
||||
|
||||
@Override // com.bumptech.glide.load.model.ModelLoaderFactory
|
||||
public ModelLoader<Uri, ParcelFileDescriptor> a(MultiModelLoaderFactory multiModelLoaderFactory) {
|
||||
return new UriLoader(this);
|
||||
}
|
||||
}
|
||||
|
||||
public interface LocalUriFetcherFactory<Data> {
|
||||
DataFetcher<Data> a(Uri uri);
|
||||
}
|
||||
|
||||
public static class StreamFactory implements ModelLoaderFactory<Uri, InputStream>, LocalUriFetcherFactory<InputStream> {
|
||||
private final ContentResolver a;
|
||||
|
||||
public StreamFactory(ContentResolver contentResolver) {
|
||||
this.a = contentResolver;
|
||||
}
|
||||
|
||||
@Override // com.bumptech.glide.load.model.UriLoader.LocalUriFetcherFactory
|
||||
public DataFetcher<InputStream> a(Uri uri) {
|
||||
return new StreamLocalUriFetcher(this.a, uri);
|
||||
}
|
||||
|
||||
@Override // com.bumptech.glide.load.model.ModelLoaderFactory
|
||||
public void a() {
|
||||
}
|
||||
|
||||
@Override // com.bumptech.glide.load.model.ModelLoaderFactory
|
||||
public ModelLoader<Uri, InputStream> a(MultiModelLoaderFactory multiModelLoaderFactory) {
|
||||
return new UriLoader(this);
|
||||
}
|
||||
}
|
||||
|
||||
public UriLoader(LocalUriFetcherFactory<Data> localUriFetcherFactory) {
|
||||
this.a = localUriFetcherFactory;
|
||||
}
|
||||
|
||||
@Override // com.bumptech.glide.load.model.ModelLoader
|
||||
public ModelLoader.LoadData<Data> a(Uri uri, int i, int i2, Options options) {
|
||||
return new ModelLoader.LoadData<>(new ObjectKey(uri), this.a.a(uri));
|
||||
}
|
||||
|
||||
@Override // com.bumptech.glide.load.model.ModelLoader
|
||||
public boolean a(Uri uri) {
|
||||
return b.contains(uri.getScheme());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user