mirror of
https://github.com/divkit/divkit.git
synced 2026-05-07 20:02:32 +00:00
Prevent crash when Activity is destroyed during image loading
Pull Request resolved: 138 commit_hash:cdb44dc3db5163b0d844d2b4a1e34c4c512ac98a
This commit is contained in:
@@ -58,14 +58,15 @@ class GlideDivImageLoader @JvmOverloads constructor(
|
||||
val target = createTarget<Drawable>()
|
||||
|
||||
// load result will be handled by RequestListener to get dataSource
|
||||
Glide.with(context).load(imageUri)
|
||||
val requestManager = Glide.with(context)
|
||||
requestManager.load(imageUri)
|
||||
.set(Option.memory(KEY_SVG), SvgDecoder.isSvg(imageUrl))
|
||||
.limitImageBitmapSizeIfNeed(canLimitSize)
|
||||
.listener(ImageRequestListener(imageUrl, callback))
|
||||
.into(target)
|
||||
|
||||
return LoadReference {
|
||||
Glide.with(context).clear(target)
|
||||
requestManager.clear(target)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,10 +74,11 @@ class GlideDivImageLoader @JvmOverloads constructor(
|
||||
override fun loadImage(imageUrl: String, imageView: ImageView): LoadReference {
|
||||
val imageUri = Uri.parse(imageUrl)
|
||||
|
||||
Glide.with(context).asBitmap().load(imageUri).into(imageView)
|
||||
val requestManager = Glide.with(context)
|
||||
requestManager.asBitmap().load(imageUri).into(imageView)
|
||||
|
||||
return LoadReference {
|
||||
Glide.with(context).clear(imageView)
|
||||
requestManager.clear(imageView)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user