Debug loan offer sticky (#4430)
* add dynamic inflation of loan details list item in the bottomsheet * refactor * add more refactoring Co-authored-by: rishabh patni <rishabh.patni@navi.com>
This commit is contained in:
committed by
GitHub Enterprise
parent
44bc9a7ed2
commit
14c6992060
@@ -8,12 +8,16 @@
|
||||
package com.naviapp.personalloanrevamp.customview
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewStub
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import com.navi.common.ui.fragment.BaseBottomSheet
|
||||
import com.naviapp.R
|
||||
import com.naviapp.analytics.utils.NaviAnalytics
|
||||
import com.naviapp.databinding.LoanOfferBottomsheetDataRowBinding
|
||||
import com.naviapp.databinding.LoanOfferStickinessBottomSheetBinding
|
||||
import com.naviapp.models.response.ItemWithKeyAndValue
|
||||
import com.naviapp.models.response.LoanOfferBottomSheetData
|
||||
|
||||
class LoanOfferStickinessBottomSheetV2 : BaseBottomSheet() {
|
||||
@@ -51,9 +55,21 @@ class LoanOfferStickinessBottomSheetV2 : BaseBottomSheet() {
|
||||
R.color.white,
|
||||
R.color.outrageous_orange
|
||||
)
|
||||
it.detailsList?.forEach { item ->
|
||||
val view = getLineItemView(item)
|
||||
binding.parentDataList.addView(view, binding.parentDataList.childCount)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun getLineItemView(data: ItemWithKeyAndValue): View {
|
||||
return LoanOfferBottomsheetDataRowBinding.inflate(
|
||||
LayoutInflater.from(context), null, false
|
||||
).apply {
|
||||
this.bottomSheetListItem = data
|
||||
}.root
|
||||
}
|
||||
|
||||
override val screenName: String
|
||||
get() = arguments?.getString(KEY_SCREEN_NAME) ?: NaviAnalytics.PL_LOAN_DETAILS_BOTTOM_SHEET
|
||||
|
||||
|
||||
43
app/src/main/res/layout/loan_offer_bottomsheet_data_row.xml
Normal file
43
app/src/main/res/layout/loan_offer_bottomsheet_data_row.xml
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<data>
|
||||
|
||||
<variable
|
||||
name="bottomSheetListItem"
|
||||
type="com.naviapp.models.response.ItemWithKeyAndValue" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingLeft="@dimen/layout_dp_16"
|
||||
android:paddingRight="@dimen/layout_dp_16"
|
||||
android:paddingTop="@dimen/layout_dp_16">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/loan_amount_subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/navisans_semibold"
|
||||
android:text="@{bottomSheetListItem.key}"
|
||||
android:textColor="@color/description_color_seven"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:text="Loan Amount" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/navisans_regular"
|
||||
android:text="@{bottomSheetListItem.value}"
|
||||
android:textColor="@color/color_191919"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:text="$40,000" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
||||
@@ -18,7 +18,7 @@
|
||||
android:id="@+id/title_tv"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/_16dp"
|
||||
android:layout_marginStart="@dimen/_16dp"
|
||||
android:paddingTop="@dimen/layout_dp_24"
|
||||
android:text="@{loanDetailsBinder.title}"
|
||||
android:fontFamily="@font/tt_medium"
|
||||
@@ -28,148 +28,21 @@
|
||||
tools:text="Loan details"
|
||||
tools:ignore="MissingConstraints" />
|
||||
|
||||
<com.navi.design.textview.NaviTextView
|
||||
android:id="@+id/loan_amount_subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
<LinearLayout
|
||||
android:id="@+id/parent_data_list"
|
||||
android:layout_width="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/layout_dp_16"
|
||||
android:layout_marginTop="@dimen/layout_dp_16"
|
||||
android:text="@{loanDetailsBinder.detailsList[0].key}"
|
||||
android:fontFamily="@font/tt_regular"
|
||||
android:textColor="@color/description_color_seven"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/title_tv"
|
||||
tools:text="Loan Amount"/>
|
||||
|
||||
<com.navi.design.textview.NaviTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{loanDetailsBinder.detailsList[0].value}"
|
||||
android:fontFamily="@font/tt_regular"
|
||||
android:textColor="@color/color_191919"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintTop_toBottomOf="@id/title_tv"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginRight="@dimen/layout_dp_16"
|
||||
android:layout_marginTop="@dimen/layout_dp_16"
|
||||
tools:text="$40,000"/>
|
||||
|
||||
<com.navi.design.textview.NaviTextView
|
||||
android:id="@+id/interest_rate_subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/layout_dp_16"
|
||||
android:layout_marginTop="@dimen/layout_dp_16"
|
||||
android:text="@{loanDetailsBinder.detailsList[1].key}"
|
||||
android:fontFamily="@font/tt_regular"
|
||||
android:textColor="@color/description_color_seven"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/loan_amount_subtitle"
|
||||
tools:text="Interest Rate"/>
|
||||
|
||||
<com.navi.design.textview.NaviTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{loanDetailsBinder.detailsList[1].value}"
|
||||
android:fontFamily="@font/tt_regular"
|
||||
android:textColor="@color/color_191919"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintTop_toBottomOf="@id/loan_amount_subtitle"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginRight="@dimen/layout_dp_16"
|
||||
android:layout_marginTop="@dimen/layout_dp_16"
|
||||
tools:text="14%"/>
|
||||
|
||||
<com.navi.design.textview.NaviTextView
|
||||
android:id="@+id/tenure_subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/layout_dp_16"
|
||||
android:layout_marginTop="@dimen/layout_dp_16"
|
||||
android:text="@{loanDetailsBinder.detailsList[2].key}"
|
||||
android:fontFamily="@font/tt_regular"
|
||||
android:textColor="@color/description_color_seven"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/interest_rate_subtitle"
|
||||
tools:text="Tenure"/>
|
||||
|
||||
<com.navi.design.textview.NaviTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{loanDetailsBinder.detailsList[2].value}"
|
||||
android:fontFamily="@font/tt_regular"
|
||||
android:textColor="@color/color_191919"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintTop_toBottomOf="@id/interest_rate_subtitle"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginRight="@dimen/layout_dp_16"
|
||||
android:layout_marginTop="@dimen/layout_dp_16"
|
||||
tools:text="10 months"/>
|
||||
|
||||
<com.navi.design.textview.NaviTextView
|
||||
android:id="@+id/processing_fee_subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/layout_dp_16"
|
||||
android:layout_marginTop="@dimen/layout_dp_16"
|
||||
android:text="@{loanDetailsBinder.detailsList[3].key}"
|
||||
android:fontFamily="@font/tt_regular"
|
||||
android:textColor="@color/description_color_seven"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tenure_subtitle"
|
||||
tools:text="Processing fee"/>
|
||||
|
||||
<com.navi.design.textview.NaviTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{loanDetailsBinder.detailsList[3].value}"
|
||||
android:fontFamily="@font/tt_regular"
|
||||
android:textColor="@color/color_191919"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintTop_toBottomOf="@id/tenure_subtitle"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginRight="@dimen/layout_dp_16"
|
||||
android:layout_marginTop="@dimen/layout_dp_16"
|
||||
tools:text="$90"/>
|
||||
|
||||
<com.navi.design.textview.NaviTextView
|
||||
android:id="@+id/gst_subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/layout_dp_16"
|
||||
android:layout_marginTop="@dimen/layout_dp_16"
|
||||
android:text="@{loanDetailsBinder.detailsList[4].key}"
|
||||
android:fontFamily="@font/tt_regular"
|
||||
android:textColor="@color/description_color_seven"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/processing_fee_subtitle"
|
||||
tools:text="GST"/>
|
||||
|
||||
<com.navi.design.textview.NaviTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{loanDetailsBinder.detailsList[4].value}"
|
||||
android:fontFamily="@font/tt_regular"
|
||||
android:textColor="@color/color_191919"
|
||||
android:textSize="@dimen/spacing_14"
|
||||
app:layout_constraintTop_toBottomOf="@id/processing_fee_subtitle"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginRight="@dimen/layout_dp_16"
|
||||
android:layout_marginTop="@dimen/layout_dp_16"
|
||||
tools:text="$90"/>
|
||||
|
||||
app:layout_constraintTop_toBottomOf="@+id/title_tv"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/drawable_line"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="@dimen/_1dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/gst_subtitle"
|
||||
app:layout_constraintTop_toBottomOf="@id/parent_data_list"
|
||||
android:layout_marginTop="@dimen/_24dp"
|
||||
android:layout_marginLeft="@dimen/layout_dp_16"
|
||||
android:layout_marginRight="@dimen/layout_dp_16"
|
||||
@@ -220,5 +93,6 @@
|
||||
app:layout_constraintVertical_bias="0.052"
|
||||
/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</layout>
|
||||
Reference in New Issue
Block a user