From 9539f8d7f40a4affd335f9b5e94fc47256f6c084 Mon Sep 17 00:00:00 2001 From: Milen Marinov Date: Thu, 9 May 2024 17:38:09 +0300 Subject: [PATCH] [MS-437] Prevent saving of empty VM data when Fragment is destroyed and restored multiple times without being visible --- .../feature/orchestrator/OrchestratorFragment.kt | 10 +++++++--- .../usecases/response/AppResponseBuilderUseCase.kt | 1 - 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/feature/orchestrator/src/main/java/com/simprints/feature/orchestrator/OrchestratorFragment.kt b/feature/orchestrator/src/main/java/com/simprints/feature/orchestrator/OrchestratorFragment.kt index 2a7aa68aee..fe2dafb098 100644 --- a/feature/orchestrator/src/main/java/com/simprints/feature/orchestrator/OrchestratorFragment.kt +++ b/feature/orchestrator/src/main/java/com/simprints/feature/orchestrator/OrchestratorFragment.kt @@ -74,9 +74,8 @@ internal class OrchestratorFragment : Fragment(R.layout.fragment_orchestrator) { private val clientApiVm by viewModels() private val orchestratorVm by viewModels() - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) if (savedInstanceState != null) { orchestratorVm.requestProcessed = savedInstanceState.getBoolean(KEY_REQUEST_PROCESSED) savedInstanceState.getString(KEY_ACTION_REQUEST) @@ -84,6 +83,11 @@ internal class OrchestratorFragment : Fragment(R.layout.fragment_orchestrator) { orchestratorVm.restoreStepsIfNeeded() orchestratorVm.restoreModalitiesIfNeeded() } + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + observeLoginCheckVm() observeClientApiVm() observeOrchestratorVm() diff --git a/feature/orchestrator/src/main/java/com/simprints/feature/orchestrator/usecases/response/AppResponseBuilderUseCase.kt b/feature/orchestrator/src/main/java/com/simprints/feature/orchestrator/usecases/response/AppResponseBuilderUseCase.kt index e1b4e38ce6..2dd280c36d 100644 --- a/feature/orchestrator/src/main/java/com/simprints/feature/orchestrator/usecases/response/AppResponseBuilderUseCase.kt +++ b/feature/orchestrator/src/main/java/com/simprints/feature/orchestrator/usecases/response/AppResponseBuilderUseCase.kt @@ -1,6 +1,5 @@ package com.simprints.feature.orchestrator.usecases.response -import android.os.Parcelable import com.simprints.infra.orchestration.data.responses.AppErrorResponse import com.simprints.infra.config.store.models.ProjectConfiguration import com.simprints.infra.orchestration.data.ActionRequest