From e65e14298e719c158e15531c30fdd569a0dbaff5 Mon Sep 17 00:00:00 2001 From: Hafiz Date: Wed, 27 Jul 2022 08:07:38 -0400 Subject: [PATCH] Add extension to loads PixelArtView gifs --- .../ui/views/shops/PurchaseDialogContent.kt | 3 ++- .../habitica/extensions/DataBindingUtils.kt | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialogContent.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialogContent.kt index b21c16a72..c49a79b95 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialogContent.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialogContent.kt @@ -9,6 +9,7 @@ import com.habitrpg.android.habitica.extensions.fromHtml import com.habitrpg.android.habitica.models.inventory.QuestContent import com.habitrpg.android.habitica.models.shops.ShopItem import com.habitrpg.common.habitica.extensions.dpToPx +import com.habitrpg.common.habitica.extensions.loadGif import com.habitrpg.common.habitica.extensions.loadImage import com.habitrpg.common.habitica.views.PixelArtView @@ -28,7 +29,7 @@ abstract class PurchaseDialogContent @JvmOverloads constructor( open fun setItem(item: ShopItem) { if (item.path?.contains("timeTravelBackgrounds") == true) { - // imageView.load("${DataBindingUtils.BASE_IMAGE_URL}${item.imageName?.replace("icon_", "")}.gif") + imageView.loadGif(item.imageName?.replace("icon_", "")) val params = imageView.layoutParams params.height = 147.dpToPx(context) params.width = 140.dpToPx(context) diff --git a/common/src/main/java/com/habitrpg/common/habitica/extensions/DataBindingUtils.kt b/common/src/main/java/com/habitrpg/common/habitica/extensions/DataBindingUtils.kt index 5f556ec29..1a78961a1 100644 --- a/common/src/main/java/com/habitrpg/common/habitica/extensions/DataBindingUtils.kt +++ b/common/src/main/java/com/habitrpg/common/habitica/extensions/DataBindingUtils.kt @@ -13,6 +13,7 @@ import coil.imageLoader import coil.request.ImageRequest import com.habitrpg.android.habitica.extensions.setTintWith import com.habitrpg.common.habitica.R +import com.habitrpg.common.habitica.extensions.DataBindingUtils.BASE_IMAGE_URL import com.habitrpg.common.habitica.helpers.AppConfigManager import com.habitrpg.common.habitica.views.PixelArtView import java.util.Collections @@ -34,6 +35,21 @@ fun PixelArtView.loadImage(imageName: String?, imageFormat: String? = null) { } } +fun PixelArtView.loadGif( + imageName: String?, + builder: ImageRequest.Builder.() -> Unit = {} +) { + if (imageName != null) { + val fullname = BASE_IMAGE_URL + DataBindingUtils.getFullFilename(imageName) + val request = ImageRequest.Builder(context) + .data(fullname) + .target(this) + .apply(builder) + .build() + context.imageLoader.enqueue(request) + } +} + object DataBindingUtils { fun loadImage(context: Context, imageName: String, imageResult: (Drawable) -> Unit) {