Ошибка при использовании преобразования с Glide 4.7 - PullRequest
0 голосов
/ 06 мая 2018

Когда я перешел на новую версию Glide (4.7.1), мне пришлось внести некоторые изменения в код. Где я имел обыкновение иметь:

Glide.with(context)
        .load(url)
        .bitmapTransform(ContrastFilterTransformation(activity, BaseActivity.CONTRAST_IMAGES))
        .centerCrop()
        .diskCacheStrategy(DiskCacheStrategy.RESULT)
        .into(imageView)

Теперь у меня есть:

Glide.with(context)
        .load(url)
        .apply(
                RequestOptions()
                        .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
                        .centerCrop()
                        .transform(
                                ContrastFilterTransformation(
                                        context,
                                        BaseActivity.CONTRAST_IMAGES
                                )
                        )
        )
        .into(imageView)

Проблема в том, что теперь я получаю сообщение об ошибке ниже, и изображение не загружается. Загруженное изображение представляет собой файл JPG, загруженный из Интернета. Если я избавлюсь от трансформации, изображение будет загружено правильно. Если я избавлюсь от всего, кроме преобразования в RequestOptions, я все равно получу ошибку. Такая же ошибка происходит, если я установил .diskCacheStrategy(DiskCacheStrategy.None) Раньше он работал с Glide версии 2 и старым кодом.

I / Glide: первопричина (1 из 1) java.lang.AbstractMethodError: абстрактный метод "void com.bumptech.glide.load.Key.updateDiskCacheKey (java.security.MessageDigest)" at com.bumptech.glide.load.resource.gif.GifDrawableTransformation.updateDiskCacheKey (GifDrawableTransformation.java:67) на com.bumptech.glide.load.engine.ResourceCacheKey.updateDiskCacheKey (ResourceCacheKey.java:83) на com.bumptech.glide.load.engine.cache.SafeKeyGenerator.calculateHexStringDigest (SafeKeyGenerator.java:52) на com.bumptech.glide.load.engine.cache.SafeKeyGenerator.getSafeKey (SafeKeyGenerator.java:41) на com.bumptech.glide.load.engine.cache.DiskLruCacheWrapper.get (DiskLruCacheWrapper.java:88) на com.bumptech.glide.load.engine.ResourceCacheGenerator.startNext (ResourceCacheGenerator.java:86) на com.bumptech.glide.load.engine.DecodeJob.runGenerators (DecodeJob.java:302) на com.bumptech.glide.load.engine.DecodeJob.runWrapped (DecodeJob.java:269) на com.bumptech.glide.load.engine.DecodeJob.run (DecodeJob.java:233) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:636) на java.lang.Thread.run (Thread.java:764) at com.bumptech.glide.load.engine.executor.GlideExecutor $ DefaultThreadFactory $ 1.run (GlideExecutor.java:446)

...