diff --git a/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentPreviewFragment.kt b/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentPreviewFragment.kt index 48f1b3b06c..6d9dbb9e82 100644 --- a/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentPreviewFragment.kt +++ b/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentPreviewFragment.kt @@ -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" } -} +} \ No newline at end of file diff --git a/navi-insurance/src/main/java/com/navi/insurance/common/models/DocumentPreviewResponse.kt b/navi-insurance/src/main/java/com/navi/insurance/common/models/DocumentPreviewResponse.kt index 3133187371..f12be4d2ef 100644 --- a/navi-insurance/src/main/java/com/navi/insurance/common/models/DocumentPreviewResponse.kt +++ b/navi-insurance/src/main/java/com/navi/insurance/common/models/DocumentPreviewResponse.kt @@ -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, ) \ No newline at end of file diff --git a/navi-insurance/src/main/res/layout/document_image_preview_fragment.xml b/navi-insurance/src/main/res/layout/document_image_preview_fragment.xml index 22a88b7b9f..64d49b7278 100644 --- a/navi-insurance/src/main/res/layout/document_image_preview_fragment.xml +++ b/navi-insurance/src/main/res/layout/document_image_preview_fragment.xml @@ -24,7 +24,7 @@ app:layout_constraintBottom_toTopOf="@id/pdfLayout"/> - + + + + + + + + + + + +