jimu-decompiled/sources/com/bumptech/glide/load/model/UriLoader.java
2025-05-13 19:24:51 +02:00

109 lines
4.1 KiB
Java

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());
}
}