From bfb51e188e3e33d2bdd2f087ce3059291d364775 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 30 Sep 2025 11:54:43 +0200 Subject: [PATCH] loadingNode: hide ProgressIndicator in some cases. --- .../kotlin/io/element/android/appnav/LoggedInFlowNode.kt | 2 +- .../kotlin/io/element/android/appnav/RootFlowNode.kt | 2 +- .../impl/settings/LockScreenSettingsFlowNode.kt | 2 +- .../android/libraries/ui/common/nodes/LoadingNode.kt | 9 +++++++-- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt index ddc7789302..a0622a0766 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt @@ -281,7 +281,7 @@ class LoggedInFlowNode( override fun resolve(navTarget: NavTarget, buildContext: BuildContext): Node { return when (navTarget) { - NavTarget.Placeholder -> loadingNode(buildContext) + NavTarget.Placeholder -> loadingNode(buildContext, showProgressIndicator = false) NavTarget.LoggedInPermanent -> { val callback = object : LoggedInNode.Callback { override fun navigateToNotificationTroubleshoot() { diff --git a/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt index dbd6e146f0..57aed62911 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt @@ -216,7 +216,7 @@ import timber.log.Timber return when (navTarget) { is NavTarget.LoggedInFlow -> { val matrixClient = matrixSessionCache.getOrNull(navTarget.sessionId) - ?: return loadingNode(buildContext).also { + ?: return loadingNode(buildContext, showProgressIndicator = false).also { Timber.w("Couldn't find any session, go through SplashScreen") } val inputs = LoggedInAppScopeFlowNode.Inputs(matrixClient) diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsFlowNode.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsFlowNode.kt index 4f335a3b97..2dbfcddfbc 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsFlowNode.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsFlowNode.kt @@ -95,7 +95,7 @@ class LockScreenSettingsFlowNode( override fun resolve(navTarget: NavTarget, buildContext: BuildContext): Node { return when (navTarget) { NavTarget.Loading -> { - loadingNode(buildContext) + loadingNode(buildContext, showProgressIndicator = false) } NavTarget.Unlock -> { val callback = object : PinUnlockNode.Callback { diff --git a/libraries/ui-common/src/main/kotlin/io/element/android/libraries/ui/common/nodes/LoadingNode.kt b/libraries/ui-common/src/main/kotlin/io/element/android/libraries/ui/common/nodes/LoadingNode.kt index e9a33049d7..abc22068af 100644 --- a/libraries/ui-common/src/main/kotlin/io/element/android/libraries/ui/common/nodes/LoadingNode.kt +++ b/libraries/ui-common/src/main/kotlin/io/element/android/libraries/ui/common/nodes/LoadingNode.kt @@ -15,8 +15,13 @@ import com.bumble.appyx.core.node.Node import com.bumble.appyx.core.node.node import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator -fun loadingNode(buildContext: BuildContext): Node = node(buildContext) { modifier -> +fun loadingNode( + buildContext: BuildContext, + showProgressIndicator: Boolean = true, +): Node = node(buildContext) { modifier -> Box(modifier = modifier.fillMaxSize(), contentAlignment = Alignment.Center) { - CircularProgressIndicator() + if (showProgressIndicator) { + CircularProgressIndicator() + } } }