From 4d427bba161a87c09f87b500d852949a794f2485 Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Wed, 10 Jan 2024 15:55:13 +0200
Subject: [PATCH] Add loading for initial sync

---
 .../auth/feature/log_in/stages/LoginStagesDataSource.kt      | 5 +++++
 auth/src/main/res/values/strings.xml                         | 1 +
 2 files changed, 6 insertions(+)

diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt
index f5239c5a5..c163b972f 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt
@@ -13,6 +13,7 @@ import org.futo.circles.auth.feature.token.RefreshTokenManager
 import org.futo.circles.core.base.SingleEventLiveData
 import org.futo.circles.core.extensions.Response
 import org.futo.circles.core.extensions.createResult
+import org.futo.circles.core.model.LoadingData
 import org.futo.circles.core.provider.MatrixInstanceProvider
 import org.futo.circles.core.provider.MatrixSessionProvider
 import org.matrix.android.sdk.api.auth.registration.RegistrationResult
@@ -62,7 +63,11 @@ class LoginStagesDataSource @Inject constructor(
     }
 
     private suspend fun finishLogin(session: Session) {
+        passPhraseLoadingLiveData.postValue(
+            LoadingData(messageId = R.string.initial_sync, isLoading = true)
+        )
         MatrixSessionProvider.awaitForSessionSync(session)
+        passPhraseLoadingLiveData.postValue(LoadingData(isLoading = false))
         refreshTokenManager.scheduleTokenRefreshIfNeeded(session)
         handleKeysBackup()
         BSSpekeClientProvider.clear()
diff --git a/auth/src/main/res/values/strings.xml b/auth/src/main/res/values/strings.xml
index c66157042..a38408395 100644
--- a/auth/src/main/res/values/strings.xml
+++ b/auth/src/main/res/values/strings.xml
@@ -5,6 +5,7 @@
     <string name="blind_salt_is_missing">Blind salt is missing</string>
     <string name="b_param_is_missing">B param is missing</string>
     <string name="initial_device_name">FUTO Circles (Android)</string>
+    <string name="initial_sync">Initial sync</string>
     <string name="not_found_login_flow_for_user">Log In flow for user not found</string>
     <string name="unsupported_login_method">Unsupported login method</string>
     <string name="discard_current_login_progress">Discard current login progress?</string>
-- 
GitLab