diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentUploadByCategoryFragment.kt b/android/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentUploadByCategoryFragment.kt index 7a62a6e7b0..e5b314f569 100644 --- a/android/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentUploadByCategoryFragment.kt +++ b/android/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentUploadByCategoryFragment.kt @@ -362,6 +362,7 @@ class DocumentUploadByCategoryFragment : } } documentUploadVM.decreasePendingUploadsCount() + activityVM.documentUploadStatusFlow.value = documentUploadVM.activeUploadsExists() } private fun uploadDocumentToAws(selectedFileData: SelectedFileData) { diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/claim/fragment/UploadInProgressBottomSheet.kt b/android/navi-insurance/src/main/java/com/navi/insurance/claim/fragment/UploadInProgressBottomSheet.kt index c0a37ab1d6..430a14b2a6 100644 --- a/android/navi-insurance/src/main/java/com/navi/insurance/claim/fragment/UploadInProgressBottomSheet.kt +++ b/android/navi-insurance/src/main/java/com/navi/insurance/claim/fragment/UploadInProgressBottomSheet.kt @@ -1,24 +1,30 @@ /* * - * * Copyright © 2024 by Navi Technologies Limited + * * Copyright © 2024-2025 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ package com.navi.insurance.claim.fragment +import android.os.Bundle +import android.view.View import android.view.ViewStub import androidx.databinding.DataBindingUtil +import androidx.fragment.app.activityViewModels import com.navi.insurance.R import com.navi.insurance.analytics.InsuranceAnalyticsConstants +import com.navi.insurance.claim.vm.DocumentUploadActivityVM import com.navi.insurance.common.fragment.BaseBottomSheet import com.navi.insurance.databinding.UploadInProgressBottomSheetBinding +import com.navi.insurance.util.isFalse import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint class UploadInProgressBottomSheet : BaseBottomSheet() { private var binding: UploadInProgressBottomSheetBinding? = null + private val activityVM by activityViewModels() override fun setContainerView(viewStub: ViewStub) { viewStub.layoutResource = R.layout.upload_in_progress_bottom_sheet @@ -26,6 +32,15 @@ class UploadInProgressBottomSheet : BaseBottomSheet() { initListeners() } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + activityVM.documentUploadStatusFlow.observe(this) { + if (it.isFalse()) { + safelyDismissDialog() + } + } + } + private fun initListeners() { binding?.cancelUpload?.setOnClickListener { (parentFragment as? Callback)?.onCancelUploadClicked() diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/claim/vm/DocumentUploadActivityVM.kt b/android/navi-insurance/src/main/java/com/navi/insurance/claim/vm/DocumentUploadActivityVM.kt index 4bdf8c1563..c6d5be3417 100644 --- a/android/navi-insurance/src/main/java/com/navi/insurance/claim/vm/DocumentUploadActivityVM.kt +++ b/android/navi-insurance/src/main/java/com/navi/insurance/claim/vm/DocumentUploadActivityVM.kt @@ -1,12 +1,13 @@ /* * - * * Copyright © 2024 by Navi Technologies Limited + * * Copyright © 2024-2025 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ package com.navi.insurance.claim.vm +import androidx.lifecycle.MutableLiveData import com.navi.insurance.common.GiBaseVM import com.navi.insurance.common.models.Action import com.navi.insurance.common.util.ActionHandler @@ -18,4 +19,7 @@ class DocumentUploadActivityVM @Inject constructor(actionHandler: ActionHandler) GiBaseVM(actionHandler) { var backPressAction: Action? = null var overrideBackPress: Boolean = false + private var _documentUploadStatusFlow = MutableLiveData(true) + val documentUploadStatusFlow: MutableLiveData + get() = _documentUploadStatusFlow }