diff --git a/virtusize/src/main/java/com/virtusize/android/VirtusizeImpl.kt b/virtusize/src/main/java/com/virtusize/android/VirtusizeImpl.kt index 4e4f6407..6c40d2a2 100644 --- a/virtusize/src/main/java/com/virtusize/android/VirtusizeImpl.kt +++ b/virtusize/src/main/java/com/virtusize/android/VirtusizeImpl.kt @@ -239,7 +239,7 @@ internal class VirtusizeImpl( virtusizeViews .filterIsInstance() .forEach { virtusizeView -> - virtusizeView.showInPageError(externalProductId) + virtusizeView.showInPageError(externalProductId, error) } } diff --git a/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeButton.kt b/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeButton.kt index 12dcd93a..f30e3b08 100644 --- a/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeButton.kt +++ b/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeButton.kt @@ -126,7 +126,9 @@ class VirtusizeButton super.setProductWithProductCheckData(productWithPDC) if (clientProduct!!.externalId == productWithPDC.externalId) { clientProduct!!.productCheckData = productWithPDC.productCheckData - visibility = View.VISIBLE + if (clientProduct?.productCheckData?.data?.validProduct == true) { + visibility = View.VISIBLE + } setupButtonTextConfiguredLocalization(virtusizeParams.language) setOnClickListener { openVirtusizeWebView(context, clientProduct!!) diff --git a/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageMini.kt b/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageMini.kt index e318c2a7..f001887a 100644 --- a/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageMini.kt +++ b/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageMini.kt @@ -13,6 +13,8 @@ import coil.ImageLoader import coil.decode.GifDecoder import coil.request.ImageRequest import com.virtusize.android.R +import com.virtusize.android.data.local.VirtusizeError +import com.virtusize.android.data.local.VirtusizeErrorType import com.virtusize.android.data.local.VirtusizeLanguage import com.virtusize.android.data.local.VirtusizeMessageHandler import com.virtusize.android.data.local.VirtusizeParams @@ -169,10 +171,19 @@ class VirtusizeInPageMini /** * @see VirtusizeInPageView.showInPageError */ - override fun showInPageError(externalProductId: String?) { + override fun showInPageError( + externalProductId: String?, + error: VirtusizeError?, + ) { if (clientProduct!!.externalId != externalProductId) { return } + + if (error?.type == VirtusizeErrorType.InvalidProduct) { + binding.root.visibility = View.GONE + return + } + binding.gifImageLayout.visibility = View.GONE binding.inpageMiniLayout.visibility = View.VISIBLE binding.inpageMiniLoadingText.visibility = View.GONE diff --git a/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageStandard.kt b/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageStandard.kt index 935b5161..2045bf3a 100644 --- a/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageStandard.kt +++ b/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageStandard.kt @@ -25,6 +25,7 @@ import coil.decode.GifDecoder import coil.request.ImageRequest import com.virtusize.android.R import com.virtusize.android.Virtusize +import com.virtusize.android.data.local.VirtusizeError import com.virtusize.android.data.local.VirtusizeErrorType import com.virtusize.android.data.local.VirtusizeLanguage import com.virtusize.android.data.local.VirtusizeMessageHandler @@ -324,11 +325,19 @@ class VirtusizeInPageStandard /** * @see VirtusizeInPageView.showInPageError */ - override fun showInPageError(externalProductId: String?) { + override fun showInPageError( + externalProductId: String?, + error: VirtusizeError?, + ) { if (clientProduct!!.externalId != externalProductId) { return } + if (error?.type == VirtusizeErrorType.InvalidProduct) { + binding.root.visibility = View.GONE + return + } + binding.gifImageLayout.visibility = View.GONE binding.inpageCardView.visibility = View.VISIBLE binding.inpageFooter.visibility = View.VISIBLE diff --git a/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageView.kt b/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageView.kt index e74462a2..ad5dd711 100644 --- a/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageView.kt +++ b/virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageView.kt @@ -3,6 +3,7 @@ package com.virtusize.android.ui import android.content.Context import android.util.AttributeSet import android.widget.RelativeLayout +import com.virtusize.android.data.local.VirtusizeError import com.virtusize.android.data.local.VirtusizeLanguage /** @@ -42,7 +43,10 @@ abstract class VirtusizeInPageView /** * An abstract function to show the InPage error screen with the associated external product ID */ - internal abstract fun showInPageError(externalProductId: String?) + internal abstract fun showInPageError( + externalProductId: String?, + error: VirtusizeError?, + ) /** * Sets the language for the view and updates all texts accordingly