2019-05-26 08:46:08 +02:00
|
|
|
@file:JvmName("ImageLoadingHelper")
|
|
|
|
|
|
|
|
package com.keylesspalace.tusky.util
|
|
|
|
|
2019-12-30 21:37:20 +01:00
|
|
|
import android.content.Context
|
|
|
|
import android.graphics.drawable.BitmapDrawable
|
2019-05-26 08:46:08 +02:00
|
|
|
import android.widget.ImageView
|
|
|
|
import androidx.annotation.Px
|
|
|
|
import com.bumptech.glide.Glide
|
2019-10-10 18:43:48 +02:00
|
|
|
import com.bumptech.glide.load.resource.bitmap.CenterCrop
|
2019-05-26 08:46:08 +02:00
|
|
|
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
|
|
|
import com.keylesspalace.tusky.R
|
|
|
|
|
|
|
|
|
2019-10-10 18:43:48 +02:00
|
|
|
private val centerCropTransformation = CenterCrop()
|
2019-05-26 08:46:08 +02:00
|
|
|
|
|
|
|
fun loadAvatar(url: String?, imageView: ImageView, @Px radius: Int, animate: Boolean) {
|
|
|
|
|
2019-12-30 21:37:20 +01:00
|
|
|
if (url.isNullOrBlank()) {
|
2019-05-26 08:46:08 +02:00
|
|
|
Glide.with(imageView)
|
|
|
|
.load(R.drawable.avatar_default)
|
|
|
|
.into(imageView)
|
|
|
|
} else {
|
|
|
|
if (animate) {
|
|
|
|
Glide.with(imageView)
|
|
|
|
.load(url)
|
|
|
|
.transform(
|
2019-10-10 18:43:48 +02:00
|
|
|
centerCropTransformation,
|
2019-05-26 08:46:08 +02:00
|
|
|
RoundedCorners(radius)
|
|
|
|
)
|
2019-05-26 10:06:22 +02:00
|
|
|
.placeholder(R.drawable.avatar_default)
|
2019-05-26 08:46:08 +02:00
|
|
|
.into(imageView)
|
|
|
|
|
|
|
|
} else {
|
|
|
|
Glide.with(imageView)
|
|
|
|
.asBitmap()
|
|
|
|
.load(url)
|
|
|
|
.transform(
|
2019-10-10 18:43:48 +02:00
|
|
|
centerCropTransformation,
|
2019-05-26 08:46:08 +02:00
|
|
|
RoundedCorners(radius)
|
|
|
|
)
|
2019-05-26 10:06:22 +02:00
|
|
|
.placeholder(R.drawable.avatar_default)
|
2019-05-26 08:46:08 +02:00
|
|
|
.into(imageView)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
2019-12-30 21:37:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
fun decodeBlurHash(context: Context, blurhash: String): BitmapDrawable {
|
|
|
|
return BitmapDrawable(context.resources, BlurHashDecoder.decode(blurhash, 32, 32, 1f))
|
2019-05-26 08:46:08 +02:00
|
|
|
}
|