diff --git a/app/src/main/java/org/thoughtcrime/securesms/main/CallsNavHost.kt b/app/src/main/java/org/thoughtcrime/securesms/main/CallsNavHost.kt index 69bf630bc3..ac64959d31 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/main/CallsNavHost.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/main/CallsNavHost.kt @@ -5,12 +5,16 @@ package org.thoughtcrime.securesms.main +import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.ui.platform.LocalContext import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.compose.composable import androidx.navigation.toRoute +import org.thoughtcrime.securesms.MainNavigator import org.thoughtcrime.securesms.calls.links.EditCallLinkNameScreen import org.thoughtcrime.securesms.calls.links.details.CallLinkDetailsScreen import org.thoughtcrime.securesms.serialization.JsonSerializableNavType @@ -27,6 +31,8 @@ fun NavGraphBuilder.callNavGraphBuilder(navHostController: NavHostController) { typeOf() to JsonSerializableNavType(CallLinkRoomId.serializer()) ) ) { + informNavigatorWeAreReady() + val route = it.toRoute() CallLinkDetailsScreen(roomId = route.callLinkRoomId) @@ -37,6 +43,8 @@ fun NavGraphBuilder.callNavGraphBuilder(navHostController: NavHostController) { typeOf() to JsonSerializableNavType(CallLinkRoomId.serializer()) ) ) { + informNavigatorWeAreReady() + val route = it.toRoute() val parent = navHostController.previousBackStackEntry ?: return@composable @@ -45,3 +53,11 @@ fun NavGraphBuilder.callNavGraphBuilder(navHostController: NavHostController) { } } } + +@Composable +private fun informNavigatorWeAreReady() { + val navigator = LocalContext.current as? MainNavigator.NavigatorProvider + LaunchedEffect(navigator) { + navigator?.onFirstRender() + } +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/main/ChatsNavHost.kt b/app/src/main/java/org/thoughtcrime/securesms/main/ChatsNavHost.kt index 5a62e0538e..20e005d8a4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/main/ChatsNavHost.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/main/ChatsNavHost.kt @@ -42,6 +42,7 @@ import androidx.navigation.toRoute import kotlinx.coroutines.delay import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch +import org.thoughtcrime.securesms.MainNavigator import org.thoughtcrime.securesms.conversation.ConversationArgs import org.thoughtcrime.securesms.conversation.ConversationIntents import org.thoughtcrime.securesms.conversation.v2.ConversationFragment @@ -85,6 +86,10 @@ fun NavGraphBuilder.chatNavGraphBuilder( } } + LaunchedEffect(shouldDisplayFragment) { + (context as? MainNavigator.NavigatorProvider)?.onFirstRender() + } + if (bitmap != null) { Image( bitmap = bitmap,