NTP-25229 | increase click area on unified bottom sheet (#14467)

This commit is contained in:
Sandeep Kumar
2025-01-07 22:16:04 +05:30
committed by GitHub
parent b4878dd766
commit 3ca4015336
4 changed files with 42 additions and 4 deletions

View File

@@ -79,7 +79,7 @@ constructor(context: Context, attrs: AttributeSet? = null) : BaseNaviWidgetView(
ctaDataCallback?.invoke(ctaData)
}
}
binding?.subTitle?.addOnMultipleClicksHandler {
binding?.titleSubtitleView?.addOnMultipleClicksHandler {
footerWithTitleSubTitle?.subTitle?.cta?.let { ctaData ->
ctaDataCallback?.invoke(ctaData)
}
@@ -108,6 +108,9 @@ constructor(context: Context, attrs: AttributeSet? = null) : BaseNaviWidgetView(
?.banner
?.bannerRightTitle
?.showWhenDataIsAvailable(bannerData.rightTitle, clickListener = ctaDataCallback)
binding?.discountStripView?.addOnMultipleClicksHandler {
bannerData.rightTitle?.cta?.let { it1 -> ctaDataCallback?.invoke(it1) }
}
}
?: run {
binding?.banner?.bannerLayout?.isVisible = false
@@ -139,7 +142,7 @@ constructor(context: Context, attrs: AttributeSet? = null) : BaseNaviWidgetView(
clickableData?.parameters?.forEach { lineItem ->
if (lineItem.key == SUBTITLE_CLICK_CTA) {
val dataType = object : TypeToken<CtaData>() {}.type
binding?.subTitle?.addOnMultipleClicksHandler {
binding?.titleSubtitleView?.addOnMultipleClicksHandler {
getJsonObject<CtaData>(dataType, lineItem.value)?.let { ctaData ->
ctaDataCallback?.invoke(ctaData)
}
@@ -170,6 +173,11 @@ constructor(context: Context, attrs: AttributeSet? = null) : BaseNaviWidgetView(
)
}
if (lineItem.key == OFFER_DETAIL_RIGHT_BANNER) {
binding?.discountStripView?.addOnMultipleClicksHandler {
getJsonObject<TextFieldData>(dataType, lineItem.value)?.let { textFieldData ->
textFieldData.cta?.let { ctaData -> ctaDataCallback?.invoke(ctaData) }
}
}
updateBannerTitle(
lineItem = lineItem,
dataType = dataType,

View File

@@ -176,7 +176,7 @@ class PolicyAddonFragment : BaseFragment(), WidgetCallback, View.OnClickListener
binding.addonFooterView.getBinding().continueBtn.setOnClickListener(this)
binding.addonFooterView.getBinding().premiumDetailsText.setOnClickListener(this)
binding.addonFooterView.getBinding().viewPremiumDetailsView.setOnClickListener(this)
binding.addonFooterView.getBinding().offerTagInfoRightTv.setOnClickListener(this)
binding.addonFooterView.getBinding().quoteDiscountStripView.setOnClickListener(this)
}
private fun initObservers() {
@@ -399,7 +399,7 @@ class PolicyAddonFragment : BaseFragment(), WidgetCallback, View.OnClickListener
?.premiumDetailsV2Cta
?.let { onClick(it) } ?: run { showPremiumDetailsBottomSheet() }
}
R.id.offer_tag_info_right_tv -> {
R.id.quoteDiscountStripView -> {
sharedViewModel.quoteResponse.value
?.footerWidget
?.getOrNull(FIRST_ITEM)

View File

@@ -19,6 +19,16 @@
app:layout_constraintBottom_toTopOf="@id/divider_dash_line"
app:layout_constraintStart_toStartOf="parent" />
<View
android:id="@+id/discountStripView"
android:layout_width="@dimen/dp_0"
android:layout_height="@dimen/dp_0"
app:layout_constraintStart_toStartOf="@id/banner"
app:layout_constraintEnd_toEndOf="@id/banner"
app:layout_constraintTop_toTopOf="@id/banner"
app:layout_constraintBottom_toBottomOf="@id/banner"
android:elevation="@dimen/dp_16"/>
<View
android:id="@+id/divider_dash_line"
android:layout_width="match_parent"
@@ -77,6 +87,16 @@
app:layout_constraintStart_toStartOf="@id/title"
tools:text="View premium details" />
<View
android:id="@+id/titleSubtitleView"
android:layout_width="@dimen/dp_0"
android:layout_height="@dimen/dp_0"
app:layout_constraintStart_toStartOf="@id/title"
app:layout_constraintEnd_toEndOf="@id/sub_title"
app:layout_constraintTop_toTopOf="@id/title"
app:layout_constraintBottom_toBottomOf="@id/sub_title"
android:elevation="@dimen/dp_16"/>
<Button
android:id="@+id/button"
android:layout_marginTop="@dimen/dp_16"

View File

@@ -238,6 +238,16 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:id="@+id/quoteDiscountStripView"
android:layout_width="@dimen/dp_0"
android:layout_height="@dimen/dp_0"
app:layout_constraintStart_toStartOf="@id/offer_tag_info_card"
app:layout_constraintEnd_toEndOf="@id/offer_tag_info_card"
app:layout_constraintTop_toTopOf="@id/offer_tag_info_card"
app:layout_constraintBottom_toBottomOf="@id/offer_tag_info_card"
android:elevation="@dimen/dp_16"/>
<View
android:id="@+id/rounded_top_border"
android:layout_width="match_parent"