TP-54012 | Show Error When No CIS Document Generated (#9411)

This commit is contained in:
Balrambhai Sharma
2024-01-18 14:35:44 +05:30
committed by GitHub
parent 0fbf9f31e8
commit 44956032f7
3 changed files with 99 additions and 25 deletions

View File

@@ -52,6 +52,8 @@ import com.navi.insurance.navigator.NaviInsuranceDeeplinkNavigator
import com.navi.insurance.util.EMPTY
import com.navi.insurance.util.launchHelpCenter
import com.navi.naviwidgets.callbacks.WidgetCallback
import com.navi.naviwidgets.extensions.setImageFieldData
import com.navi.naviwidgets.extensions.setTextFieldData
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
import kotlinx.coroutines.launch
@@ -87,10 +89,10 @@ class DocumentPreviewFragment : GiBaseFragment(), WidgetCallback {
PermissionBottomSheet.getInstance(
PermissionData(
permissionType =
listOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
),
listOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
),
title = getString(R.string.read_permission_title),
description = getString(R.string.read_permission_description),
primaryBtnText = getString(R.string.permission_go_to_settings_text),
@@ -207,10 +209,10 @@ class DocumentPreviewFragment : GiBaseFragment(), WidgetCallback {
binding.progressBar.visibility = View.GONE
Timber.e(error)
Toast.makeText(
context,
getString(R.string.something_went_wrong),
Toast.LENGTH_SHORT
)
context,
getString(R.string.something_went_wrong),
Toast.LENGTH_SHORT
)
.show()
}
@@ -281,20 +283,29 @@ class DocumentPreviewFragment : GiBaseFragment(), WidgetCallback {
when (documentViewState) {
is DocumentPreviewState.Failure -> {
Toast.makeText(
context,
getString(R.string.something_went_wrong),
Toast.LENGTH_SHORT
)
context,
getString(R.string.something_went_wrong),
Toast.LENGTH_SHORT
)
.show()
}
is DocumentPreviewState.Success -> {
binding.previewImageName.text = documentViewState.data?.name ?: EMPTY
binding.previewImageName.isVisible = true
if(showWebView) {
if (showWebView) {
binding.pdfView.isVisible = false
binding.progressBar.isVisible = false
binding.webView.isVisible = true
binding.webView.loadUrl(documentViewState.data?.htmlUrl.orEmpty())
documentViewState.data?.htmlUrl?.let {
binding.pageLayout.isVisible = false
binding.webView.isVisible = true
binding.webView.loadUrl(documentViewState.data.htmlUrl)
} ?: run {
binding.webView.isVisible = false
binding.titleImage.setImageFieldData(documentViewState.data?.pageData?.iconData)
binding.titleTv.setTextFieldData(documentViewState.data?.pageData?.title)
binding.subtitleTv.setTextFieldData(documentViewState.data?.pageData?.subTitle)
binding.pageLayout.isVisible = true
}
} else {
binding.webView.isVisible = false
binding.pdfView.isVisible = true
@@ -329,10 +340,10 @@ class DocumentPreviewFragment : GiBaseFragment(), WidgetCallback {
when (signCisDocumentState) {
is SignCisDocumentState.Failure -> {
Toast.makeText(
context,
getString(R.string.something_went_wrong),
Toast.LENGTH_SHORT
)
context,
getString(R.string.something_went_wrong),
Toast.LENGTH_SHORT
)
.show()
}
is SignCisDocumentState.Success -> {
@@ -402,4 +413,4 @@ class DocumentPreviewFragment : GiBaseFragment(), WidgetCallback {
companion object {
const val DOCUMENT_PREVIEW_FRAGMENT_TAG = "DocumentPreviewFragment"
}
}
}

View File

@@ -1,8 +1,7 @@
package com.navi.insurance.common.models
import com.google.gson.annotations.SerializedName
import com.navi.naviwidgets.models.response.ImageFieldData
import com.navi.naviwidgets.models.response.TextFieldData
data class DocumentPreviewResponse(
@SerializedName("header")
val header: NaviWidget? = null,
@@ -16,4 +15,14 @@ data class DocumentPreviewResponse(
val mimeType: String?,
@SerializedName("footer")
val footer: NaviWidget? = null,
@SerializedName("pageData")
val pageData: PageData? = null,
)
data class PageData(
@SerializedName("iconData")
val iconData: ImageFieldData? = null,
@SerializedName("title")
val title: TextFieldData?,
@SerializedName("subTitle")
val subTitle: TextFieldData? = null,
)

View File

@@ -24,7 +24,7 @@
app:layout_constraintBottom_toTopOf="@id/pdfLayout"/>
<com.navi.design.textview.NaviTextView
<com.navi.design.textview.NaviTextView
android:id="@+id/preview_image_name"
style="@style/MediumBoldBlackTextFontStyle"
android:layout_width="0dp"
@@ -38,7 +38,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/close_btn"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/pdfLayout"
app:layout_constraintBottom_toTopOf="@id/pdfLayout"
tools:text="IMG 45680G 45680jlfwjlsjdlzmxla IMG 45680G 45680jlfwjlsjdlzmxlaIMG 45680G 45680jlfwjlsjdlzmxla" />
<FrameLayout
android:id="@+id/header"
@@ -101,6 +101,60 @@
tools:src="@drawable/line_vertical" />
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/page_layout"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_width="match_parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_height="wrap_content">
<ImageView
android:layout_marginHorizontal="@dimen/dp_96"
android:id="@+id/title_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_32"
android:src="@drawable/ic_expired_policy"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.navi.design.textview.NaviTextView
android:id="@+id/title_tv"
style="@style/TextFontStyle"
android:layout_width="@dimen/dp_0"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_20"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/title_image"
tools:text="Sorry, we are not serving for people with pre-existing illness" />
<com.navi.design.textview.NaviTextView
android:id="@+id/subtitle_tv"
style="@style/MediumTextSemiBoldGreyFontStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_20"
android:fontFamily="@font/tt_regular"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/title_tv"
tools:text="You can by a new policy from Navi Health Insurance with waiting periods applicable" />
</androidx.constraintlayout.widget.ConstraintLayout>
<FrameLayout
android:id="@+id/footer"
android:layout_width="match_parent"