16ffcca748
* add ktlint plugin to project and apply default code style * some manual adjustments, fix wildcard imports * update CONTRIBUTING.md * fix formatting
48 lines
1.5 KiB
Kotlin
48 lines
1.5 KiB
Kotlin
@file:JvmName("ImageLoadingHelper")
|
|
|
|
package com.keylesspalace.tusky.util
|
|
|
|
import android.content.Context
|
|
import android.graphics.drawable.BitmapDrawable
|
|
import android.widget.ImageView
|
|
import androidx.annotation.Px
|
|
import com.bumptech.glide.Glide
|
|
import com.bumptech.glide.load.resource.bitmap.CenterCrop
|
|
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
|
import com.keylesspalace.tusky.R
|
|
|
|
private val centerCropTransformation = CenterCrop()
|
|
|
|
fun loadAvatar(url: String?, imageView: ImageView, @Px radius: Int, animate: Boolean) {
|
|
|
|
if (url.isNullOrBlank()) {
|
|
Glide.with(imageView)
|
|
.load(R.drawable.avatar_default)
|
|
.into(imageView)
|
|
} else {
|
|
if (animate) {
|
|
Glide.with(imageView)
|
|
.load(url)
|
|
.transform(
|
|
centerCropTransformation,
|
|
RoundedCorners(radius)
|
|
)
|
|
.placeholder(R.drawable.avatar_default)
|
|
.into(imageView)
|
|
} else {
|
|
Glide.with(imageView)
|
|
.asBitmap()
|
|
.load(url)
|
|
.transform(
|
|
centerCropTransformation,
|
|
RoundedCorners(radius)
|
|
)
|
|
.placeholder(R.drawable.avatar_default)
|
|
.into(imageView)
|
|
}
|
|
}
|
|
}
|
|
|
|
fun decodeBlurHash(context: Context, blurhash: String): BitmapDrawable {
|
|
return BitmapDrawable(context.resources, BlurHashDecoder.decode(blurhash, 32, 32, 1f))
|
|
}
|