Java 类com.bumptech.glide.load.resource.transcode.ResourceTranscoder 实例源码

项目:GitHub    文件:Registry.java   
private <Data, TResource, Transcode> List<DecodePath<Data, TResource, Transcode>> getDecodePaths(
    Class<Data> dataClass, Class<TResource> resourceClass, Class<Transcode> transcodeClass) {

  List<DecodePath<Data, TResource, Transcode>> decodePaths = new ArrayList<>();
  List<Class<TResource>> registeredResourceClasses =
      decoderRegistry.getResourceClasses(dataClass, resourceClass);

  for (Class<TResource> registeredResourceClass : registeredResourceClasses) {
    List<Class<Transcode>> registeredTranscodeClasses =
        transcoderRegistry.getTranscodeClasses(registeredResourceClass, transcodeClass);

    for (Class<Transcode> registeredTranscodeClass : registeredTranscodeClasses) {

      List<ResourceDecoder<Data, TResource>> decoders =
          decoderRegistry.getDecoders(dataClass, registeredResourceClass);
      ResourceTranscoder<TResource, Transcode> transcoder =
          transcoderRegistry.get(registeredResourceClass, registeredTranscodeClass);
      decodePaths.add(new DecodePath<>(dataClass, registeredResourceClass,
          registeredTranscodeClass, decoders, transcoder, exceptionListPool));
    }
  }
  return decodePaths;
}
项目:GitHub    文件:Registry.java   
private <Data, TResource, Transcode> List<DecodePath<Data, TResource, Transcode>> getDecodePaths(
    Class<Data> dataClass, Class<TResource> resourceClass, Class<Transcode> transcodeClass) {

  List<DecodePath<Data, TResource, Transcode>> decodePaths = new ArrayList<>();
  List<Class<TResource>> registeredResourceClasses =
      decoderRegistry.getResourceClasses(dataClass, resourceClass);

  for (Class<TResource> registeredResourceClass : registeredResourceClasses) {
    List<Class<Transcode>> registeredTranscodeClasses =
        transcoderRegistry.getTranscodeClasses(registeredResourceClass, transcodeClass);

    for (Class<Transcode> registeredTranscodeClass : registeredTranscodeClasses) {

      List<ResourceDecoder<Data, TResource>> decoders =
          decoderRegistry.getDecoders(dataClass, registeredResourceClass);
      ResourceTranscoder<TResource, Transcode> transcoder =
          transcoderRegistry.get(registeredResourceClass, registeredTranscodeClass);
      decodePaths.add(new DecodePath<>(dataClass, registeredResourceClass,
          registeredTranscodeClass, decoders, transcoder, throwableListPool));
    }
  }
  return decodePaths;
}
项目:saarang-iosched    文件:GenericRequest.java   
@Override
public void onSizeReady(int width, int height) {
    if (isCancelled) {
        return;
    }

    width = Math.round(sizeMultiplier * width);
    height = Math.round(sizeMultiplier * height);
    ResourceDecoder<InputStream, Z> cacheDecoder = loadProvider.getCacheDecoder();
    ResourceDecoder<T, Z> decoder = loadProvider.getSourceDecoder();
    ResourceEncoder <Z> encoder = loadProvider.getEncoder();
    ResourceTranscoder<Z, R> transcoder = loadProvider.getTranscoder();
    ModelLoader<A, T> modelLoader = loadProvider.getModelLoader();

    final String id = modelLoader.getId(model);
    final DataFetcher<T> dataFetcher = modelLoader.getResourceFetcher(model, width, height);

    loadedFromMemoryCache = true;
    loadStatus = engine.load(id, width, height, cacheDecoder, dataFetcher, decoder, transformation,
            encoder, transcoder, priority, isMemoryCacheable, this);
    loadedFromMemoryCache = resource != null;
}
项目:AppDevFestSudeste2015    文件:GenericRequest.java   
@Override
public void onSizeReady(int width, int height) {
    if (isCancelled) {
        return;
    }

    width = Math.round(sizeMultiplier * width);
    height = Math.round(sizeMultiplier * height);
    ResourceDecoder<InputStream, Z> cacheDecoder = loadProvider.getCacheDecoder();
    ResourceDecoder<T, Z> decoder = loadProvider.getSourceDecoder();
    ResourceEncoder <Z> encoder = loadProvider.getEncoder();
    ResourceTranscoder<Z, R> transcoder = loadProvider.getTranscoder();
    ModelLoader<A, T> modelLoader = loadProvider.getModelLoader();

    final String id = modelLoader.getId(model);
    final DataFetcher<T> dataFetcher = modelLoader.getResourceFetcher(model, width, height);

    loadedFromMemoryCache = true;
    loadStatus = engine.load(id, width, height, cacheDecoder, dataFetcher, decoder, transformation,
            encoder, transcoder, priority, isMemoryCacheable, this);
    loadedFromMemoryCache = resource != null;
}
项目:devfestnorte-app    文件:GenericRequest.java   
@Override
public void onSizeReady(int width, int height) {
    if (isCancelled) {
        return;
    }

    width = Math.round(sizeMultiplier * width);
    height = Math.round(sizeMultiplier * height);
    ResourceDecoder<InputStream, Z> cacheDecoder = loadProvider.getCacheDecoder();
    ResourceDecoder<T, Z> decoder = loadProvider.getSourceDecoder();
    ResourceEncoder <Z> encoder = loadProvider.getEncoder();
    ResourceTranscoder<Z, R> transcoder = loadProvider.getTranscoder();
    ModelLoader<A, T> modelLoader = loadProvider.getModelLoader();

    final String id = modelLoader.getId(model);
    final DataFetcher<T> dataFetcher = modelLoader.getResourceFetcher(model, width, height);

    loadedFromMemoryCache = true;
    loadStatus = engine.load(id, width, height, cacheDecoder, dataFetcher, decoder, transformation,
            encoder, transcoder, priority, isMemoryCacheable, this);
    loadedFromMemoryCache = resource != null;
}
项目:saarang-iosched    文件:GenericRequest.java   
@Override
public void onSizeReady(int width, int height) {
    if (isCancelled) {
        return;
    }

    width = Math.round(sizeMultiplier * width);
    height = Math.round(sizeMultiplier * height);
    ResourceDecoder<InputStream, Z> cacheDecoder = loadProvider.getCacheDecoder();
    ResourceDecoder<T, Z> decoder = loadProvider.getSourceDecoder();
    ResourceEncoder <Z> encoder = loadProvider.getEncoder();
    ResourceTranscoder<Z, R> transcoder = loadProvider.getTranscoder();
    ModelLoader<A, T> modelLoader = loadProvider.getModelLoader();

    final String id = modelLoader.getId(model);
    final DataFetcher<T> dataFetcher = modelLoader.getResourceFetcher(model, width, height);

    loadedFromMemoryCache = true;
    loadStatus = engine.load(id, width, height, cacheDecoder, dataFetcher, decoder, transformation,
            encoder, transcoder, priority, isMemoryCacheable, this);
    loadedFromMemoryCache = resource != null;
}
项目:GitHub    文件:DecodePath.java   
public DecodePath(Class<DataType> dataClass, Class<ResourceType> resourceClass,
    Class<Transcode> transcodeClass,
    List<? extends ResourceDecoder<DataType, ResourceType>> decoders,
    ResourceTranscoder<ResourceType, Transcode> transcoder, Pool<List<Exception>> listPool) {
  this.dataClass = dataClass;
  this.decoders = decoders;
  this.transcoder = transcoder;
  this.listPool = listPool;
  failureMessage = "Failed DecodePath{" + dataClass.getSimpleName() + "->"
      + resourceClass.getSimpleName() + "->" + transcodeClass.getSimpleName() + "}";
}
项目:GitHub    文件:DecodePath.java   
public DecodePath(Class<DataType> dataClass, Class<ResourceType> resourceClass,
    Class<Transcode> transcodeClass,
    List<? extends ResourceDecoder<DataType, ResourceType>> decoders,
    ResourceTranscoder<ResourceType, Transcode> transcoder, Pool<List<Throwable>> listPool) {
  this.dataClass = dataClass;
  this.decoders = decoders;
  this.transcoder = transcoder;
  this.listPool = listPool;
  failureMessage = "Failed DecodePath{" + dataClass.getSimpleName() + "->"
      + resourceClass.getSimpleName() + "->" + transcodeClass.getSimpleName() + "}";
}
项目:saarang-iosched    文件:GenericTranscodeRequest.java   
GenericTranscodeRequest(Context context, Glide glide, A model, ModelLoader<A, T> modelLoader,
        Class<T> dataClass, Class<Z> resourceClass) {
    super(context, model,
            build(glide, modelLoader, dataClass, resourceClass, (ResourceTranscoder<Z, Z>) null),
            resourceClass, glide);
    this.context = context;
    this.model = model;
    this.glide = glide;
    this.modelLoader = modelLoader;
    this.dataClass = dataClass;
    this.resourceClass = resourceClass;
}
项目:saarang-iosched    文件:GenericTranscodeRequest.java   
private static <A, T, Z, R> LoadProvider<A, T, Z, R> build(Glide glide, ModelLoader<A, T> modelLoader,
        Class<T> dataClass, Class<Z> resourceClass, ResourceTranscoder<Z, R> transcoder) {
    if (transcoder == null) {
        transcoder = UnitTranscoder.get();
    }
    return new FixedLoadProvider<A, T, Z, R>(modelLoader, transcoder,
            glide.buildDataProvider(dataClass, resourceClass));
}
项目:saarang-iosched    文件:DrawableTypeRequest.java   
private static <A, Z, R> FixedLoadProvider<A, ImageVideoWrapper, Z, R> buildProvider(Glide glide,
        ModelLoader<A, InputStream> streamModelLoader,
        ModelLoader<A, ParcelFileDescriptor> fileDescriptorModelLoader, Class<Z> resourceClass,
        Class<R> transcodedClass,
        ResourceTranscoder<Z, R> transcoder) {
        return streamModelLoader == null && fileDescriptorModelLoader == null ? null :
                new FixedLoadProvider<A, ImageVideoWrapper, Z, R>(
                        new ImageVideoModelLoader<A>(streamModelLoader, fileDescriptorModelLoader),
                        transcoder != null ? transcoder : glide.buildTranscoder(resourceClass, transcodedClass),
                        glide.buildDataProvider(ImageVideoWrapper.class, resourceClass));
}
项目:saarang-iosched    文件:SourceResourceRunner.java   
public SourceResourceRunner(Key key, int width, int height, DataFetcher<T> dataFetcher,
        ResourceDecoder<T, Z> decoder, Transformation<Z> transformation, ResourceEncoder<Z> encoder,
        ResourceTranscoder<Z, R> transcoder, DiskCache diskCache, Priority priority, ResourceCallback cb) {
    this.key = key;
    this.width = width;
    this.height = height;
    this.fetcher = dataFetcher;
    this.decoder = decoder;
    this.transformation = transformation;
    this.encoder = encoder;
    this.transcoder = transcoder;
    this.diskCache = diskCache;
    this.priority = priority;
    this.cb = cb;
}
项目:saarang-iosched    文件:EngineKey.java   
public EngineKey(String id, int width, int height, ResourceDecoder cacheDecoder, ResourceDecoder decoder,
        Transformation transformation, ResourceEncoder encoder, ResourceTranscoder transcoder) {
    this.id = id;
    this.width = width;
    this.height = height;
    this.cacheDecoder = cacheDecoder;
    this.decoder = decoder;
    this.transformation = transformation;
    this.encoder = encoder;
    this.transcoder = transcoder;
}
项目:saarang-iosched    文件:ResourceRunner.java   
public ResourceRunner(Key key, int width, int height, DiskCache diskCache,
        ResourceDecoder<InputStream, Z> cacheDecoder, ResourceTranscoder<Z, R> transcoder,
        SourceResourceRunner sourceRunner, ExecutorService executorService, Handler bgHandler, EngineJob job) {
    this.key = key;
    this.width = width;
    this.height = height;
    this.diskCache = diskCache;
    this.cacheDecoder = cacheDecoder;
    this.transcoder = transcoder;
    this.sourceRunner = sourceRunner;
    this.executorService = executorService;
    this.bgHandler = bgHandler;
    this.job = job;
}
项目:saarang-iosched    文件:Engine.java   
/**
 *
 * @param id A unique id for the model, dimensions, cache decoder, decoder, and encoder
 * @param cacheDecoder
 * @param fetcher
 * @param decoder
 * @param encoder
 * @param transcoder
 * @param priority
 * @param <T> The type of data the resource will be decoded from.
 * @param <Z> The type of the resource that will be decoded.
 * @param <R> The type of the resource that will be transcoded from the decoded resource.
 */
