diff --git a/navi-hl/src/main/java/com/navi/hl/common/models/HomeLoanCloseLoansResponse.kt b/navi-hl/src/main/java/com/navi/hl/common/models/HomeLoanCloseLoansResponse.kt index 813d3c44b6..17b9a4defe 100644 --- a/navi-hl/src/main/java/com/navi/hl/common/models/HomeLoanCloseLoansResponse.kt +++ b/navi-hl/src/main/java/com/navi/hl/common/models/HomeLoanCloseLoansResponse.kt @@ -28,6 +28,8 @@ data class HomeLoanCloseLoansContent( val addDocumentBottomSheet: HomeLoanGenericBottomSheetData? = null, @SerializedName("maxLoanAvailedBottomSheet") val maxLoanAvailedBottomSheet: HomeLoanGenericBottomSheetData? = null, + @SerializedName("insufficientLoansBottomSheet") + val insufficientLoansBottomSheet: HomeLoanGenericBottomSheetData? = null ) data class GraphData( diff --git a/navi-hl/src/main/java/com/navi/hl/steps/activity/HomeLoanStepsActivity.kt b/navi-hl/src/main/java/com/navi/hl/steps/activity/HomeLoanStepsActivity.kt index e263d620b8..8f7b0dc548 100644 --- a/navi-hl/src/main/java/com/navi/hl/steps/activity/HomeLoanStepsActivity.kt +++ b/navi-hl/src/main/java/com/navi/hl/steps/activity/HomeLoanStepsActivity.kt @@ -379,14 +379,18 @@ class HomeLoanStepsActivity : if (header?.trackerHeader?.showSideTracker.orFalse()) { binding.myDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED) updateTrackerContent() + } else { + binding.myDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED) } } override fun hideTrackerHeader() { + binding.myDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED) binding.headerWithTracker.hideHeaderWithTracker() } override fun showTrackerHeader() { + binding.myDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED) binding.headerWithTracker.showHeaderWithTracker() } diff --git a/navi-hl/src/main/java/com/navi/hl/steps/fragment/HomeLoanCloseLoansFragment.kt b/navi-hl/src/main/java/com/navi/hl/steps/fragment/HomeLoanCloseLoansFragment.kt index 808ba889d9..fce92894ad 100644 --- a/navi-hl/src/main/java/com/navi/hl/steps/fragment/HomeLoanCloseLoansFragment.kt +++ b/navi-hl/src/main/java/com/navi/hl/steps/fragment/HomeLoanCloseLoansFragment.kt @@ -180,27 +180,24 @@ class HomeLoanCloseLoansFragment : /** Update current offer progress on graph */ private fun updateCurrentOffer() { - val minWidth = dpToPxInInt(250) + val minWidth = binding.offerGraphTopView.maxOfferText.width + dpToPxInInt(80) val maxWidth = binding.offerGraphTopView.maxOfferLayout.width val weightedWidth = maxWidth - minWidth - val widthToAdd = weightedWidth * (((updatedOffer-currentOffer).toDouble())/(maximumOffer-currentOffer)) + val widthToAdd = + weightedWidth * (((updatedOffer - currentOffer).toDouble()) / (maximumOffer - currentOffer)) val updatedWidth = minWidth + widthToAdd binding.offerGraphTopView.closeLoanCurrentOfferLayout.layoutParams = binding.offerGraphTopView.closeLoanCurrentOfferLayout.layoutParams.apply { - width = - if (selectedLoansCount == openLoansCount) { - maxWidth - } else { - min(updatedWidth.toInt(), maxWidth) - } + width = min(updatedWidth.toInt(), maxWidth) } val offer = if (updatedOffer > maximumOffer) maximumOffer else updatedOffer binding.offerGraphTopView.currentOffer.text = currentOfferText.replace(AMOUNT_PLACEHOLDER, getAmountString(offer)) - if(binding.offerGraphTopView.closeLoanCurrentOfferLayout.layoutParams.width == maxWidth) { + if (binding.offerGraphTopView.closeLoanCurrentOfferLayout.layoutParams.width == maxWidth) { binding.offerGraphTopView.maxOfferText.text = getString(R.string.max_offer_availed) } else { - binding.offerGraphTopView.maxOfferText.text = binding.response?.content?.graphData?.currentOfferLabel?.text + binding.offerGraphTopView.maxOfferText.text = + binding.response?.content?.graphData?.currentOfferLabel?.text } lockLoanOffer() } @@ -286,7 +283,15 @@ class HomeLoanCloseLoansFragment : binding.response?.content?.maxLoanAvailedBottomSheet?.let { val bottomSheet = HLCommonBottomSheet.getInstance(it) safelyShowBottomSheet(bottomSheet, HLCommonBottomSheet.TAG) - bottomSheet.setCommonBottomSheetListener(this) + } + } + + private fun insufficientLoansBottomSheet() { + binding.response?.content?.insufficientLoansBottomSheet?.let { + val bottomSheet = HLCommonBottomSheet.getInstance(it) + safelyShowBottomSheet(bottomSheet, HLCommonBottomSheet.TAG) + } ?: run { + addDocumentBottomSheet() } } @@ -295,14 +300,13 @@ class HomeLoanCloseLoansFragment : val bottomSheet = HLCommonBottomSheet.getInstance(it) safelyShowBottomSheet(bottomSheet, HLCommonBottomSheet.TAG) bottomSheet.setCommonBottomSheetListener(this) - } - ?: run { moveToNextScreen(binding.response?.footer?.cta) } + } ?: run { moveToNextScreen(binding.response?.footer?.cta) } } private fun lockLoanOffer() { binding.response?.content?.graphData?.minAmountToClose?.let { - binding.offerGraphTopView.closeLoanCurrentOfferLayout.isVisible = updatedOffer >= it - if (updatedOffer < it) { + binding.offerGraphTopView.closeLoanCurrentOfferLayout.isVisible = updatedOffer > currentOffer + if (updatedOffer <= currentOffer) { binding.offerGraphTopView.lockLayout.visibility = View.VISIBLE } else { binding.offerGraphTopView.lockLayout.visibility = View.INVISIBLE @@ -349,7 +353,11 @@ class HomeLoanCloseLoansFragment : } override fun onFooterCtaClick(ctaData: CtaData?) { - addDocumentBottomSheet() + val minAmountToClose = binding.response?.content?.graphData?.minAmountToClose + if(minAmountToClose != null && (updatedOffer < currentOffer + minAmountToClose)) { + insufficientLoansBottomSheet() + } + else addDocumentBottomSheet() } override fun onFooterNextCtaClick(ctaData: CtaData?) { diff --git a/navi-hl/src/main/res/layout/layout_improve_loan_offer_graph.xml b/navi-hl/src/main/res/layout/layout_improve_loan_offer_graph.xml index 44545727e1..e6ac45e9e9 100644 --- a/navi-hl/src/main/res/layout/layout_improve_loan_offer_graph.xml +++ b/navi-hl/src/main/res/layout/layout_improve_loan_offer_graph.xml @@ -1,12 +1,4 @@ - - - @@ -87,9 +79,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_8" + android:textAlignment="textStart" android:layout_marginVertical="@dimen/dp_4" android:fontFamily="@font/navi_semi_bold" - android:paddingEnd="@dimen/dp_100" android:text="@{graphData.currentOfferLabel.text}" android:textColor="@color/description_grey_color_seven" app:layout_constraintBottom_toBottomOf="parent" @@ -97,6 +89,13 @@ app:layout_constraintTop_toTopOf="parent" tools:text="@string/max_offer_availed" /> + + + + tools:text="₹ 1.7 Cr" /> diff --git a/navi-widgets/src/main/java/com/navi/naviwidgets/utils/NaviWidgetIconUtils.kt b/navi-widgets/src/main/java/com/navi/naviwidgets/utils/NaviWidgetIconUtils.kt index 88ce7a0940..8d72c4f199 100644 --- a/navi-widgets/src/main/java/com/navi/naviwidgets/utils/NaviWidgetIconUtils.kt +++ b/navi-widgets/src/main/java/com/navi/naviwidgets/utils/NaviWidgetIconUtils.kt @@ -402,6 +402,8 @@ object NaviWidgetIconUtils { private const val ICON_SMALL_WHITE_BG_BLUE_RIGHT_ARROW = "ICON_SMALL_WHITE_BG_BLUE_RIGHT_ARROW" private const val ICON_WHITE_HOME_WITH_SEARCH = "ICON_WHITE_HOME_WITH_SEARCH" private const val ICON_EXTRA_SMALL_ORANGE_PLUS = "ICON_EXTRA_SMALL_ORANGE_PLUS" + private const val ICON_HL_BOOK_WITH_RED_TICK_GREY_BG = "ICON_HL_BOOK_WITH_RED_TICK_GREY_BG" + private const val ICON_HL_DOCUMENT_WITH_UP_ARROW_GREY_BG = "ICON_HL_DOCUMENT_WITH_UP_ARROW_GREY_BG" fun updateIcon( imageDetail: ImageDetail, @@ -829,6 +831,8 @@ object NaviWidgetIconUtils { R.drawable.ic_small_circle_blue_right_arrow_white_bg_svg ICON_WHITE_HOME_WITH_SEARCH -> R.drawable.ic_white_home_with_search_icon_svg ICON_EXTRA_SMALL_ORANGE_PLUS -> R.drawable.ic_extra_small_orange_plus_svg + ICON_HL_BOOK_WITH_RED_TICK_GREY_BG -> R.drawable.ic_hl_book_with_red_tick_grey_bg_svg + ICON_HL_DOCUMENT_WITH_UP_ARROW_GREY_BG -> R.drawable.ic_hl_document_with_up_arrow_grey_bg else -> -1 } } diff --git a/navi-widgets/src/main/res/drawable/ic_hl_book_with_red_tick_grey_bg_svg.xml b/navi-widgets/src/main/res/drawable/ic_hl_book_with_red_tick_grey_bg_svg.xml new file mode 100644 index 0000000000..094350cde1 --- /dev/null +++ b/navi-widgets/src/main/res/drawable/ic_hl_book_with_red_tick_grey_bg_svg.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + diff --git a/navi-widgets/src/main/res/drawable/ic_hl_document_with_up_arrow_grey_bg.xml b/navi-widgets/src/main/res/drawable/ic_hl_document_with_up_arrow_grey_bg.xml new file mode 100644 index 0000000000..33b77af20b --- /dev/null +++ b/navi-widgets/src/main/res/drawable/ic_hl_document_with_up_arrow_grey_bg.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + +