diff --git a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrFragment.kt b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrFragment.kt index bc5ef22d0c..c1e4f665ec 100644 --- a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrFragment.kt +++ b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrFragment.kt @@ -106,7 +106,6 @@ internal class ExternalCredentialScanOcrFragment : Fragment(R.layout.fragment_ex super.onViewCreated(view, savedInstanceState) applySystemBarInsets(view) Simber.i("ExternalCredentialScanOcrFragment started", tag = MULTI_FACTOR_ID) - initObservers() } override fun onResume() { @@ -147,7 +146,7 @@ internal class ExternalCredentialScanOcrFragment : Fragment(R.layout.fragment_ex } private fun initializeFragment() { - renderInitialState() + initObservers() initCamera(onComplete = { if (viewModel.isOcrActive) { startOcr() @@ -156,7 +155,7 @@ internal class ExternalCredentialScanOcrFragment : Fragment(R.layout.fragment_ex } private fun initObservers() { - viewModel.stateLiveData.observe(viewLifecycleOwner) { state -> + viewModel.scanOcrStateLiveData.observe(viewLifecycleOwner) { state -> when (state) { is ScanOcrState.ScanningInProgress -> { renderProgress(state) diff --git a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrViewModel.kt b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrViewModel.kt index b557c4895e..ff0873f996 100644 --- a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrViewModel.kt +++ b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrViewModel.kt @@ -24,7 +24,6 @@ import com.simprints.feature.externalcredential.screens.scanocr.usecase.Normaliz import com.simprints.feature.externalcredential.screens.scanocr.usecase.ZoomOntoCredentialUseCase import com.simprints.feature.externalcredential.screens.search.model.ScannedCredential import com.simprints.infra.authstore.AuthStore -import com.simprints.infra.config.store.models.ExperimentalProjectConfiguration import com.simprints.infra.config.store.models.TokenKeyType import com.simprints.infra.config.store.models.experimental import com.simprints.infra.config.store.tokenization.TokenizationProcessor @@ -64,13 +63,13 @@ internal class ExternalCredentialScanOcrViewModel @AssistedInject constructor( private set val isOcrActive: Boolean get() = detectedBlocks.isNotEmpty() - private var state: ScanOcrState = ScanOcrState.EMPTY + private var ocrState: ScanOcrState = ScanOcrState.EMPTY set(value) { field = value - _stateLiveData.postValue(value) + _scanOcrStateLiveData.postValue(value) } - private val _stateLiveData = MutableLiveData() - val stateLiveData: LiveData = _stateLiveData + private val _scanOcrStateLiveData = MutableLiveData(ocrState) + val scanOcrStateLiveData: LiveData = _scanOcrStateLiveData val finishOcrEvent: LiveData> get() = _finishOcrEvent private val _finishOcrEvent = MutableLiveData>() @@ -91,7 +90,7 @@ internal class ExternalCredentialScanOcrViewModel @AssistedInject constructor( } private fun updateState(state: (ScanOcrState) -> ScanOcrState) { - this.state = state(this.state) + this.ocrState = state(this.ocrState) } fun getDocumentTypeRes(): Int = when (ocrDocumentType) { diff --git a/feature/external-credential/src/test/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrViewModelTest.kt b/feature/external-credential/src/test/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrViewModelTest.kt index 74624f2de2..cec68f27a9 100644 --- a/feature/external-credential/src/test/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrViewModelTest.kt +++ b/feature/external-credential/src/test/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrViewModelTest.kt @@ -30,7 +30,6 @@ import kotlinx.coroutines.test.runTest import org.junit.Before import org.junit.Rule import org.junit.Test -import kotlin.concurrent.timer internal class ExternalCredentialScanOcrViewModelTest { @get:Rule @@ -104,7 +103,7 @@ internal class ExternalCredentialScanOcrViewModelTest { @Test fun `ocrStarted updates state to ScanningInProgress`() { - val observer = viewModel.stateLiveData.test() + val observer = viewModel.scanOcrStateLiveData.test() viewModel.ocrStarted() val state = observer.value() as ScanOcrState.ScanningInProgress @@ -122,7 +121,7 @@ internal class ExternalCredentialScanOcrViewModelTest { coEvery { cropDocumentFromPreviewUseCase(mockNormalizedBitmap, any()) } returns mockCroppedBitmap coEvery { getCredentialCoordinatesUseCase(mockCroppedBitmap, documentType) } returns mockDetectedBlock - val observer = viewModel.stateLiveData.test() + val observer = viewModel.scanOcrStateLiveData.test() viewModel.ocrOnFrameStarted() viewModel.runOcrOnFrame(bitmap, cropConfig) @@ -158,7 +157,7 @@ internal class ExternalCredentialScanOcrViewModelTest { coEvery { credentialImageRepository.saveCredentialScan(mockBitmap, any()) } returns zoomedImagePath val finishObserver = viewModel.finishOcrEvent.test() - val stateObserver = viewModel.stateLiveData.test() + val stateObserver = viewModel.scanOcrStateLiveData.test() viewModel.ocrStarted() // Initialises capture timing viewModel.processOcrResultsAndFinish()