public <T, Z, R> LoadStatus load(String id, int width, int height, ResourceDecoder<InputStream, Z> cacheDecoder,
        DataFetcher<T> fetcher, ResourceDecoder<T, Z> decoder,  Transformation<Z> transformation,
        ResourceEncoder<Z> encoder, ResourceTranscoder<Z, R> transcoder, Priority priority,
        boolean isMemoryCacheable, ResourceCallback cb) {

    Key key = keyFactory.buildKey(id, width, height, cacheDecoder, decoder, transformation, encoder, transcoder);

    Resource cached = cache.get(key);
    if (cached != null) {
        cached.acquire(1);
        cb.onResourceReady(cached);
        return null;
    }

    ResourceRunner current = runners.get(key);
    if (current != null) {
        EngineJob job = current.getJob();
        job.addCallback(cb);
        return new LoadStatus(cb, job);
    }

    ResourceRunner<Z, R> runner = factory.build(key, width, height, cacheDecoder, fetcher, decoder, transformation,
            encoder, transcoder, priority, isMemoryCacheable, this);
    runner.getJob().addCallback(cb);
    runners.put(key, runner);
    runner.queue();
    return new LoadStatus(cb, runner.getJob());
}
项目:saarang-iosched    文件:DefaultResourceRunnerFactory.java   
@Override
public <T, Z, R> ResourceRunner<Z, R> build(Key key, int width, int height,
        ResourceDecoder<InputStream, Z> cacheDecoder, DataFetcher<T> fetcher, ResourceDecoder<T, Z> decoder,
        Transformation<Z> transformation, ResourceEncoder<Z> encoder, ResourceTranscoder<Z, R> transcoder,
        Priority priority, boolean isMemoryCacheable, EngineJobListener listener) {

    EngineJob engineJob = new EngineJob(key, memoryCache, mainHandler, isMemoryCacheable, listener);

    SourceResourceRunner<T, Z, R> sourceRunner = new SourceResourceRunner<T, Z, R>(key, width, height, fetcher,
            decoder, transformation, encoder, transcoder, diskCache, priority, engineJob);

    return new ResourceRunner<Z, R>(key, width, height, diskCache, cacheDecoder, transcoder, sourceRunner, service,
            bgHandler, engineJob);
}
项目:saarang-iosched    文件:BitmapTypeRequest.java   
private static <A, R> FixedLoadProvider<A, ImageVideoWrapper, Bitmap, R> buildProvider(Glide glide,
        ModelLoader<A, InputStream> streamModelLoader,
        ModelLoader<A, ParcelFileDescriptor> fileDescriptorModelLoader,
        Class<R> transcodedClass,
        ResourceTranscoder<Bitmap, R> transcoder) {
        return streamModelLoader == null && fileDescriptorModelLoader == null ? null :
                new FixedLoadProvider<A, ImageVideoWrapper, Bitmap, R>(
                        new ImageVideoModelLoader<A>(streamModelLoader, fileDescriptorModelLoader),
                        transcoder != null ? transcoder : glide.buildTranscoder(Bitmap.class, transcodedClass),
                        glide.buildDataProvider(ImageVideoWrapper.class, Bitmap.class));
}
项目:saarang-iosched    文件:ChildLoadProvider.java   
@Override
public ResourceTranscoder<Z, R> getTranscoder() {
    if (transcoder != null) {
        return transcoder;
    } else {
        return parent.getTranscoder();
    }
}
项目:saarang-iosched    文件:FixedLoadProvider.java   
public FixedLoadProvider(ModelLoader<A, T> modelLoader, ResourceTranscoder<Z, R> transcoder,
        DataLoadProvider<T, Z> dataLoadProvider) {
    if (modelLoader == null) {
        throw new NullPointerException("ModelLoader must not be null");
    }
    this.modelLoader = modelLoader;
    if (transcoder == null) {
        throw new NullPointerException("Transcoder must not be null");
    }
    this.transcoder = transcoder;
    if (dataLoadProvider == null) {
        throw new NullPointerException("DataLoadProvider must not be null");
    }
    this.dataLoadProvider = dataLoadProvider;
}
项目:AppDevFestSudeste2015    文件:GenericTranscodeRequest.java   
GenericTranscodeRequest(Context context, Glide glide, A model, ModelLoader<A, T> modelLoader,
        Class<T> dataClass, Class<Z> resourceClass) {
    super(context, model,
            build(glide, modelLoader, dataClass, resourceClass, (ResourceTranscoder<Z, Z>) null),
            resourceClass, glide);
    this.context = context;
    this.model = model;
    this.glide = glide;
    this.modelLoader = modelLoader;
    this.dataClass = dataClass;
    this.resourceClass = resourceClass;
}
项目:AppDevFestSudeste2015    文件:GenericTranscodeRequest.java   
private static <A, T, Z, R> LoadProvider<A, T, Z, R> build(Glide glide, ModelLoader<A, T> modelLoader,
        Class<T> dataClass, Class<Z> resourceClass, ResourceTranscoder<Z, R> transcoder) {
    if (transcoder == null) {
        transcoder = UnitTranscoder.get();
    }
    return new FixedLoadProvider<A, T, Z, R>(modelLoader, transcoder,
            glide.buildDataProvider(dataClass, resourceClass));
}
项目:AppDevFestSudeste2015    文件:DrawableTypeRequest.java   
private static <A, Z, R> FixedLoadProvider<A, ImageVideoWrapper, Z, R> buildProvider(Glide glide,
        ModelLoader<A, InputStream> streamModelLoader,
        ModelLoader<A, ParcelFileDescriptor> fileDescriptorModelLoader, Class<Z> resourceClass,
        Class<R> transcodedClass,
        ResourceTranscoder<Z, R> transcoder) {
        return streamModelLoader == null && fileDescriptorModelLoader == null ? null :
                new FixedLoadProvider<A, ImageVideoWrapper, Z, R>(
                        new ImageVideoModelLoader<A>(streamModelLoader, fileDescriptorModelLoader),
                        transcoder != null ? transcoder : glide.buildTranscoder(resourceClass, transcodedClass),
                        glide.buildDataProvider(ImageVideoWrapper.class, resourceClass));
}
项目:AppDevFestSudeste2015    文件:SourceResourceRunner.java   
public SourceResourceRunner(Key key, int width, int height, DataFetcher<T> dataFetcher,
        ResourceDecoder<T, Z> decoder, Transformation<Z> transformation, ResourceEncoder<Z> encoder,
        ResourceTranscoder<Z, R> transcoder, DiskCache diskCache, Priority priority, ResourceCallback cb) {
    this.key = key;
    this.width = width;
    this.height = height;
    this.fetcher = dataFetcher;
    this.decoder = decoder;
    this.transformation = transformation;
    this.encoder = encoder;
    this.transcoder = transcoder;
    this.diskCache = diskCache;
    this.priority = priority;
    this.cb = cb;
}
项目:AppDevFestSudeste2015    文件:EngineKey.java   
public EngineKey(String id, int width, int height, ResourceDecoder cacheDecoder, ResourceDecoder decoder,
        Transformation transformation, ResourceEncoder encoder, ResourceTranscoder transcoder) {
    this.id = id;
    this.width = width;
    this.height = height;
    this.cacheDecoder = cacheDecoder;
    this.decoder = decoder;
    this.transformation = transformation;
    this.encoder = encoder;
    this.transcoder = transcoder;
}
项目:AppDevFestSudeste2015    文件:ResourceRunner.java   
public ResourceRunner(Key key, int width, int height, DiskCache diskCache,
        ResourceDecoder<InputStream, Z> cacheDecoder, ResourceTranscoder<Z, R> transcoder,
        SourceResourceRunner sourceRunner, ExecutorService executorService, Handler bgHandler, EngineJob job) {
    this.key = key;
    this.width = width;
    this.height = height;
    this.diskCache = diskCache;
    this.cacheDecoder = cacheDecoder;
    this.transcoder = transcoder;
    this.sourceRunner = sourceRunner;
    this.executorService = executorService;
    this.bgHandler = bgHandler;
    this.job = job;
}
项目:AppDevFestSudeste2015    文件:Engine.java   
/**
 *
 * @param id A unique id for the model, dimensions, cache decoder, decoder, and encoder
 * @param cacheDecoder
 * @param fetcher
 * @param decoder
 * @param encoder
 * @param transcoder
 * @param priority
 * @param <T> The type of data the resource will be decoded from.
 * @param <Z> The type of the resource that will be decoded.
 * @param <R> The type of the resource that will be transcoded from the decoded resource.
 */
