83 lines
3.2 KiB
Java
83 lines
3.2 KiB
Java
package com.bumptech.glide.load.model;
|
|
|
|
import android.content.res.AssetManager;
|
|
import android.net.Uri;
|
|
import android.os.ParcelFileDescriptor;
|
|
import com.bumptech.glide.load.Options;
|
|
import com.bumptech.glide.load.data.DataFetcher;
|
|
import com.bumptech.glide.load.data.FileDescriptorAssetPathFetcher;
|
|
import com.bumptech.glide.load.data.StreamAssetPathFetcher;
|
|
import com.bumptech.glide.load.model.ModelLoader;
|
|
import com.bumptech.glide.signature.ObjectKey;
|
|
import java.io.InputStream;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class AssetUriLoader<Data> implements ModelLoader<Uri, Data> {
|
|
private static final int c = 22;
|
|
private final AssetManager a;
|
|
private final AssetFetcherFactory<Data> b;
|
|
|
|
public interface AssetFetcherFactory<Data> {
|
|
DataFetcher<Data> a(AssetManager assetManager, String str);
|
|
}
|
|
|
|
public static class FileDescriptorFactory implements ModelLoaderFactory<Uri, ParcelFileDescriptor>, AssetFetcherFactory<ParcelFileDescriptor> {
|
|
private final AssetManager a;
|
|
|
|
public FileDescriptorFactory(AssetManager assetManager) {
|
|
this.a = assetManager;
|
|
}
|
|
|
|
@Override // com.bumptech.glide.load.model.ModelLoaderFactory
|
|
public ModelLoader<Uri, ParcelFileDescriptor> a(MultiModelLoaderFactory multiModelLoaderFactory) {
|
|
return new AssetUriLoader(this.a, this);
|
|
}
|
|
|
|
@Override // com.bumptech.glide.load.model.ModelLoaderFactory
|
|
public void a() {
|
|
}
|
|
|
|
@Override // com.bumptech.glide.load.model.AssetUriLoader.AssetFetcherFactory
|
|
public DataFetcher<ParcelFileDescriptor> a(AssetManager assetManager, String str) {
|
|
return new FileDescriptorAssetPathFetcher(assetManager, str);
|
|
}
|
|
}
|
|
|
|
public static class StreamFactory implements ModelLoaderFactory<Uri, InputStream>, AssetFetcherFactory<InputStream> {
|
|
private final AssetManager a;
|
|
|
|
public StreamFactory(AssetManager assetManager) {
|
|
this.a = assetManager;
|
|
}
|
|
|
|
@Override // com.bumptech.glide.load.model.ModelLoaderFactory
|
|
public ModelLoader<Uri, InputStream> a(MultiModelLoaderFactory multiModelLoaderFactory) {
|
|
return new AssetUriLoader(this.a, this);
|
|
}
|
|
|
|
@Override // com.bumptech.glide.load.model.ModelLoaderFactory
|
|
public void a() {
|
|
}
|
|
|
|
@Override // com.bumptech.glide.load.model.AssetUriLoader.AssetFetcherFactory
|
|
public DataFetcher<InputStream> a(AssetManager assetManager, String str) {
|
|
return new StreamAssetPathFetcher(assetManager, str);
|
|
}
|
|
}
|
|
|
|
public AssetUriLoader(AssetManager assetManager, AssetFetcherFactory<Data> assetFetcherFactory) {
|
|
this.a = assetManager;
|
|
this.b = assetFetcherFactory;
|
|
}
|
|
|
|
@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.b.a(this.a, uri.toString().substring(c)));
|
|
}
|
|
|
|
@Override // com.bumptech.glide.load.model.ModelLoader
|
|
public boolean a(Uri uri) {
|
|
return "file".equals(uri.getScheme()) && !uri.getPathSegments().isEmpty() && "android_asset".equals(uri.getPathSegments().get(0));
|
|
}
|
|
}
|