From 63b06d0b7afe2993103376a790d964bd13d88193 Mon Sep 17 00:00:00 2001 From: Sergejs Luhmirins Date: Tue, 23 Sep 2025 11:48:54 +0300 Subject: [PATCH] MS-1179 Update auto-capture UI state on resume after settings --- .../livefeedback/LiveFeedbackFragment.kt | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/face/capture/src/main/java/com/simprints/face/capture/screens/livefeedback/LiveFeedbackFragment.kt b/face/capture/src/main/java/com/simprints/face/capture/screens/livefeedback/LiveFeedbackFragment.kt index ed904c887c..129dc3455e 100644 --- a/face/capture/src/main/java/com/simprints/face/capture/screens/livefeedback/LiveFeedbackFragment.kt +++ b/face/capture/src/main/java/com/simprints/face/capture/screens/livefeedback/LiveFeedbackFragment.kt @@ -117,11 +117,7 @@ internal class LiveFeedbackFragment : Fragment(R.layout.fragment_live_feedback) vm.initCapture(mainVm.bioSDK, mainVm.samplesToCapture, mainVm.attemptNumber) } } - if (vm.isAutoCapture) { - // Await until capture button is pressed - vm.holdOffAutoCapture() - binding.captureFeedbackBtn.isClickable = true - } + enableCaptureButtonIfAutoCapture() binding.captureInstructionsBtn.setOnClickListener { findNavController().navigateSafely( @@ -185,9 +181,12 @@ internal class LiveFeedbackFragment : Fragment(R.layout.fragment_live_feedback) override fun onResume() { super.onResume() - when { - requireActivity().hasPermission(Manifest.permission.CAMERA) -> setUpCamera() + requireActivity().hasPermission(Manifest.permission.CAMERA) -> { + setUpCamera() + enableCaptureButtonIfAutoCapture() + } + mainVm.shouldCheckCameraPermissions.getAndSet(false) -> { // Check permission in onResume() so that if user left the app to go to Settings // and give the permission, it's reflected when they come back to SID @@ -202,6 +201,14 @@ internal class LiveFeedbackFragment : Fragment(R.layout.fragment_live_feedback) } } + private fun enableCaptureButtonIfAutoCapture() { + if (vm.isAutoCapture) { + // Await until capture button is pressed + vm.holdOffAutoCapture() + binding.captureFeedbackBtn.isClickable = true + } + } + override fun onStop() { toggleTorche(false) // Shut down our background executor