diff --git a/app/src/main/kotlin/com/wire/android/ui/WireActivity.kt b/app/src/main/kotlin/com/wire/android/ui/WireActivity.kt index aca77db555..a71594ceb3 100644 --- a/app/src/main/kotlin/com/wire/android/ui/WireActivity.kt +++ b/app/src/main/kotlin/com/wire/android/ui/WireActivity.kt @@ -25,6 +25,7 @@ import android.content.Intent import android.net.Uri import android.os.Bundle import android.view.WindowManager +import androidx.activity.compose.ReportDrawnWhen import androidx.activity.compose.setContent import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity @@ -35,9 +36,11 @@ import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberUpdatedState +import androidx.compose.runtime.setValue import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.platform.LocalSoftwareKeyboardController @@ -141,6 +144,7 @@ class WireActivity : AppCompatActivity() { ) { setContent { val snackbarHostState = remember { SnackbarHostState() } + var isLoaded by remember { mutableStateOf(false) } CompositionLocalProvider( LocalFeatureVisibilityFlags provides FeatureVisibilityFlags, @@ -151,6 +155,7 @@ class WireActivity : AppCompatActivity() { ) { WireTheme { Column { + ReportDrawnWhen { isLoaded } val navigator = rememberNavigator(this@WireActivity::finish) val scope = rememberCoroutineScope() CommonTopAppBar( @@ -167,6 +172,7 @@ class WireActivity : AppCompatActivity() { // This setup needs to be done after the navigation graph is created, because building the graph takes some time, // and if any NavigationCommand is executed before the graph is fully built, it will cause a NullPointerException. setUpNavigation(navigator.navController, onComplete, scope) + isLoaded = true handleScreenshotCensoring() handleDialogs(navigator::navigate) }