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 33957a011c..beb779dbde 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 @@ -213,7 +213,7 @@ internal class ExternalCredentialScanOcrFragment : Fragment(R.layout.fragment_ex instructionsText.text = getString(IDR.string.mfid_scan_instructions, documentTypeText) instructionsText.setTextColor(ContextCompat.getColor(requireContext(), IDR.color.simprints_text_white)) documentScannerArea.isVisible = true - progressContainer.isVisible = false + progressContainer.isInvisible = true buttonScan.isVisible = true buttonScan.setOnClickListener { viewModel.ocrStarted() @@ -238,7 +238,7 @@ internal class ExternalCredentialScanOcrFragment : Fragment(R.layout.fragment_ex private fun renderNoPermission(shouldOpenPhoneSettings: Boolean) { with(binding) { instructionsText.isVisible = false - progressContainer.isVisible = false + progressContainer.isInvisible = true documentScannerArea.isInvisible = true buttonScan.isVisible = false val documentTypeText = viewModel.getDocumentTypeRes().run(::getString) diff --git a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/view/DocumentScanMaskView.kt b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/view/DocumentScanMaskView.kt index 540139638d..5a42220ddf 100644 --- a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/view/DocumentScanMaskView.kt +++ b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/view/DocumentScanMaskView.kt @@ -69,13 +69,18 @@ class DocumentScanMaskView @JvmOverloads constructor( (parent as ViewGroup).findViewById(targetViewId)?.let { targetView -> canvas.drawRect(0f, 0f, width.toFloat(), height.toFloat(), bgPaint) - // Calculating target view position relative to this view - rect.setEmpty() - targetView.getGlobalVisibleRect(rect) - val offset = IntArray(2) - getLocationOnScreen(offset) - rect.offset(-offset[0], -offset[1]) +// // Calculating target view position relative to this view + val targetLocation = IntArray(2) + val maskLocation = IntArray(2) + targetView.getLocationInWindow(targetLocation) + getLocationInWindow(maskLocation) + rect.set( + targetLocation[0] - maskLocation[0], + targetLocation[1] - maskLocation[1], + targetLocation[0] - maskLocation[0] + targetView.width, + targetLocation[1] - maskLocation[1] + targetView.height, + ) // Apply inset if specified. This might be useful for QR scanners to create sense of depth insetValue?.let { inset -> val insetInt = inset.toInt() diff --git a/feature/external-credential/src/main/res/layout-land/fragment_external_credential_scan_ocr.xml b/feature/external-credential/src/main/res/layout-land/fragment_external_credential_scan_ocr.xml new file mode 100644 index 0000000000..8553b5231d --- /dev/null +++ b/feature/external-credential/src/main/res/layout-land/fragment_external_credential_scan_ocr.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +