Bugfix hospitals experiment (#2812)
* Rv bugfix experiments (#2790) * UI Bugfixes * Hospitals Card UI Bugfixes * Hospitals Card UI Bugfixes * Hospitals Card UI Bugfixes * hospital card text properties handling (#2795) * hospital card text properties handling * removed redundant constants Co-authored-by: Sangaraboina Rishvik Vardhan <rishvik.vardhan@navi.com>
This commit is contained in:
committed by
GitHub Enterprise
parent
8e672d5435
commit
3cfb73ea35
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ /*
|
||||
~ * Copyright © 2019 by Navi Technologies Private Limited
|
||||
~ * All rights reserved. Strictly confidential
|
||||
~ */
|
||||
-->
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
|
||||
<solid android:color="@color/white" />
|
||||
|
||||
<size
|
||||
android:width="24dp"
|
||||
android:height="24dp" />
|
||||
|
||||
<stroke
|
||||
android:color="@color/naviBorderLightGrey"
|
||||
android:width="@dimen/dp_3" />
|
||||
</shape>
|
||||
@@ -77,56 +77,67 @@
|
||||
app:visibility="@{nearByHospitalDataV2.footerText!=null}"
|
||||
tools:text="100% hospital bill covered everywhere" />
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/card_icon_primary"
|
||||
android:layout_width="@dimen/dp_34"
|
||||
android:layout_height="@dimen/dp_34"
|
||||
android:layout_marginEnd="@dimen/dp_24"
|
||||
android:theme="@style/Theme.MaterialComponents.Light"
|
||||
android:background="@drawable/gi_circle_with_grey_border"
|
||||
tools:visibility="visible"
|
||||
android:visibility="gone"
|
||||
app:cardCornerRadius="@dimen/dp_40"
|
||||
app:cardElevation="@dimen/dp_0"
|
||||
app:strokeColor="@color/naviBorderLightGrey"
|
||||
app:strokeWidth="@dimen/dp_2"
|
||||
app:layout_constraintEnd_toEndOf="@id/card_icon_secondary"
|
||||
app:layout_constraintTop_toTopOf="@id/card_icon_secondary">
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/hospital_icon_primary"
|
||||
android:layout_width="@dimen/dp_36"
|
||||
android:layout_height="@dimen/dp_36"
|
||||
android:background="@drawable/circle"
|
||||
android:layout_gravity="center"
|
||||
tools:src="@drawable/ic_navi_logo" />
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="@dimen/dp_31"
|
||||
android:layout_height="@dimen/dp_31"
|
||||
android:theme="@style/Theme.MaterialComponents.Light"
|
||||
app:cardCornerRadius="@dimen/dp_40"
|
||||
app:cardElevation="@dimen/dp_0"
|
||||
android:layout_centerInParent="true">
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
<ImageView
|
||||
android:id="@+id/hospital_icon_primary"
|
||||
android:layout_width="@dimen/dp_34"
|
||||
android:layout_height="@dimen/dp_34"
|
||||
android:scaleType="centerCrop"
|
||||
android:layout_gravity="center"
|
||||
tools:src="@drawable/ic_navi_logo" />
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/card_icon_secondary"
|
||||
android:layout_width="@dimen/dp_34"
|
||||
android:layout_height="@dimen/dp_34"
|
||||
android:layout_marginEnd="@dimen/dp_24"
|
||||
android:theme="@style/Theme.MaterialComponents.Light"
|
||||
tools:visibility="visible"
|
||||
android:visibility="gone"
|
||||
app:cardCornerRadius="@dimen/dp_40"
|
||||
app:cardElevation="@dimen/dp_0"
|
||||
app:strokeColor="@color/naviBorderLightGrey"
|
||||
app:strokeWidth="@dimen/dp_2"
|
||||
android:background="@drawable/gi_circle_with_grey_border"
|
||||
app:layout_constraintEnd_toEndOf="@+id/hospital_count"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/hospital_icon_secondary"
|
||||
android:layout_width="@dimen/dp_36"
|
||||
android:layout_height="@dimen/dp_36"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/circle"
|
||||
tools:src="@drawable/ic_navi_logo" />
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="@dimen/dp_31"
|
||||
android:layout_height="@dimen/dp_31"
|
||||
android:theme="@style/Theme.MaterialComponents.Light"
|
||||
app:cardCornerRadius="@dimen/dp_40"
|
||||
app:cardElevation="@dimen/dp_0"
|
||||
android:layout_centerInParent="true">
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
<ImageView
|
||||
android:id="@+id/hospital_icon_secondary"
|
||||
android:layout_width="@dimen/dp_34"
|
||||
android:layout_height="@dimen/dp_34"
|
||||
android:scaleType="centerCrop"
|
||||
android:layout_gravity="center"
|
||||
tools:src="@drawable/ic_navi_logo" />
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
</RelativeLayout>
|
||||
<androidx.cardview.widget.CardView
|
||||
android:id="@+id/hospital_count"
|
||||
android:layout_width="@dimen/dp_34"
|
||||
@@ -141,7 +152,6 @@
|
||||
app:visibility="@{nearByHospitalDataV2.numberOfHospitals!=null}">
|
||||
|
||||
<TextView
|
||||
style="@style/MediumTextSemiBoldGreyFontStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:ellipsize="end"
|
||||
@@ -151,7 +161,9 @@
|
||||
android:background="@drawable/circle"
|
||||
android:text="@{`+`+nearByHospitalDataV2.numberOfHospitals}"
|
||||
android:textSize="@dimen/sp_10"
|
||||
tools:text="+10" />
|
||||
android:textColor="@color/naviSubText"
|
||||
android:fontFamily="@font/navi_bold"
|
||||
tools:text="+100" />
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
<dimen name="dp_24">24dp</dimen>
|
||||
<dimen name="dp_25">25dp</dimen>
|
||||
<dimen name="dp_30">30dp</dimen>
|
||||
<dimen name="dp_31">31dp</dimen>
|
||||
<dimen name="dp_32">32dp</dimen>
|
||||
<dimen name="dp_33">33dp</dimen>
|
||||
<dimen name="dp_34">34dp</dimen>
|
||||
|
||||
@@ -8,23 +8,29 @@
|
||||
package com.navi.naviwidgets.extensions
|
||||
|
||||
import android.content.res.Resources
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.text.Html
|
||||
import android.text.InputFilter
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.navi.common.extensions.isNotNullAndNotEmpty
|
||||
import com.navi.common.extensions.setVisibilityState
|
||||
import com.navi.common.image.IconUtils
|
||||
import com.navi.common.model.ImageDetail
|
||||
import com.navi.common.utils.Constants.BOLD
|
||||
import com.navi.common.utils.Constants.EXTRA_BOLD
|
||||
import com.navi.common.utils.Constants.REGULAR
|
||||
import com.navi.common.utils.Constants.SEMI_BOLD
|
||||
import com.navi.navireusableui.edittext.FormEditText
|
||||
import com.navi.naviwidgets.R
|
||||
import com.navi.naviwidgets.models.NaviWidget
|
||||
import com.navi.naviwidgets.models.response.DrawableData
|
||||
import com.navi.naviwidgets.models.response.LabelWithInputWidget
|
||||
import com.navi.naviwidgets.models.response.MultiWidgetConstraint
|
||||
import com.navi.naviwidgets.models.response.WidgetError
|
||||
import com.navi.naviwidgets.models.response.*
|
||||
import com.navi.naviwidgets.utils.*
|
||||
import com.navi.naviwidgets.widgets.*
|
||||
import java.util.regex.Pattern
|
||||
@@ -193,6 +199,44 @@ fun TextView.setMaxCharLength(
|
||||
)
|
||||
}
|
||||
|
||||
fun TextView.setTextFieldData(textFieldData: TextFieldData?) {
|
||||
textFieldData?.let { data ->
|
||||
data.text?.let { textData ->
|
||||
text = textData
|
||||
}
|
||||
data.htmlText?.let { htmlTextData ->
|
||||
text = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
Html.fromHtml(htmlTextData, Html.FROM_HTML_MODE_COMPACT)
|
||||
} else {
|
||||
Html.fromHtml(htmlTextData)
|
||||
}
|
||||
}
|
||||
data.size?.let { size ->
|
||||
if (size > 0) {
|
||||
textSize = size.toFloat()
|
||||
}
|
||||
}
|
||||
data.textColor?.let { textColor ->
|
||||
if(isValidHexColor(textColor)) {
|
||||
setTextColor(Color.parseColor(textColor))
|
||||
}
|
||||
}
|
||||
data.font?.let {
|
||||
typeface = ResourcesCompat.getFont(context, getFontAsset(it))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun getFontAsset(fontCode: String?): Int {
|
||||
return when (fontCode) {
|
||||
BOLD -> R.font.navi_bold
|
||||
SEMI_BOLD -> R.font.navi_semi_bold
|
||||
REGULAR -> R.font.navi_regular
|
||||
EXTRA_BOLD -> R.font.navi_extra_bold
|
||||
else -> R.font.navi_regular
|
||||
}
|
||||
}
|
||||
|
||||
fun List<NaviWidget>?.getWidget(widgetId: String?): NaviWidget? {
|
||||
var widget: NaviWidget? = null
|
||||
this?.forEach {
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.navi.common.sharedpref.PreferenceManager
|
||||
import com.navi.naviwidgets.callbacks.WidgetCallback
|
||||
import com.navi.naviwidgets.databinding.HospitalCardWidgetV2LayoutBinding
|
||||
import com.navi.naviwidgets.extensions.isValidHexColor
|
||||
import com.navi.naviwidgets.extensions.setTextFieldData
|
||||
import com.navi.naviwidgets.interfaces.hospitalcard.HospitalCardWidgetV2Info
|
||||
import com.navi.naviwidgets.models.response.hospitalcard.HospitalCardProperties
|
||||
import com.navi.naviwidgets.models.response.hospitalcard.HospitalCardWidgetV2Body
|
||||
@@ -185,13 +186,13 @@ class HospitalCardWidgetV2Layout @JvmOverloads constructor(
|
||||
private fun setCardData(hospitalCardData: HospitalCardWidgetV2Body?) {
|
||||
hospitalCardData?.let { data ->
|
||||
binding.apply {
|
||||
title.text = data.title?.text ?: EMPTY
|
||||
data.description?.text?.let { descriptionText ->
|
||||
data.description?.text?.let {
|
||||
stopLoading()
|
||||
description.text = descriptionText
|
||||
description.setTextFieldData(data.description)
|
||||
}
|
||||
footerTitle.text = data.footerCardInfo?.title?.text ?: EMPTY
|
||||
footerSubtitle.text = data.footerCardInfo?.subTitle?.text ?: EMPTY
|
||||
title.setTextFieldData(data.title)
|
||||
footerTitle.setTextFieldData(data.footerCardInfo?.title)
|
||||
footerSubtitle.setTextFieldData(data.footerCardInfo?.subTitle)
|
||||
|
||||
setHospitalIcons(data.footerCardInfo?.hospitalIconUrls)
|
||||
}
|
||||
|
||||
@@ -127,8 +127,8 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/hospital_icon_2"
|
||||
android:layout_width="@dimen/layout_dp_30"
|
||||
android:layout_height="@dimen/layout_dp_30"
|
||||
android:layout_width="@dimen/layout_dp_34"
|
||||
android:layout_height="@dimen/layout_dp_34"
|
||||
tools:src="@drawable/gradient_orange"
|
||||
android:layout_marginStart="@dimen/layout_dp_28"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -136,7 +136,7 @@
|
||||
android:background="@drawable/round_outline"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="@dimen/layout_dp_0"
|
||||
|
||||
Reference in New Issue
Block a user