Skip to content

Commit 5614a31

Browse files
committed
[NSDK-357] Hide component when product check returns invalid product state
- modify inpage error return to pass error type to inpageview - set inpage view to View.GONE when a product is invalid
1 parent f116717 commit 5614a31

5 files changed

Lines changed: 25 additions & 5 deletions

File tree

virtusize/src/main/java/com/virtusize/android/VirtusizeImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ internal class VirtusizeImpl(
239239
virtusizeViews
240240
.filterIsInstance<VirtusizeInPageView>()
241241
.forEach { virtusizeView ->
242-
virtusizeView.showInPageError(externalProductId)
242+
virtusizeView.showInPageError(externalProductId, error)
243243
}
244244
}
245245

virtusize/src/main/java/com/virtusize/android/ui/VirtusizeButton.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,9 @@ class VirtusizeButton
126126
super.setProductWithProductCheckData(productWithPDC)
127127
if (clientProduct!!.externalId == productWithPDC.externalId) {
128128
clientProduct!!.productCheckData = productWithPDC.productCheckData
129-
visibility = View.VISIBLE
129+
if (clientProduct?.productCheckData?.data?.validProduct == true) {
130+
visibility = View.VISIBLE
131+
}
130132
setupButtonTextConfiguredLocalization(virtusizeParams.language)
131133
setOnClickListener {
132134
openVirtusizeWebView(context, clientProduct!!)

virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageMini.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import coil.ImageLoader
1313
import coil.decode.GifDecoder
1414
import coil.request.ImageRequest
1515
import com.virtusize.android.R
16+
import com.virtusize.android.data.local.VirtusizeError
17+
import com.virtusize.android.data.local.VirtusizeErrorType
1618
import com.virtusize.android.data.local.VirtusizeLanguage
1719
import com.virtusize.android.data.local.VirtusizeMessageHandler
1820
import com.virtusize.android.data.local.VirtusizeParams
@@ -169,10 +171,16 @@ class VirtusizeInPageMini
169171
/**
170172
* @see VirtusizeInPageView.showInPageError
171173
*/
172-
override fun showInPageError(externalProductId: String?) {
174+
override fun showInPageError(externalProductId: String?, error: VirtusizeError?) {
173175
if (clientProduct!!.externalId != externalProductId) {
174176
return
175177
}
178+
179+
if (error?.type == VirtusizeErrorType.InvalidProduct){
180+
binding.root.visibility = View.GONE
181+
return
182+
}
183+
176184
binding.gifImageLayout.visibility = View.GONE
177185
binding.inpageMiniLayout.visibility = View.VISIBLE
178186
binding.inpageMiniLoadingText.visibility = View.GONE

virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageStandard.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import coil.decode.GifDecoder
2525
import coil.request.ImageRequest
2626
import com.virtusize.android.R
2727
import com.virtusize.android.Virtusize
28+
import com.virtusize.android.data.local.VirtusizeError
2829
import com.virtusize.android.data.local.VirtusizeErrorType
2930
import com.virtusize.android.data.local.VirtusizeLanguage
3031
import com.virtusize.android.data.local.VirtusizeMessageHandler
@@ -324,11 +325,19 @@ class VirtusizeInPageStandard
324325
/**
325326
* @see VirtusizeInPageView.showInPageError
326327
*/
327-
override fun showInPageError(externalProductId: String?) {
328+
override fun showInPageError(
329+
externalProductId: String?,
330+
error: VirtusizeError?,
331+
) {
328332
if (clientProduct!!.externalId != externalProductId) {
329333
return
330334
}
331335

336+
if (error?.type == VirtusizeErrorType.InvalidProduct) {
337+
binding.root.visibility = View.GONE
338+
return
339+
}
340+
332341
binding.gifImageLayout.visibility = View.GONE
333342
binding.inpageCardView.visibility = View.VISIBLE
334343
binding.inpageFooter.visibility = View.VISIBLE

virtusize/src/main/java/com/virtusize/android/ui/VirtusizeInPageView.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.virtusize.android.ui
33
import android.content.Context
44
import android.util.AttributeSet
55
import android.widget.RelativeLayout
6+
import com.virtusize.android.data.local.VirtusizeError
67
import com.virtusize.android.data.local.VirtusizeLanguage
78

89
/**
@@ -42,7 +43,7 @@ abstract class VirtusizeInPageView
4243
/**
4344
* An abstract function to show the InPage error screen with the associated external product ID
4445
*/
45-
internal abstract fun showInPageError(externalProductId: String?)
46+
internal abstract fun showInPageError(externalProductId: String?, error: VirtusizeError?)
4647

4748
/**
4849
* Sets the language for the view and updates all texts accordingly

0 commit comments

Comments
 (0)