From 120dc6f45ec8c07545f1d58af8db9db8b9ce3f89 Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Thu, 29 Feb 2024 13:16:55 +0200
Subject: [PATCH] Add clear for provider

---
 .../circles/auth/feature/uia/UIADataSourceProvider.kt     | 5 +++++
 .../futo/circles/auth/feature/uia/UIADialogFragment.kt    | 8 +++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADataSourceProvider.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADataSourceProvider.kt
index 1471183a5..2f8aeebf3 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADataSourceProvider.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADataSourceProvider.kt
@@ -18,4 +18,9 @@ object UIADataSourceProvider {
         activeFlowType = flowType
         return factory.create(flowType).also { activeFlowDataSource = it }
     }
+
+    fun clear() {
+        activeFlowType = null
+        activeFlowDataSource = null
+    }
 }
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADialogFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADialogFragment.kt
index 84a36759e..649b6f6ed 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADialogFragment.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADialogFragment.kt
@@ -1,6 +1,7 @@
 package org.futo.circles.auth.feature.uia
 
 import android.app.Dialog
+import android.content.DialogInterface
 import android.net.Uri
 import android.os.Bundle
 import android.view.View
@@ -69,6 +70,11 @@ class UIADialogFragment :
         setupObservers()
     }
 
+    override fun onDismiss(dialog: DialogInterface) {
+        super.onDismiss(dialog)
+        UIADataSourceProvider.clear()
+    }
+
     private fun setupViews() {
         binding.toolbar.apply {
             title = getString(
@@ -110,7 +116,7 @@ class UIADialogFragment :
             when (UIADataSourceProvider.activeFlowType) {
                 UIAFlowType.Login -> viewModel.finishLogin(it)
                 UIAFlowType.Signup -> viewModel.finishSignup(it)
-                UIAFlowType.ForgotPassword->viewModel.finishForgotPassword(it)
+                UIAFlowType.ForgotPassword -> viewModel.finishForgotPassword(it)
                 else -> dismiss()
             }
         }
-- 
GitLab