From 4b84aaa7b9621d9d8738ea84c72d906c27ba80c3 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 4 Mar 2025 17:19:31 +0200 Subject: [PATCH] =?UTF-8?q?[MS-923]=20adding=20internal=20counter=20for=20?= =?UTF-8?q?the=20amount=20of=20loaded=20candidates=20in=20MatchViewModel.?= =?UTF-8?q?=20This=20way=20the=20new=20state=20does=20need=20to=20access?= =?UTF-8?q?=20old=20state=20for=20update,=20and=20no=20longer=20exhausts?= =?UTF-8?q?=20resources=20to=20send=20updates=20to=20the=20LiveData=20obse?= =?UTF-8?q?rver=CB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/simprints/matcher/screen/MatchViewModel.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/feature/matcher/src/main/java/com/simprints/matcher/screen/MatchViewModel.kt b/feature/matcher/src/main/java/com/simprints/matcher/screen/MatchViewModel.kt index 8c428a7881..6d440d371e 100644 --- a/feature/matcher/src/main/java/com/simprints/matcher/screen/MatchViewModel.kt +++ b/feature/matcher/src/main/java/com/simprints/matcher/screen/MatchViewModel.kt @@ -34,6 +34,7 @@ internal class MatchViewModel @Inject constructor( ) : ViewModel() { var isInitialized = false private set + private var candidatesLoaded = 0 var shouldCheckPermission: Boolean = true @@ -55,11 +56,13 @@ internal class MatchViewModel @Inject constructor( else -> fingerprintMatcher } val project = configManager.getProject(authStore.signedInProjectId) + candidatesLoaded = 0 matcherUseCase(params, project).collect { matcherState -> when (matcherState) { MatcherUseCase.MatcherState.CandidateLoaded -> { (_matchState.value as? MatchState.LoadingCandidates)?.let { currentState -> - _matchState.postValue(currentState.copy(loaded = currentState.loaded + 1)) + candidatesLoaded++ + _matchState.postValue(currentState.copy(loaded = candidatesLoaded)) } }