From b73dc20bd5293bddeeba30c458508ee53dc75cc0 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Nicolas <6371790+pynicolas@users.noreply.github.com> Date: Tue, 3 Feb 2026 07:40:40 +0100 Subject: [PATCH] CameraScreen: avoid ghost quads when live analysis starts --- .../java/org/fairscan/app/ui/screens/camera/CameraScreen.kt | 4 ++++ .../org/fairscan/app/ui/screens/camera/CameraViewModel.kt | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraScreen.kt b/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraScreen.kt index 97557ee..8d90d82 100644 --- a/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraScreen.kt +++ b/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraScreen.kt @@ -152,6 +152,10 @@ fun CameraScreen( } } + LaunchedEffect(Unit) { + cameraViewModel.resetLiveAnalysis() + } + val listState = rememberLazyListState() LaunchedEffect(document.pageCount()) { if (!document.isEmpty()) { diff --git a/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraViewModel.kt b/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraViewModel.kt index 6af0c2e..1a42fc9 100644 --- a/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraViewModel.kt +++ b/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraViewModel.kt @@ -89,8 +89,14 @@ class CameraViewModel(appContainer: AppContainer): ViewModel() { } } + fun resetLiveAnalysis() { + quadStabilizer = QuadStabilizer() + _liveAnalysisState.value = LiveAnalysisState() + } + fun onCapturePressed(frozenImage: Bitmap) { _captureState.value = CaptureState.Capturing(frozenImage) + resetLiveAnalysis() } private fun onCaptureProcessed(captured: CapturedPage?) {