public <T, Z, R> LoadStatus load(String id, int width, int height, ResourceDecoder<InputStream, Z> cacheDecoder,
        DataFetcher<T> fetcher, ResourceDecoder<T, Z> decoder,  Transformation<Z> transformation,
        ResourceEncoder<Z> encoder, ResourceTranscoder<Z, R> transcoder, Priority priority,
        boolean isMemoryCacheable, ResourceCallback cb) {

    Key key = keyFactory.buildKey(id, width, height, cacheDecoder, decoder, transformation, encoder, transcoder);

    Resource cached = cache.get(key);
    if (cached != null) {
        cached.acquire(1);
        cb.onResourceReady(cached);
        return null;
    }

    ResourceRunner current = runners.get(key);
    if (current != null) {
        EngineJob job = current.getJob();
        job.addCallback(cb);
        return new LoadStatus(cb, job);
    }

    ResourceRunner<Z, R> runner = factory.build(key, width, height, cacheDecoder, fetcher, decoder, transformation,
            encoder, transcoder, priority, isMemoryCacheable, this);
    runner.getJob().addCallback(cb);
    runners.put(key, runner);
    runner.queue();
    return new LoadStatus(cb, runner.getJob());
}
项目:AppDevFestSudeste2015    文件:DefaultResourceRunnerFactory.java   
@Override
public <T, Z, R> ResourceRunner<Z, R> build(Key key, int width, int height,
        ResourceDecoder<InputStream, Z> cacheDecoder, DataFetcher<T> fetcher, ResourceDecoder<T, Z> decoder,
        Transformation<Z> transformation, ResourceEncoder<Z> encoder, ResourceTranscoder<Z, R> transcoder,
        Priority priority, boolean isMemoryCacheable, EngineJobListener listener) {

    EngineJob engineJob = new EngineJob(key, memoryCache, mainHandler, isMemoryCacheable, listener);

    SourceResourceRunner<T, Z, R> sourceRunner = new SourceResourceRunner<T, Z, R>(key, width, height, fetcher,
            decoder, transformation, encoder, transcoder, diskCache, priority, engineJob);

    return new ResourceRunner<Z, R>(key, width, height, diskCache, cacheDecoder, transcoder, sourceRunner, service,
            bgHandler, engineJob);
}
项目:AppDevFestSudeste2015    文件:BitmapTypeRequest.java   
private static <A, R> FixedLoadProvider<A, ImageVideoWrapper, Bitmap, R> buildProvider(Glide glide,
        ModelLoader<A, InputStream> streamModelLoader,
        ModelLoader<A, ParcelFileDescriptor> fileDescriptorModelLoader,
        Class<R> transcodedClass,
        ResourceTranscoder<Bitmap, R> transcoder) {
        return streamModelLoader == null && fileDescriptorModelLoader == null ? null :
                new FixedLoadProvider<A, ImageVideoWrapper, Bitmap, R>(
                        new ImageVideoModelLoader<A>(streamModelLoader, fileDescriptorModelLoader),
                        transcoder != null ? transcoder : glide.buildTranscoder(Bitmap.class, transcodedClass),
                        glide.buildDataProvider(ImageVideoWrapper.class, Bitmap.class));
}
项目:AppDevFestSudeste2015    文件:ChildLoadProvider.java   
@Override
public ResourceTranscoder<Z, R> getTranscoder() {
    if (transcoder != null) {
        return transcoder;
    } else {
        return parent.getTranscoder();
    }
}
项目:AppDevFestSudeste2015    文件:FixedLoadProvider.java   
public FixedLoadProvider(ModelLoader<A, T> modelLoader, ResourceTranscoder<Z, R> transcoder,
        DataLoadProvider<T, Z> dataLoadProvider) {
    if (modelLoader == null) {
        throw new NullPointerException("ModelLoader must not be null");
    }
    this.modelLoader = modelLoader;
    if (transcoder == null) {
        throw new NullPointerException("Transcoder must not be null");
    }
    this.transcoder = transcoder;
    if (dataLoadProvider == null) {
        throw new NullPointerException("DataLoadProvider must not be null");
    }
    this.dataLoadProvider = dataLoadProvider;
}
项目:devfestnorte-app    文件:GenericTranscodeRequest.java   
GenericTranscodeRequest(Context context, Glide glide, A model, ModelLoader<A, T> modelLoader,
        Class<T> dataClass, Class<Z> resourceClass) {
    super(context, model,
            build(glide, modelLoader, dataClass, resourceClass, (ResourceTranscoder<Z, Z>) null),
            resourceClass, glide);
    this.context = context;
    this.model = model;
    this.glide = glide;
    this.modelLoader = modelLoader;
    this.dataClass = dataClass;
    this.resourceClass = resourceClass;
}
项目:devfestnorte-app    文件:GenericTranscodeRequest.java   
private static <A, T, Z, R> LoadProvider<A, T, Z, R> build(Glide glide, ModelLoader<A, T> modelLoader,
        Class<T> dataClass, Class<Z> resourceClass, ResourceTranscoder<Z, R> transcoder) {
    if (transcoder == null) {
        transcoder = UnitTranscoder.get();
    }
    return new FixedLoadProvider<A, T, Z, R>(modelLoader, transcoder,
            glide.buildDataProvider(dataClass, resourceClass));
}
项目:devfestnorte-app    文件:DrawableTypeRequest.java   
private static <A, Z, R> FixedLoadProvider<A, ImageVideoWrapper, Z, R> buildProvider(Glide glide,
        ModelLoader<A, InputStream> streamModelLoader,
        ModelLoader<A, ParcelFileDescriptor> fileDescriptorModelLoader, Class<Z> resourceClass,
        Class<R> transcodedClass,
        ResourceTranscoder<Z, R> transcoder) {
        return streamModelLoader == null && fileDescriptorModelLoader == null ? null :
                new FixedLoadProvider<A, ImageVideoWrapper, Z, R>(
                        new ImageVideoModelLoader<A>(streamModelLoader, fileDescriptorModelLoader),
                        transcoder != null ? transcoder : glide.buildTranscoder(resourceClass, transcodedClass),
                        glide.buildDataProvider(ImageVideoWrapper.class, resourceClass));
}
项目:devfestnorte-app    文件:SourceResourceRunner.java   
public SourceResourceRunner(Key key, int width, int height, DataFetcher<T> dataFetcher,
        ResourceDecoder<T, Z> decoder, Transformation<Z> transformation, ResourceEncoder<Z> encoder,
        ResourceTranscoder<Z, R> transcoder, DiskCache diskCache, Priority priority, ResourceCallback cb) {
    this.key = key;
    this.width = width;
    this.height = height;
    this.fetcher = dataFetcher;
    this.decoder = decoder;
    this.transformation = transformation;
    this.encoder = encoder;
    this.transcoder = transcoder;
    this.diskCache = diskCache;
    this.priority = priority;
    this.cb = cb;
}
项目:devfestnorte-app    文件:EngineKey.java   
public EngineKey(String id, int width, int height, ResourceDecoder cacheDecoder, ResourceDecoder decoder,
        Transformation transformation, ResourceEncoder encoder, ResourceTranscoder transcoder) {
    this.id = id;
    this.width = width;
    this.height = height;
    this.cacheDecoder = cacheDecoder;
    this.decoder = decoder;
    this.transformation = transformation;
    this.encoder = encoder;
    this.transcoder = transcoder;
}
项目:devfestnorte-app    文件:ResourceRunner.java   
public ResourceRunner(Key key, int width, int height, DiskCache diskCache,
        ResourceDecoder<InputStream, Z> cacheDecoder, ResourceTranscoder<Z, R> transcoder,
        SourceResourceRunner sourceRunner, ExecutorService executorService, Handler bgHandler, EngineJob job) {
    this.key = key;
    this.width = width;
    this.height = height;
    this.diskCache = diskCache;
    this.cacheDecoder = cacheDecoder;
    this.transcoder = transcoder;
    this.sourceRunner = sourceRunner;
    this.executorService = executorService;
    this.bgHandler = bgHandler;
    this.job = job;
}
项目:devfestnorte-app    文件:Engine.java   
/**
 *
 * @param id A unique id for the model, dimensions, cache decoder, decoder, and encoder
 * @param cacheDecoder
 * @param fetcher
 * @param decoder
 * @param encoder
 * @param transcoder
 * @param priority
 * @param <T> The type of data the resource will be decoded from.
 * @param <Z> The type of the resource that will be decoded.
 * @param <R> The type of the resource that will be transcoded from the decoded resource.
 */
