Android Kotlin Загрузка изображения Glide: Расшифруйте ответ изображения Bytearray перед загрузкой с Glide в ImageView - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь загрузить изображения из существующего API, проблема заключается в том, что ответ изображения API REST Response приходит в виде зашифрованного байтового массива и не может быть прочитан, если не расшифрован перед загрузкой в ​​imageView.

Процесс выглядит следующим образом: LoadImage (id) -> OutputByteArray -> DecryptAES () -> DecryptedByteArray -> назначить расшифрованный bytearray / bitmap для imageView.

Я пытался искать учебники и примеры в Kotlin, чтобы сделать этот шаг, но не смогли найти соответствующие источники (я знаю о ModelLoaders и DataRetrievers, но я не мог понять, как я мог бы добавить этот простой шаг шага расшифровки через Glide

I с нетерпением ждем вашей поддержки.

Использование:


// RecyclerViewListItem.kt

  val glideUrl = GlideUrl("API_URL") { mapOf(Pair("Authorization", "Bearer $testToken")) }

  Glide.with(this.containerView).load(glideUrl).signature(ObjectKey(imageID))
                    .transition(DrawableTransitionOptions.withCrossFade()).thumbnail(0.25f)
                 .apply(RequestOptions().diskCacheStrategy(DiskCacheStrategy.AUTOMATIC).skipMemoryCache(true).override(selfReference.snapshotImage.width, selfReference.snapshotImage.height)
                            .placeholder(R.drawable.empty_result)
                    ).into(this.itemView.snapshotImage)

// before loading to imageView I need the following to be done with the API Call response:
// val decryptedByteArray = CryptoCbc.decryptAesCBC(byteArrayFromResponse, sharedSecret)
...