public <T, Z, R> LoadStatus load(String id, int width, int height, ResourceDecoder<InputStream, Z> cacheDecoder,
        DataFetcher<T> fetcher, ResourceDecoder<T, Z> decoder,  Transformation<Z> transformation,
        ResourceEncoder<Z> encoder, ResourceTranscoder<Z, R> transcoder, Priority priority,
        boolean isMemoryCacheable, ResourceCallback cb) {

    Key key = keyFactory.buildKey(id, width, height, cacheDecoder, decoder, transformation, encoder, transcoder);

    Resource cached = cache.get(key);
    if (cached != null) {
        cached.acquire(1);
        cb.onResourceReady(cached);
        return null;
    }

    ResourceRunner current = runners.get(key);
    if (current != null) {
        EngineJob job = current.getJob();
        job.addCallback(cb);
        return new LoadStatus(cb, job);
    }

    ResourceRunner<Z, R> runner = factory.build(key, width, height, cacheDecoder, fetcher, decoder, transformation,
            encoder, transcoder, priority, isMemoryCacheable, this);
    runner.getJob().addCallback(cb);
    runners.put(key, runner);
    runner.queue();
    return new LoadStatus(cb, runner.getJob());
}
项目:devfestnorte-app    文件:DefaultResourceRunnerFactory.java   
@Override
public <T, Z, R> ResourceRunner<Z, R> build(Key key, int width, int height,
        ResourceDecoder<InputStream, Z> cacheDecoder, DataFetcher<T> fetcher, ResourceDecoder<T, Z> decoder,
        Transformation<Z> transformation, ResourceEncoder<Z> encoder, ResourceTranscoder<Z, R> transcoder,
        Priority priority, boolean isMemoryCacheable, EngineJobListener listener) {

    EngineJob engineJob = new EngineJob(key, memoryCache, mainHandler, isMemoryCacheable, listener);

    SourceResourceRunner<T, Z, R> sourceRunner = new SourceResourceRunner<T, Z, R>(key, width, height, fetcher,
            decoder, transformation, encoder, transcoder, diskCache, priority, engineJob);

    return new ResourceRunner<Z, R>(key, width, height, diskCache, cacheDecoder, transcoder, sourceRunner, service,
            bgHandler, engineJob);
}
项目:devfestnorte-app    文件:BitmapTypeRequest.java   
private static <A, R> FixedLoadProvider<A, ImageVideoWrapper, Bitmap, R> buildProvider(Glide glide,
        ModelLoader<A, InputStream> streamModelLoader,
        ModelLoader<A, ParcelFileDescriptor> fileDescriptorModelLoader,
        Class<R> transcodedClass,
        ResourceTranscoder<Bitmap, R> transcoder) {
        return streamModelLoader == null && fileDescriptorModelLoader == null ? null :
                new FixedLoadProvider<A, ImageVideoWrapper, Bitmap, R>(
                        new ImageVideoModelLoader<A>(streamModelLoader, fileDescriptorModelLoader),
                        transcoder != null ? transcoder : glide.buildTranscoder(Bitmap.class, transcodedClass),
                        glide.buildDataProvider(ImageVideoWrapper.class, Bitmap.class));
}
项目:devfestnorte-app    文件:ChildLoadProvider.java   
@Override
public ResourceTranscoder<Z, R> getTranscoder() {
    if (transcoder != null) {
        return transcoder;
    } else {
        return parent.getTranscoder();
    }
}